Hints for Computer System Design

On the last day of my advanced OS course this spring we discussed one of my all-time favorite computer science papers: Butler Lampson’s Hints for Computer System Design. Why is it so good?

  • It’s hard-won advice. Designing systems is not easy — a person can spend a lifetime learning to do it well — and any head start we can get is useful.

  • The advice is broadly applicable and is basically correct, there aren’t really any places where I need to tell students “Yeah… ignore Section 3.5.”

  • There are many, many examples illustrating the hints. Some of them require a bit of historical knowledge (the paper is 30 years old) but by and large the examples stand the test of time.

  • It seems to me that a lot of Lampson’s hints were routinely ignored by the developers of large codes that we use today. I think the reason is pretty obvious: the massive increases in throughput and storage capacity over the last 30 years have permitted a great deal of sloppy code to be created. It’s nice to read a collection of clear thinking about how things could be done better.

Something that bums me out is that it’s now impossible to publish a paper like this at a top conference such as SOSP.

7 thoughts on “Hints for Computer System Design”

  1. There’s something ironic about your last-paragraph complaint appearing on a widely-read blog.

  2. Further to #1, there’s very little chance that I’d read something in SOSP. But I’d be quite likely to read something appearing on the subject on this blog.

  3. This is great to point out, thanks! Crazy to still find old good papers so close to my current research topic (incremental computation). There is a lot in this paper that doesn’t seem to have been published elsewhere!

    Why would one think of SOSP being a destination for wisdom? Conferences are hardly aggregators of wisdom, and even top conferences like SOSP/OSDI are too noisy for most people (as well as not being very focused). Focused journals would be more appropriate.

Comments are closed.