From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_FONT_LOW_CONTRAST,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 17957 invoked from network); 28 Nov 2022 14:15:41 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 28 Nov 2022 14:15:41 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 0548641BB4; Tue, 29 Nov 2022 00:15:05 +1000 (AEST) Received: from mail-il1-f172.google.com (mail-il1-f172.google.com [209.85.166.172]) by minnie.tuhs.org (Postfix) with ESMTPS id 552AC41BB3 for ; Tue, 29 Nov 2022 00:15:00 +1000 (AEST) Received: by mail-il1-f172.google.com with SMTP id x13so5046146ilp.8 for ; Mon, 28 Nov 2022 06:15:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ccc.com; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=ohfN5vyEhnyvu+GwucDBI1CLVxuGC2CCancCs6aBhPA=; b=cUH8T/OEtFAu8b+h722u6qT+8wZLkuG5Gthup4dTRZuSkafXLCi5lBEXRmr9YD/XTF 6KqZtSzaqqu+6JwAhzbYobpCblxycosxftlmxLOKtiAumXlWR1jXjWfRFOeKPk4P/GXH 8rYUdu0ZXeWtwY+9TKSjs7XmKPYCvPQrxs+jA= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ohfN5vyEhnyvu+GwucDBI1CLVxuGC2CCancCs6aBhPA=; b=yP6FeOZpWnQ6IeZIdQjOqKKWASYU8E0dWSxjmV1amJ+B7lY0+G3rudBc3C9LlB88rP cRciWt0pHRN5XZc5T7kgS9JJOx/ZZQrZ0r/ou8aN9t54iivJsU+fRhFNOzXRqmJMFKLF Q4Hv7v3ZdvdqlnVdSDBNzbxUxT5Me1evvcPk/24wZVWvRQFDJQfm6FkgHnJnt6PoC1rr FLiTy6IDvGK0K4bX65PXtOBornEpITr6ErENZ1VrNLnT/Rw/AZKsPxCei55vMDwVYZwi H2mpyBAY5iWht42dxNa5VHWBu+IczfXEO42wLQVrEfkf9N67I/y7X9tvLOnI72kBy854 9y1g== X-Gm-Message-State: ANoB5plaw/Sp5IsROBDVhI51mxoWvsJ4QI+BlW12M68aGRA3pcyqpQSO 8tE1GSW/kD4oJxpedVihx0YBU3VvYP1mUquFqZVdwQ== X-Google-Smtp-Source: AA0mqf4HPJsPlgWHNGCZEWOWMiDpCactO5wE8uP8fociuOCxYjuq3cpF8itlft0duwKsFWZkDj7cInKZTx3m6itD3sE= X-Received: by 2002:a05:6e02:108:b0:302:b8e6:deb7 with SMTP id t8-20020a056e02010800b00302b8e6deb7mr15596082ilm.247.1669644839394; Mon, 28 Nov 2022 06:13:59 -0800 (PST) MIME-Version: 1.0 References: <7C8CADAB-65AA-4841-AFA1-569A9651E56D@planet.nl> In-Reply-To: From: Clem Cole Date: Mon, 28 Nov 2022 09:13:31 -0500 Message-ID: To: Paul Ruizendaal Content-Type: multipart/alternative; boundary="0000000000008daf2d05ee887bc2" Message-ID-Hash: GCK6JYURM7MVLTRAR75PLZFXXS7K5LAR X-Message-ID-Hash: GCK6JYURM7MVLTRAR75PLZFXXS7K5LAR X-MailFrom: clemc@ccc.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tuhs.tuhs.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: The Eunuchs Hysterical Society X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: Early multiprocessor Unix List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --0000000000008daf2d05ee887bc2 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Paul, the other thing I should point out -- ghg's work was widely distributed amount the BSD licenses. I somewhat wonder why the Naval Post Grad school's work was not. My guess is that USENIX was still in its formative stages when the latter did their work, whereas, by the time of George's hack, BSD/Vaxen was being used for teaching as University timesharing systems so his 'upgrade' was a cheap solution. =E1=90=A7 On Mon, Nov 28, 2022 at 9:05 AM Clem Cole wrote: > As far as I know, the first non-commercial work was done at the Naval Pos= t > 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. > > 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. Thi= s > 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 wa= s > widely distributed. The other thing he did was splice an 11/40 onto the U= BA > of the same system for debugging - which was a pretty cool hack. He foun= d > a couple of interesting BSD kernel issues, including a famous CVE using h= is > 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. > > > =E1=90=A7 > > On Mon, Nov 28, 2022 at 8:25 AM Paul Ruizendaal 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 rela= te? >> >> 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 19= 81, >> early 1982. I think one CPU was acting as master and had exclusive kerne= l >> 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 =E2=80= =9Cspl()=E2=80=9D >> 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 ca= se >> of 2 CPU=E2=80=99s. >> >> Any other notable work in this area prior to 1985? >> >> How was the SMP implementation in SVr3 judged back in its day? >> >> Paul > > --0000000000008daf2d05ee887bc2 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Paul, the other thing I should point out -- ghg's w= ork was widely=C2=A0distributed amount the BSD licenses. I somewhat wonder = why the Naval Post Grad school's work was not.=C2=A0 =C2=A0My guess is = that USENIX was still in its formative stages when the latter did their wor= k, whereas, by the time of George's hack, BSD/Vaxen=C2=A0was being used= for teaching as University timesharing systems so his 'upgrade' wa= s a cheap solution.
3D""<= font color=3D"#ffffff" size=3D"1">=E1=90=A7

On Mon, Nov 28, 2022 at 9= :05 AM Clem Cole <clemc@ccc.com>= wrote:
As far as I know, the first non-commercial=C2=A0work was done a= t the Naval Post Grad school with V6.=C2=A0 I have never seen the code for = it,=C2=A0only a paper, so I don't know too much about it to comment.

A few years later (1980), Goble's work became the Pu= rdue 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.=C2= =A0 This was extremely effective for their usage case -- timesharing of stu= dents.=C2=A0 If we don't have the code on TUHS, we should probably=C2= =A0dig it up, as it was widely distributed. The other thing he did was spli= ce an 11/40 onto the UBA of the same system for debugging - which was a pre= tty cool hack.=C2=A0 He found a couple of interesting BSD kernel issues, in= cluding a famous CVE using his real-time monitor -- there is a USENIX paper= on that tool that is work checking out.

The first com= mercial=C2=A0MP Unix was the Masscomp MC500/MP, which was originally develo= ped as Goble-style Master/Slave and released in RTU 2.0.=C2=A0 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.=C2=A0 =C2= =A0Each uses its own lock scheme.=C2=A0 =C2=A0If you are interested, I reco= mmend getting a copy of Schimmel's book: 'Unix on Modern Processors= ' which discusses many (most) of the challenges.

<= br>
=E1=90=A7

On Mon, Nov 28, 2022 at 8:25 AM Pau= l Ruizendaal <pnr@pla= net.nl> wrote:
The discussion about the 3B2 triggered another question in my head: w= hat were the earliest multi-processor versions of Unix and how did they rel= ate?

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 ru= n on the 3B2 in a SMP setup, essentially going through the source and findi= ng all critical sections and surrounding those with spinlocks. This would b= e around 1983, and became part of SVr3. I suppose that the =E2=80=9Cspl()= =E2=80=9D calls only protected critical sections that were shared between t= he main thread and interrupt sequences, so that a manual review was necessa= ry to consider each kernel data structure for parallel access issues in the= case of 2 CPU=E2=80=99s.

Any other notable work in this area prior to 1985?

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

Paul
--0000000000008daf2d05ee887bc2--