home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.graphics:11944 comp.sys.sgi:16501 comp.unix.misc:4199 comp.unix.questions:13482
- Newsgroups: comp.graphics,comp.sys.sgi,comp.unix.misc,comp.unix.questions
- Path: sparky!uunet!stanford.edu!leland.Stanford.EDU!dhinds
- From: dhinds@leland.Stanford.EDU (David Hinds)
- Subject: Re: Interactive vs Background users
- Message-ID: <1992Nov16.211711.23401@leland.Stanford.EDU>
- Sender: news@leland.Stanford.EDU (Mr News)
- Organization: DSG, Stanford University, CA 94305, USA
- References: <1dsh2fINNeok@manuel.anu.edu.au> <1992Nov13.042252.11811@kurango.cit.gu.edu.au> <1992Nov16.194645.24617@cc.ic.ac.uk>
- Date: Mon, 16 Nov 92 21:17:11 GMT
- Lines: 35
-
- In article <1992Nov16.194645.24617@cc.ic.ac.uk> cmaae47@imperial.ac.uk writes:
- >
- >Unfortunately, this does not work for workstations. If the background
- >application is uses a large virtual memory space and pages regularly,
- >the memory space of "idle" programs gets paged out. Try a matrix inversion
- >by Gaussian elimination where the augmented matrix is more than 4 times real
- >memory.
- >
- >Whenever the user at the graphics console is in "think state", the processor
- >will run the background job, even if its priority in the back-of-beyond.
- >On Irix the kernel is locked into memory, you have a decent SCSI controller,
- >(at least with the machines I know of, i.e. PI, 4D/3xx and Indigo) and a bit
- >of real memory is kept free for swapping, and the file system attempts to
- >avoid fragmentation.
-
- How's this:
-
- - Run big background jobs with npri +160 or something, so that they
- will never preempt anything with a better priority.
-
- - When you log in to the console, start a fast but small job, like
- an empty loop, at npri +128, that will just burn idle time and
- prevent the big job from ever getting paged in. The big job will
- get zero CPU time while this job runs.
-
- - On logout, kill the CPU hog. I don't know a clean way to do this
- automatically. The big job will then start up again.
-
- One way to enforce the priority scheme would be to set a system-wide CPU
- and memory usage limits. Then have a small program analogous to 'nice',
- for starting big background jobs, that would be setuid root, and would
- both increase the resource limits and start a job at the low priority.
-
- - David Hinds
- dhinds@allegro.stanford.edu
-