The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: Warner Losh <imp@bsdimp.com>
To: Clem Cole <clemc@ccc.com>
Cc: Paul Ruizendaal <pnr@planet.nl>,
	The Eunuchs Hysterical Society <tuhs@tuhs.org>
Subject: [TUHS] Re: Early multiprocessor Unix
Date: Mon, 28 Nov 2022 07:16:11 -0700	[thread overview]
Message-ID: <CANCZdfrE0Lnnz9b+0DdirnWfCWWK_-mKo37QMp5HD3xHvPhu6A@mail.gmail.com> (raw)
In-Reply-To: <CAC20D2PQSg5cs8NohwPk4aFKvwNk32GRxwNHghN0_wCd7opkGQ@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2973 bytes --]

On Mon, Nov 28, 2022, 7:07 AM Clem Cole <clemc@ccc.com> wrote:

> As far as I know, the first non-commercial work was done at the Naval Post
> Grad school with V6.  I have never seen the code for it, only a paper, so I
> don't know too much about it to comment.
>

I tried to find the code a couple of years ago, but no joy. And the timing
suggested he may have started with/used V5, since the paper is dated June
75 and V6 was released in May 75.

Warner

A few years later (1980), Goble's work became the Purdue Vax [
> https://en.wikipedia.org/wiki/George_H._Goble] - which used a
> master-slave configuration. He spliced a second 780 CPU onto the SMB and,
> with some interesting work, allowed the second CPU to run user code.  This
> was extremely effective for their usage case -- timesharing of students.
> If we don't have the code on TUHS, we should probably dig it up, as it was
> widely distributed. The other thing he did was splice an 11/40 onto the UBA
> of the same system for debugging - which was a pretty cool hack.  He found
> a couple of interesting BSD kernel issues, including a famous CVE using his
> real-time monitor -- there is a USENIX paper on that tool that is work
> checking out.
>
> The first commercial MP Unix was the Masscomp MC500/MP, which was
> originally developed as Goble-style Master/Slave and released in RTU 2.0.
> A year later, with RTU 3.0 and the release of the MC5000 family, it was
> fully SMP.
>
> After that, several SMP UNIX started to appear.   Each uses its own lock
> scheme.   If you are interested, I recommend getting a copy of Schimmel's
> book: 'Unix on Modern Processors' which discusses many (most) of the
> challenges.
>
>
> ᐧ
>
> On Mon, Nov 28, 2022 at 8:25 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
>
>

[-- Attachment #2: Type: text/html, Size: 4853 bytes --]

  parent reply	other threads:[~2022-11-28 14:17 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-28 13:24 [TUHS] " Paul Ruizendaal
2022-11-28 13:42 ` [TUHS] " Larry Stewart
2022-11-28 14:05 ` Clem Cole
2022-11-28 14:13   ` Clem Cole
2022-11-28 14:19     ` Warner Losh
2023-08-06 14:19     ` Warner Losh
2022-11-28 14:16   ` Warner Losh [this message]
2022-11-28 14:50     ` Clem Cole
2022-11-28 16:30   ` Paul Winalski
2022-11-28 16:49     ` Clem Cole
2023-08-06 14:12   ` Warner Losh
2022-11-28 16:52 ` Jonathan Gray
2022-11-29  9:39 ` Jonathan Gray
2022-11-29 15:54   ` [TUHS] First supercomputer UNIX: The Denelcor HEP (was Early multiprocessor Unix) Ron Natalie
2022-11-29 17:00     ` [TUHS] " Jon Steinhart
2022-11-29 20:53     ` steve jenkin
2023-08-05 23:00 ` [TUHS] Re: Early multiprocessor Unix scj
2023-08-06  0:54   ` Larry McVoy
2023-08-06  6:52   ` Paul Ruizendaal
2023-08-06  9:28   ` Ronald Natalie
2023-08-06  9:57   ` Ralph Corderoy
2022-11-30  2:55 Rudi Blom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CANCZdfrE0Lnnz9b+0DdirnWfCWWK_-mKo37QMp5HD3xHvPhu6A@mail.gmail.com \
    --to=imp@bsdimp.com \
    --cc=clemc@ccc.com \
    --cc=pnr@planet.nl \
    --cc=tuhs@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).