Sequent talk at LBL (7/31)
Bill Johnston [csam]
johnston at lbl-csam
Sun Jul 21 17:42:46 AEST 1985
(Doing this from memory and hoping not to misrepresent the machine....)
The Sequent machine is a symmetric multiprocessor architecture with 2
to 12 CPU's, one memory (2 to 28 Meg), an I/O processor, etc. on a
single backplane bus. The system is characterized as a parallel
processor with dynamic load balancing, and efficient use of the
processors (e.g. little overhead for parallel operation).
The dynamic load balancing on the Sequent is accomplished in a very
straightforward way. As each process comes to the head of the run queue
it is assigned to the "least busy" processor. (This results in processes
migrating across processors frequently, e.g. potentially (and actually)
at every interrupt.) The key to the success of this scheme is that "least
busy" is a condition which is maintained in a sort of status register
associated with each CPU. This is part of the hardware support which
includes interrupt handling and memory locking. This hardware support
is, in my estimation, the key to making the Sequent machine very
"smooth" running. The hardware in question is essentially a high speed
message bus which connects each processor independently of the data
bus. The message transmission, content, interpretation, etc. is all
done in a VLSI chip designed by Sequent.
While at USENIX I had the opportunity to work on the ten processor
machine (12 Meg memory, and 4 or 5 Eagles, as I recall) which is the
development machine at the Sequent plant. With fifty users on the
machine doing the usual vi, mail, cc, etc. and with me trying to drive
the load average up with troff and greps of /usr/dict/words, my general
impression was that this machine would run rings around two or three
780's. It was easily the most responsive machine that I have ever
worked on, including single user 780's.
Not all is peaches and cream, however. The machine uses the National
32032 CPU and associated co-processors. The CPU chips are to be
compared with a VAX 750 (according to Sequent), which seems reasonable
based on my experience, but the floating point is very slow. I ran Jack
Dongara's Linpack benchmark and the result was something slower than a
730. Demonstrating the efficiency of their parallel processor
implementation however, 10 copies of the code running simultaneously
ran within 5% of the same time as one copy. Sequent claims to be
working on an alternative for the floating point processor.
One of the exciting things about this machine is that Sequent seems
to have devised and demonstrated an architecture for the efficient
use of (at least) large grained parallel processing. The architecture
of this machine seems to be nearly ideal for a timesharing environment.
Bill Johnston (WEJohnston at lbl.arpa)
More information about the Comp.unix.wizards
mailing list