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 18588 invoked from network); 28 Nov 2022 14:20:24 -0000 Received: from minnie.tuhs.org (50.116.15.146) by inbox.vuxu.org with ESMTPUTF8; 28 Nov 2022 14:20:24 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 78B4E41BC3; Tue, 29 Nov 2022 00:20:19 +1000 (AEST) Received: from mail-ej1-f53.google.com (mail-ej1-f53.google.com [209.85.218.53]) by minnie.tuhs.org (Postfix) with ESMTPS id 3F0E241BBB for ; Tue, 29 Nov 2022 00:20:16 +1000 (AEST) Received: by mail-ej1-f53.google.com with SMTP id ml11so1279453ejb.6 for ; Mon, 28 Nov 2022 06:20:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=DTEVlz9RlUt7f+IQTqW3YcnWhirKLkYw9t4mdM5jIoQ=; b=LYyUojCP+UUt3zxX+q9YBzoRBmuHtB69DDAHZFh/PjsPJoHG648769SiGWG/zHVdqA ePZyDisA8+nqq8omfqpOqqoYCIKU3nE5OurRWvVK6t7gixsRsTGqyKUqDPN9/QmXzwaj pS1a4HPuPy0kkMGzw6WMMmWTudxNleZk/ozpLWFI5dZ+CW1Ah5d4r9SDtzqwwFH7Y4aD a9SqkfsZQoS5nZYFLJfVTMRn5qilL1i6F194bxSP1t4LG+NpdfFFxGwdnMtauusF00oj MeZYLOZX2rTkG4kzegFPhB+1HNM2YeXjsvjJz+jIBL1aEAQjCk1y4GKHL1UBk9jmj3Z2 8uyg== 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=DTEVlz9RlUt7f+IQTqW3YcnWhirKLkYw9t4mdM5jIoQ=; b=fRe39K3AtV092boQfWk8q71zk5UYgnOAAZpRPaOEl6P5QFgjIyvc7xipBKc/NkTqu6 4QrS207ah2IDZUBciynZPY9xFz2m3dC25oGmEIOSt3ZCp7VWCwV+nndutV8hJjY742Ma bAlNEhC6GEqeBK3LdLVbnjYFWgByI7Sg0cT2wqWE0TYhPWdZVizGYZf+MFQVsN+3XGUt rVR0vq4B6ohifJhoVOAy/VNUZATDocd+mboUcWVlNdKaTNMChrxHvJkvPYYm5p2t1NMW 3rw7dxkmBwB6KNkPDNywjRpRiGNmThuWzRaLnhYSAvaJlM+2XAdSomWt9QKrbyRa/faQ L0cQ== X-Gm-Message-State: ANoB5pkKYO8bqnUPOcGsCtGn6PrhrzI6f2LNJyzGFVegGo/hkz5TArRP jl4knqWwlqMlpy1sSQ9HFoeALP/mkmkJk3V/oN4B2A== X-Google-Smtp-Source: AA0mqf6Nj1jos6U8cdhYF1MpOGhmW0n/pg+DfWVloNXnE6h3R1NdLhVvqFdrj0Xll7XP15PMCNB5/C+TplKdC/TF/u4= X-Received: by 2002:a17:906:22d0:b0:7b2:a7aa:173d with SMTP id q16-20020a17090622d000b007b2a7aa173dmr40480274eja.140.1669645154682; Mon, 28 Nov 2022 06:19:14 -0800 (PST) MIME-Version: 1.0 References: <7C8CADAB-65AA-4841-AFA1-569A9651E56D@planet.nl> In-Reply-To: From: Warner Losh Date: Mon, 28 Nov 2022 07:19:03 -0700 Message-ID: To: Clem Cole Content-Type: multipart/alternative; boundary="00000000000058a5cd05ee888efd" Message-ID-Hash: CD2NLTX7X73XOWMBBRDWG7TCZMJ4DBXW X-Message-ID-Hash: CD2NLTX7X73XOWMBBRDWG7TCZMJ4DBXW X-MailFrom: wlosh@bsdimp.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: Paul Ruizendaal , 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: --00000000000058a5cd05ee888efd Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, Nov 28, 2022, 7:15 AM Clem Cole wrote: > Paul, the other thing I should point out -- ghg's work was > widely distributed amount the BSD licenses. I somewhat wonder why the Nav= al > Post Grad school's work was not. My guess is that USENIX was still in i= ts > 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 > I know the Perdue work on Kirk's DVD collection.... Warner Warner 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 >> Post Grad school with V6. I have never seen the code for it, only a pap= er, >> 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. Th= is >> 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 w= as >> 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 fou= nd >> 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. >> >> >> =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: wha= t >>> 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 1= 981, >>> early 1982. I think one CPU was acting as master and had exclusive kern= el >>> access, the other CPU would only run user mode code. >>> >>> Then I understand that Keith Kelleman spent a lot of effort to make Uni= x >>> run on the 3B2 in a SMP setup, essentially going through the source and >>> finding all critical sections and surrounding those with spinlocks. Thi= s >>> 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 mai= n >>> thread and interrupt sequences, so that a manual review was necessary t= o >>> consider each kernel data structure for parallel access issues in the c= ase >>> 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 >> >> --00000000000058a5cd05ee888efd Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Mon, Nov 28, 2022, 7:15 AM Clem Cole <clemc@ccc.com> wrote:
Paul, the other thing I should point o= ut -- ghg's work 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 la= tter did their work, whereas, by the time of George's hack, BSD/Vaxen= =C2=A0was being used for teaching as University timesharing systems so his = 'upgrade' was a cheap solution.
3D""=E1=90=A7

I know the Perdue work on Kirk's DVD collectio= n....

Warner

Warner

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

<= div class=3D"gmail_default" style=3D"font-family:arial,helvetica,sans-serif= ">A few years later (1980), Goble's work became the Purdue Vax [https://en.wikipedia.org/wiki/George_H._Goble] - which use= d a master-slave configuration. He spliced a second 780 CPU onto the SMB an= d, 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 Paul Ruiz= endaal <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 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
--00000000000058a5cd05ee888efd--