Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!ll-xn!husc6!cmcl2!edler From: edler@cmcl2.NYU.EDU (Jan Edler) Newsgroups: comp.unix.wizards Subject: Re: Information on BSD 4.[23] on two/multiple processor systems Message-ID: <18673@cmcl2.NYU.EDU> Date: Thu, 6-Aug-87 17:00:36 EDT Article-I.D.: cmcl2.18673 Posted: Thu Aug 6 17:00:36 1987 Date-Received: Sat, 8-Aug-87 12:31:58 EDT References: <1112@elrond.CalComp.COM> Reply-To: edler@cmcl2.UUCP (Jan Edler) Organization: New York University, Ultracomputer project Lines: 120 Keywords: BSD 4.[23] Multiple Processor Systems By now, quite a few decent quality multiprocessor UNIX systems have been produced. I'm sure my list is pretty out of date by now, but I'm sticking a few references at the end of this message. I'll let the various vendors of such systems speak for themselves about details. If you want good performance with fairly little work, you should go with one of them. If you want to roll your own, it isn't too hard to get something simple going (like a master/slave system), provided you are already pretty familiar with the UNIX kernel and with various issues of parallel programming. But getting high performance is a lot more work. Here at NYU we have developed three multiprocessor UNIX kernels, and are working on a fourth. The first was a master/slave system based on v7, the second was a symmetric system also based primarily on v7, the third was a master/slave system based on 4.2bsd, and we're now working on a more aggressive symmetric system based on 4.3bsd. As an intermediate stage of this new version, we're also doing a "floating master/slave" system, where most of the kernel is only executed by one processor at a time, but it isn't always the same processor. Schemes like master/slave are relatively easy because they work by trying to preserve, to a great extent, the uniprocessor semantics that are assumed throughout a standard UNIX kernel. The better you do that, the easier the job, but when you serialize things you sacrifice performance, especially as the number of processors increases. If your application mix is not kernel-intensive, it can still give quite good performance. A more parallel kernel requires extensive modifications to eliminate those uniprocessor assumptions. Some of the references below already do a reasonable job of explaining this. In many cases the job of producing a multiprocessor UNIX kernel is also tied up with the mundane issues of porting to a different machine, possibly with a different MMU, etc.; these factors should not be ignored. There are also a host of additional issues that arise if you are interested in larger numbers of processors; critical sections that are entirely acceptable on smaller machines can become easily become bottlenecks. Here are some references: %T The U\s-2NIX\s0 System: Multiprocessor U\s-2NIX\s0 Systems %A M. J. Bach %A S. J. Buroff %J AT&T Bell Laboratories Tech. J. %V 63 %N 8 %D Oct. 1984 %P 1733-1750 %K unix bltj 3b20 %X Good description of basic approach to a symmetric UNIX kernel %T M\s-2UNIX\s0, A Multiprocessing Version of U\s-2NIX\s0 %A John A. Hawley,\0III %A Walter B. Meyer %R M.S. Thesis %I Naval Postgraduate School %C Monterey, California %D June 1975 %K hawley munix unix pdp11 %X Possibly the earliest project to put UNIX on a multiprocessor. %T A Dual Processor \s-2VAX\s0 11/780 %A George H. Goble %A Michael H. Marsh %R Tech. Report TR-EE 81-31 %D Sept. 1981 %I Purdue University %K master slave unix vax multiprocessor %X An early master/slave UNIX system that attracted a lot of attention. %T VLSI Assist in Building a Multiprocessor U\s-2NIX\s0 System %A Bob Beck %A Bob Kasten %J Proc. USENIX Conf. %D Summer, 1985 %P 255-275 %K sequent balance 8000 dynix unix %T A Multiple CPU Version of the U\s-2NIX\s0 Kernel %A Eric J. Finger %A Michael M. Krueger %A Al Nugent %J Proc. USENIX Conf. %D Winter, 1985 %P 11-22 %K masscomp unix %T The Design of the U\s-2NIX\s0 Operating System %A Maurice J. Bach %I Prentice-Hall %C Englewood Cliffs, New Jersey %D 1986 %K unix internals book %T Considerations for Massively Parallel U\s-2NIX\s0 Systems on the NYU Ultracomputer and IBM RP3 %A Jan Edler %A Allan Gottlieb %A Jim Lipkis %J Proc. USENIX conf. %D Winter, 1986 %T An Overview of the NYU Ultracomputer Project %A Allan Gottlieb %R NYU Ultracomputer Note #100 %I New York University %C New York %D 1986 %K ucn100 ---------------------- Jan Edler NYU Ultracomputer Project edler@nyu ...!cmcl2!edler (212) 998-3353