Supplemental Readings for Graduate Students

Each graduate student will read and present a technical paper in class. Each paper will be a case study of a real distributed systems. Developing a good lecture requires some work. Students will follow this procedure:
  • Three weeks beforehand, read the paper carefully, producing an outline and jotting down any questions as you go.
  • Two weeks beforehand, meet with Prof. Thain to discuss the paper.
  • Create slides for a lecture of about 40 minutes.
  • One week beforehand, meet with Prof. Thain to go over your slides.
  • On the appointed day, give a brilliant lecture! Reserve ten minutes for the end for open discussion.
  • Each talk should follow this rough outline:
  • Problem: What is the problem that is being solved? What need does the user have that this system addresses?
  • General Solution: What is the general philosophy of the system described? Are there any constraints on how it must be designed or operated?
  • Architecture: Describe the structure of the system, carefully indicating all of the major components and how they interact.
  • Examples: Describe in detail how the system operates in the common cases. Carefully indicate step-by-step what messages are exchanged and what interactions take place.
  • Hard Cases: Every system has a few "hard cases" that must deal with failures, contention, and other unexpected problems. Pick one or two hard cases and describe precisely how they are handled.
  • Results: If the paper describes experimental results, describe the most important results, and what conclusions can be drawn from them.
  • Recapitulation: Restate the problem and the solution method. Oftentimes, working through the examples will allow for a better understanding and a more precise statement of the problem.
  • Discussion: Propose two or three questions for discussion.
  • Following are papers for the supplemental readings:
  • N. Carriero and D. Gelernter,
    The S/Net's Linda Kernel,
    ACM Transactions on Computer Systems, 4:2, May 1986, pp. 110-129.
  • Douglas Thain, Todd Tannenbaum, and Miron Livny,
    Condor and the Grid,
    in Fran Berman, Anthony J.G. Hey, Geoffrey Fox, editors, Grid Computing: Making The Global Infrastructure a Reality, John Wiley, 2003. ISBN: 0-470-85319-0
  • Bryan Ford, Jacob Strauss, Chris Lesniewski-Laas, Sean Rhea, Frans Kaashoek, and Robert Morris,
    Persistent Personal Names for Globally Connected Mobile Devices, USENIX Symposium on Operating Systems Design and Implementation, 2006.
  • Ion Stoica, et al,
    Chord: A Scalable Peer-to-peer Lookup Protocol for Internet Applications,
    ACM SIGCOMM Conference, 2001.
  • Sage Weil, Scott Brandy, Ethan Miller, and Darrell Long,
    Ceph: A Scalable, High-Performance Distributed File System,
    USENIX Symposium on Operating Systems Design and Implementation, 2006.
  • Jeffrey Dean and Sanjay Ghemawat,
    MapReduce: Simplified Data Processing on Large Clusters,
    USENIX Symposium on Operating Systems Design and Implementation, 2004.