[TUHS] Early multiprocessor Unix

Ronald Natalie ron at ronnatalie.com
Sun Aug 6 19:28:06 AEST 2023


The first foray into multiprocessor UNIX for us was to build one of the 
Purdue University dual vaxes (where they took the SBI terminator out, 
built some special cables to flipped around, and to stick a second CPU 
in that location.    Not too much later we got a multiprocessor Gould 
SEL machine (also with Purdue’s hack to BSD as the OS).

BRL had contracted to buy a Denelcor HEP, which was a MIMD machine 
capable of running 32 or so parallel tasks.    Each one could be divided 
into multiple processes (what we would call a thread the days).   The 
regular memory had a semaphore per word (called a full-empty bit) that 
allowed you to create a bunch of threads and let the hardware itself 
schedule them.    There were four Process Execution Modules (each with 8 
processors) that were interconnected by a fast memory switch, alll 10800 
ECL.

The thing was booted up from a PDP-11/34 front end through an interface 
aptly named the “low speed bus”.    Mike Muuss suggested we could put 
UNIX on the thing and nobody could come up with a reason why not, so we 
ported the same 4 BSD kernel that the dual vaxes were using.   Oddly, 
there were some bad things in the BSD kernel that needed to be fixed 
(notably “conversion by union” that wouldn’t work on this architecture). 
     After the initial boot up, we found that the thing couldn’t run 
I/O’s very quickly as they I/Os were routed through the “low speed bus.” 
     The hardware designer (Burton Smith) and me literally designed a new 
I/O interface on napkins at the local steakhouse, the Golden Corral, and 
built the thing out of spare parts.     I donated another PDP-11/34 to 
the task.

The I/O system was a fun system, the thing had 32 Unibuses connected to 
a memory cache for the main processor.    You could hit the CSRs on the 
Unibuses virtually through mapped memory addresses.    Interrupts 
weren’t the traditional sense but rather a new kernel task was spawned 
to handle it.

-Ron



More information about the TUHS mailing list