From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bryan.Cantrill@eng.sun.com (Bryan Cantrill) Date: Thu, 27 Nov 2003 14:13:36 -0800 (PST) Subject: [TUHS] Anybody with a copy of this paper? In-Reply-To: <20031127213207.GA94121@minnie.tuhs.org> from Warren Toomey at "Nov 28, 2003 07:32:07 am" Message-ID: <200311272213.hARMDaJA515395@jurassic.eng.sun.com> Warren, > On Thu, Nov 27, 2003 at 07:58:56PM +1000, Warren Toomey wrote: > > Hi all, would anybody have a copy of this paper: > > Multiprocessor UNIX operating systems. > > Bach, M.J., and Buroff. S.J. > > Bell Systems. Tech. J. 63. 8 (Oct. 1984) 1733-1749. > > Thanks to Grant Maziels and Brantley Coile who have offered to scan it > in for me. Actually, I just realised that I might have this paper buried > in a pile of papers at work, so I'll dig for it when I get in this morning. If it helps you find it, that BSTJ has a yellow cover, and the words "The UNIX System" in Star Wars-esque font. (It _was_ 1984, after all.) > I'm trying to build up a history of the publicly available documents that > describe SMP in UNIX (i.e methods and techniques, not code), and so I'm > after papers, books, theses, seminar writeups etc. Once I've done this, Much of the state-of-the-art hasn't been too widely disseminated. The know-how lives/lived in a handful of companies -- notably SGI, Sequent, and Sun. Unfortunately, we (the industry) haven't done a good job discussing our experiences -- and as a result there's a huge amount of misunderstanding out there. (Usually in the form of fear-and-loathing about the cost of synchronization primitives or complete ignorance about the software ramifications of snoopy protocols.) The best book out there is definitely Curt Schimmel's "UNIX Systems for Modern Architectures." One could almost certainly write a second volume to this (and a third, and a fourth), but the audience is very, very small. In terms of papers outlining somewhat more recent techniques, check out Bonwick and Adams, "Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources." This was presented at USENIX in 2001; see http://www.parrotcode.org/talks/vmem.pdf. Unfortunately, we (the industry) never wrote a paper on the tools we use to improve the scalability of UNIX. SGI and Sun both have "lockstat" tools; you can google each. (Sun's lockstat shipped in Solaris 2.6; if you have a Solaris box, you can man lockstat.) Presumably other vendors have tools as well; to the best of my knowledge none of us ever described them in a refereed paper. And should you be interested in an arcane postmortem technique that I developed to find false-sharing, see Cantrill, "Postmortem Object Type Identification." I presented this at AADEBUG 2003; it can be found at http://arxiv.org/pdf/cs.SE/0309037. It will be interesting to hear about what else you find... - Bryan ---------------------------------------------------------------------------- Bryan Cantrill, Solaris Kernel Development. bmc at eng.sun.com (650) 786-3652