[TUHS] Anybody with a copy of this paper?

Bryan Cantrill Bryan.Cantrill at eng.sun.com
Fri Nov 28 08:13:36 AEST 2003


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


More information about the TUHS mailing list