Subject: Re: Vast piles of Workstations
To: Neal Harvey <nealh@aisb.ed.ac.uk>
From: Curt Sampson <curt@portal.ca>
List: port-sun3
Date: 02/16/1996 10:45:27
As you point out, Neal, we do end up with a lot of CPUs and usually
no disk (though these days that's not so expensive to put on, given
that used 500MB drives are starting to float around for less than
$200) and sometimes no monitor. However, the other thing we tend
to be missing is RAM, because it's not yet gotten dirt cheap, and
a fair number of those Sun 3 CPUs out there seem to be 3/50s, which
have little prospect of an upgrade. Ideally we want to set things
up to get as much processing power out of a 3/50 as possible.

So it seems to me the obvious thing to do is to go partway down
the Xkernel route, removing everything not strictly necessary from
the kernel and stripping down everything else as well. We can start
with the disk and console drivers.

What about using a 486 or Sparc or whatever as an NFS/swap server?
If we have a common read-only root and /usr partitions and a small
/var for each workstation (with /tmp -> /var/tmp) we now have a
bunch of machines that share the same passwd file and the like. We
also need to mount our common data directories wherever we want them.

Now what if we remove the normal init and instead replace it with
a program that informs a central job server that it's ready to run
a job? A client with a job hands it to the job server, and the job
server hands it to a free CPU, which chugs away at it and does
little else. When the job's done, the CPU hands the results back
to the job server, which then puts the CPU back on the free list.
CPUs might also keep an eye on their memory and CPU usage, and ask
for a second job if the first one is very small.

cjs

Curt Sampson    curt@portal.ca		Info at http://www.portal.ca/
Internet Portal Services, Inc.	
Vancouver, BC   (604) 257-9400		De gustibus, aut bene aut nihil.