Are fileservers a waste of money

Aaron Sloman aarons%cogs.sussex.ac.uk at nsfnet-relay.ac.uk
Thu May 11 20:57:31 AEST 1989


munnari!trlamct.oz.au!paul at uunet.uu.net (Paul Elliott) writes:
[I've abbreviated quite a bit]

> fileserver	Sun3/260	16M memory	xylogics 451
> 						1 x fujitsu eagle
> 						1 x fujitsu swallow
> 1 x client	Sun3/60		12M memory	(lisp programming)
> 3 x clients	Sun3/50		4M memory	(lisp programming)
> 2 x clients	Sun3/50		4M memory	(C & fortran)
> The performance of the above network can deteriorate markedly as swapping
> activity increases.
>
> We will be adding some extra clients over the next few months and wish to
> upgrade the existing hardware and/or buy a more powerful server.
>
> What we would like to know is where to spend the money.

Here is an unconventional answer: Do as much of your AI-type programming
as possible on a powerful central server with a lot of memory (> 32 Mbytes
if possible) and use your 3/50s and 3/60s only to manage windowing and
graphics. This works fine with a networked window manager.

This recommendation is based on the following assumptions:

1. each user is mostly typing into an editor and using a relatively small
working set much of the time, but occasionally requires a large working
set, causing paging on a small machine.

2. programs are rarely CPU-bound (not true if you are doing image
processing or neural net simulations, for example).

3. each user is going to need a garbage collection (GC) every now and
again, and when that happens (especially on a 4 Mbyte machine running a
big program) there will be an awful lot of paging across ethernet to the
server. This will slow EVERYTHING down.

4. Disk traffic is enormously reduced if enough memory is available during
a GC to avoid paging.

5. If a lot of the memory is allocated to a process when it requires a GC
this will generally interfere with other processes FAR less than all the
paging would.

6. Assuming (2) above, the gains obtained from 5, plus the fact that the
server has a much faster processor, considerably outweigh the losses
resulting from having to share the server CPU. (This argument becomes even
stronger if the server is a Sun-4, or something even more powerful.)

7. The only way to get equivalent performance without putting all your
lisp processes on the server is to buy so much memory for each diskless
machine that it does not need to page during a GC. This will generally be
a far more expensive solution.

The above argument will not apply to all patterns of work. Eg. if your
program is doing a LOT of graphics and screen manipulation, doing it over
ethernet from the server could be worse than the paging during garbage
collections.

However, my belief is that for many kinds of teaching and research, the
best approach is to time share a large powerful central machine using
relatively cheap workstations to handle windowing and graphics. We do
this, and even have some VDU users logging through to the server.

Aaron Sloman,
School of Cognitive and Computing Sciences,
Univ of Sussex, Brighton, BN1 9QN, England
    INTERNET: aarons%uk.ac.sussex.cogs at nsfnet-relay.ac.uk
              aarons%uk.ac.sussex.cogs%nsfnet-relay.ac.uk at relay.cs.net
    JANET     aarons at cogs.sussex.ac.uk
    BITNET:   aarons%uk.ac.sussex.cogs at uk.ac
        or    aarons%uk.ac.sussex.cogs%ukacrl.bitnet at cunyvm.cuny.edu

    UUCP:     ...mcvax!ukc!cogs!aarons
            or aarons at cogs.uucp



More information about the Comp.sys.sun mailing list