Do OS's slow down with age? (was: DDJ article / UNIX vs BS/2)

Wonderly gregg at ihlpb.ATT.COM
Sat Jan 14 01:42:01 AEST 1989


>From article <7172 at batcomputer.tn.cornell.edu>, by riley at batcomputer.tn.cornell.edu (Daniel S. Riley):
> In article <12938 at steinmetz.ge.com> davidsen at crdos1.UUCP (bill davidsen) writes:
>>In article <1472 at cps3xx.UUCP> rang at cpswh.cps.msu.edu (Anton Rang) writes:
>>|   There is a lot of process creation overhead in VMS.  On the other
>>| hand, you don't need to create a process every time you do anything
>>| (as UNIX does).  In fact, most "basic" users (edit/compile/link) will
>>| log in and use only their one process (or maybe two, if they have a
>>| background editing process).
>>
>>  I talked to a few VAX support people again, and they agree about
>>process creation. Unfortunately VMS does what's called "image
>>activation" which still results in reading a program from disk,
>>establishing an environment (in the VMS sense) and all the things UNIX
>>calls a subprocess, except accounting. This happens when you start the
>>editor, compiler, linker, run the program, etc. It still isn't cheap in
>>terms of system resources.
> 
> The image activation overhead is tiny compared to the process creation
> overhead.  Image activation is like process creation on a UN*X system--
> cheap and fast.  Process creation, on the other hand, is miserably
> expensive under VMS.

I once had this feeling, but believe it actually depends on what kind of
process you create.  Using LIB$SPAWN is expensive because DCL is along
for the ride.  If you use SYS$CREPRC directly, you can rid yourself of
a lot of bagage.

> 
> I tend to think that the process creation overhead is a bigger problem
> than previous posters have admitted.
> ...
> An 8600 makes a great one or two-user system, but put
> any more on it, and the process creation overhead starts to get very
> annoying.

I was really annoyed by the response time of the 750 that I used to
manage.  There were a lot of people using TeX and others running compute
bound fortran programs that manipulated huge arrays (Math and Stat
department computer).  I wrote a long term scheduler to run as a detached
process.  It watches state transitions, percent CPU utilization and uses
the LOAD-AVERAGES driver to manipulate batch queues as things get busy.

It separates the users into two groups, those at base prio 4 and those
at base prio 5.  When it determines that you are busy with the CPU, it
will put you into the 4 group.  When you become idle again it puts you
back into the 5 group (login interactive base prio is 5).  The
granularity is set at 7 seconds which provides a very comfortable
transition.  With 3 people running CPU bound an interactive user can type
SPAWN and get a subprocess instantaneously.  If the user goes compute
bound for too long, base priority will be adjusted accordingly.

Facilities are available to adjust priorities unconditionally on a per
process bases.  I intended to put identifier controlled algorythms in,
but never got the chance.

> I expect this problem to get worse as DEC implements more advanced user
> interfaces under VMS.  DEC will probably be at least one step behind
> companies like Apollo in user interface design for the foreseeable
> future, and I think the process creation overhead is a major reason
> for this.  (I could also go on about DECNET network overhead, but that's
> a bit off the topic.)

Some major reasons for the short falls in performance are:

	1)	QUANTUM==20 is too long, try 15 or 10 and you will see a marked
		change in response times.

	2)  I/O boosts and most other related priority manipulations by VMS
		are too short sighted.  I.E. a priority boost of 1 is lost for
		each quantum that is completed without surrendering the CPU.
		To begin with, priority boosts are not necessary if compute
		bound process are degradated properly.


-- 
Gregg Wonderly                             DOMAIN: gregg at ihlpb.att.com
AT&T Bell Laboratories                     UUCP:   att!ihlpb!gregg



More information about the Comp.unix.questions mailing list