🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.arch
Article #1997

Re: Memory utilization & inter-process

#1997
From: Grahame Budd
Date: Fri, 25 Aug 1989 10:25
27 lines
2849 bytes
In article <261500008@S34.Prime.COM> BEAR@S34.Prime.COM writes:
>
>    I believe what you're looking for is a working set scheduler. In a
>nutshell, this type of scheduler pages a job against itself rather than
>against the system (i.e. the pool of available pages belongs to the process
>(rather than the system) and is of a size set by the system when then process
>is created). Unfortunately, I can't think of an available OS that uses a WS
>scheduler off the top of my head (that doesn't mean they don't exist!). Good
>luck.
>
>Bob Beckwith

The VME operating system from ICL(UK) uses this technique and extends it by     maintaining working set 'quota's for both jobs and classes of jobs. For example all interactive development work has a store 'quota' which is the sum of the    quotas of the active, (i.e. paged in, ready to run), work in that class. The    total of all quotas is normally less than the total available real store, the   rest is then shared between needy processes by priority.

When a process is created it has a start quota which can be modified, (within   limits), as the work runs to reflect changing demands. Processes work well when the actual working set is less than the working set quota. 

The technique is refined by the concept of 'policy'. A policy is a set of       scheduling values which define processor priority, store priority, timeslice    values, comms priority and quotas. Each class of work is assigned to a policy   which then defines how work of a given class competes against other classes of  work. Work which exceeds the values set in its policy is demoted so that, for   example, an interactive user who starts doing long compilations in foreground   will have his process demoted s





o that it runs in a batch-like rather than interactive-like way.

The actual system is more detailed than this, for example a process which holds a resource required by a higher priority process is given the higher priority   until the resource is released. However for a system which makes decisions at   the kernel level on a milisecond by milisecond basis, and as such cannot use toomuch system resource, it works very well. 

Together with higher level schedulers, which adjust policy values, assign work  to classes and adjust quotas, the system as a whole gives very good mixed       workload performance.
Technical Details
Message-ID: <201@iclswe.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!cs.utexas.edu!uunet!mcsun!sunic!iclswe!gmb
References: <3332@blake.acs.washington.edu> <261500008@S34.Prime.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.csd.uwm.edu!cs.utexas.edu!uunet!mcsun!sunic!iclswe!gmb
From: gmb@iclswe.UUCP (Grahame Budd)
Newsgroups: comp.arch
Subject: Re: Memory utilization & inter-process
Message-ID: <201@iclswe.UUCP>
Date: 25 Aug 89 10:25:39 GMT
References: <3332@blake.acs.washington.edu> <261500008@S34.Prime.COM>
Reply-To: gmb@iclswe.UUCP (Grahame Budd)
Organization: ICL Data AB  S-194 85 Upplands-Vasby  SWEDEN
Lines: 21