[net.unix-wizards] p_nice, and scheduling

mike.rice%rand-relay@sri-unix.UUCP (08/02/83)

From:  Mike.Caplinger <mike.rice@rand-relay>

We are (unfortunately) in the position of running a lot of niced
background compute-bound processes on our 4.1 11/750.  Usually about 3
of these jobs are running at a nice of (usually) 4.  Subjectively, it
seems that these jobs are killing the system, in spite of their
niceness.  I theorize that it's because the system is constantly
swapping them in and out as interactive jobs become ready to run and
then wait for input again.

Exactly what effect does nice have in the scheduler?  I've looked at
the code, but it isn't immediately obvious.  Why did UCB change the
default nice (10 in /bin/nice) to 4 in the builtin nice in the Cshell?
If I change the Cshell default back to 10, will that help, hurt, or
make any difference?

If it helps, the machine config is a 750 with FPA, dual Unibus, 1 ra81,
and 4 Meg of memory.  The average size of the background processes is
about 1 Meg, sometimes higher.

Reply to me at mike.rice@rand-relay, and I will summarize to the net.
Thanks much, everybody.

crc@clyde.UUCP (08/10/83)

Actually, nice has very little efect on the system, the not niced procs
run first, then the niced ones. If it needs to be niced, run it at night or
get another cpu.

(Vax 11/780: a pretty good personal computer.)
Charles Colbert
clyde!crc

notes@CSvax:Pucc-H:pur-phy.UUCP (08/11/83)

#R:sri-arpa:-374800:pur-phy:12700016:000:625
pur-phy!crl    Aug 11 10:46:00 1983

Running a program niced does indeed have a good effect on the system.
We have a PDP-11/44 and run 2.8 bsd.  About 1 1/2 years ago, we implemented
a system where one a user logged out, his/her jobs would be niced to
25.  On our system, nice values range from 0-39, 20 being the default.
Having almost any reasonable number of these niced jobs in the background
is almost like having none at all, at least, that's how it looks to
interactive jobs.  On a busy day, I've seen these jobs not get a second
of runtime for 4-5 hours at a time.  It's definitely a win to do this.

Charles LaBrec
pur-ee!Physics:crl
purdue!Physics:crl

obrien@rand-unix@sri-unix.UUCP (08/11/83)

This message is empty.

bob@ucla-locus@sri-unix.UUCP (08/16/83)

From:            Bob English <bob@ucla-locus>

I suspect that nice works fine as long as you have sufficient
real memory to prevent excessive swapping.  On systems where
memory is scarce, not only doesn't it help, it promotes
thrashing.  The scenario runs like this:

1) A large, niced program doesn't run for a while, and gets swapped
	out.
2) The scheduler notices that nobody's running (it only takes a
	moment), and decides to swap the program back in.
3) Once in, the program gets pre-empted and swapped back out.

That's wha happened on our 11/45 under v7, anyway.

--bob--