6.033 Handout 8

ASSIGNMENT: March 14 through March 20

For Recitation: Tuesday, March 14

Your one-page reading report should address the following question regarding the end-to-end argument (Saltzer et al., "End-To-End Arguments in System Design", reading #20). Translation between different byte-order schemes is sometimes a significant source of overhead, especially when it occurs at multiple points between two communicating parties (D. Cohen, "On holy wars and a plea for peace", reading #21). The X Window system deals with both big-endian and little-endian clients by providing two different network ports. Big-endian clients send requests and data to one port, while little-endian clients send requests and data to the other. The server may, of course, be implemented on either a big-endian or a little-endian machine. This approach is unusual. Discuss this design decision in terms of the end-to-end argument.

For Lecture, Wednesday, March 15

A new topic in 6.033: naming. Naming is a topic that typically is superficially treated in most systems subjects, although it is one of the most fundamental issues in systems. Many properties in computer systems and languages can be phrased as naming questions. We will see how naming is done in virtual memory systems, file systems, the domain name system (name system for the Internet), and the WWW. We will also see that scoping and inheritance in programming languages are naming issues. To get prepared read Saltzer, Chapter 5.A, reading #23.

For Recitation, Thursday, March 16

Read the paper by Birrell et al., "Grapevine: an exercise in distributed computing", reading #24. Another interesting naming scheme can be found in Tanenbaum, Sec. 14.2.

The Grapevine system employs a "loose" definition of consistency of its distributed registration database. Although "convergence" is guaranteed, administrative updates of the database are not atomic across all servers. This property can lead to surprises for an administrator who is accustomed to thinking of Grapevine as a single server. As a personal exercise, describe at least one sequence of actions that a single administrator can perform to the registration database that can produce unexpected results of errors.

If you like to read more, there was a follow-up paper on experience with Grapevine published two years later in ACM Transactions on Computer Systems, Feb. 1984.

For Lecture, Friday, March 17

The writing program will provide a special lecture on the topic of writing technical papers such as 6.033 case studies. There is no reading assignment.

For Lecture, Monday, March 20

Second and last lecture on naming. Read Saltzer's Chapter 5.C, reading #23.


System Aphorism of the Week: A system takes longer to debug than you expect, even when you take this fact into account.