crunchers and 'nice'
utzoo!decvax!pur-ee!bruner
utzoo!decvax!pur-ee!bruner
Tue Jan 19 11:30:06 AEST 1982
On the Purdue (Engineering) network machines, we added another p_flag
which is known as the "research bit". This bit is set in clock()
when a process accumulates more than "tschd" seconds of CPU time.
Processes with a "nice" less than PZERO are immune to this action.
(There are also provisions to turn it off if the job does a lot of
terminal waiting.) This bit increases (degrades) the running
priority of a job, and also invokes some disfavored swapping
algorithms. For instance, one change (very helpful on 11/45's)
prevents runnable "research" jobs for which there is no main memory
available (i.e. can't be swapped in without something else going out)
from coming in for "swait" seconds. Non-"research" jobs are not
subject to this provision. This cuts down swapping (a critical
factor on small machines). The combination of the degraded priority
and disfavored swapping on the crunchers gives short, interactive
programs good response time. "tschd" and "swait" can be patched
with a debugger to allow some operator adjustment when the load is high.
We also have a "nicer" facility, and a "forced rollout" at 127 (V6)
39 (V7). We implemented "nicer" as a system call with the same
semantics as "kill" (0 gets all processes in the process group, etc.)
In addition, any user is permitted to use "nicer" to increase p_nice
for his own processes.
--John Bruner
More information about the Comp.unix.wizards
mailing list