Monday, January 17, 2011

Hints for Computer System Design by Butler W. Lampson

This is a paper from 1983 published in ACM OS'83. It could be regarded as a blueprint paper for computer system design. It includes lots of hints and proposal as how to build/improve the design of a typical computer systems. Although author suggests to take it "in small doses at bedtime", I suspect that it should be read at once and put as a reference publication who want to design computer system.

Paper sits on a three important features. These are "Functionality", "Speed" and "Fault Tolerance". And each features is explained further under three different topics such as: "Completeness", "Interface" and "Implementation". Sections are decorated with beautiful words from different authors mostly from computer science. Here is one: "Algo 60 was not only an improvement on its predecessors but also on nearly all its successors" by (C. Hoare) where I suppose the founder of the algorithm for the Quick Sort.

There are lots of points in the paper that should be stated, however since it is verbose and no need explanation in most parts I suggest to read the paper from the link that I provided below. However, there are some points that I should note: for example, a designer should keep in mind that neither abstraction nor simplicity is a substitue for "getting it right" (Functionality). Another important point that I thought to be important is the constant tension between the desire to improve a design and the need for stability. I mostly have encountered this tension during my design and it might also be thought with the "fault tolerance". On the other hand one should keep the basic, essential parts stable while trying to improve the other parts constantly.

References:


No comments:

Post a Comment