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 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. > ᐧ > 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 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. 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 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 >> >>