There's a 1975 paper about an MP Unix at the Naval Postgraduate School by Hawley and Meyer.

https://calhoun.nps.edu/handle/10945/20959


On Nov 28, 2022, at 8:28 AM, Paul Ruizendaal <pnr@planet.nl> wrote:

The discussion about the 3B2 triggered another question in my head: what were the earliest multi-processor versions of Unix and how did they relate?

My current understanding is that the earliest one is a dual-CPU VAX system with a modified 4BSD done at Purdue. This would have been late 1981, early 1982. I think one CPU was acting as master and had exclusive kernel access, the other CPU would only run user mode code.

Then I understand that Keith Kelleman spent a lot of effort to make Unix run on the 3B2 in a SMP setup, essentially going through the source and finding all critical sections and surrounding those with spinlocks. This would be around 1983, and became part of SVr3. I suppose that the “spl()” calls only protected critical sections that were shared between the main thread and interrupt sequences, so that a manual review was necessary to consider each kernel data structure for parallel access issues in the case of 2 CPU’s.

Any other notable work in this area prior to 1985?

How was the SMP implementation in SVr3 judged back in its day?

Paul