RTV teaching

CMPT 300

logo image


This class presents ideas using original research papers. This may be new to many of you. You may find this advice from John Brewer of USC [link] helpful.

For each topic (approximately one topic per week), read the indicated sections from the textbook and the research papers.

"CDK X[.Y]" indicates a chapter (X) and section (Y) of the textbook: Distributed Systems Concepts and Design; 3rd Edition., G.Coulouris, J. Dollimore, T. Kindberg, Addison-Wesley Longman, 2001. The textbook readings are recommended but not essential.

You must submit an original short written summary of each paper. These will be marked pass/fail. Unsubmitted papers are failed. You must pass all but two of the papers to receive a passing final grade. Summaries should be submitted on paper in the drop box in CSIL by the end of the week that the paper is discussed in class. You must write your summary before the class discussion, but you may revise it after the class and before submission.

This is a draft list and is subject to minor changes.

Weekly Reading list

  1. Introduction
    1. H. Saltzer, D.P. Reed and D.D. Clark. End-To-End Arguments in System Design. Proceedings of the 2nd International Conference on Distributed Systems, 509-512, April 1981. [HTML]
    2. D.P. Reed, The End of the End-to-End Argument, April 2000. [PDF]
    3. CDK 1, 2
  2. Remote Procedure Calls and NFS
    1. Implementing Remote Procedure Calls. Andrew Birrell, Bruce Jay Nelson (1984) ACM Transactions on Computer Systems 2:1 pp39-59. [PDF]
    2. Design and Implementation of the Sun Network Filesystem. Russel Sandberg, David Goldberg, Steve Kleiman, Dan Walsh, Bob Lyon (1985) USENIX Summer 1985 Technical Conference [PDF]
    3. CDK 3,4,5
  3. Time in Distributed Systems
    1. Time, Clocks and the Ordering of Events in a Distributed System. Leslie Lamport (1978) Communications of the ACM 21:7 pp558-565 [PDF]
    2. (one more)
    3. CDK 11 (4th ed.) or 10 (3rd ed.)
  4. Systems from a high level
    1. Tim Berners-Lee, Information Management: A Proposal, CERN Technical Note, 1989 (the original proposal for the system that became the WWW)
    2. Hints for Computer System Design. Butler Lampson. (1983) Operating Systems Review 15, pp33-18. [PDF]
  5. Server design
    1. Why Threads Are A Bad Idea (for most purposes). John Ousterhout (1996) Invited talk at USENIX Technical Conference. [PDF]
    2. Why Events Are A Bad Idea (for high-concurrency servers). Rob von Behren, Jeremy Condit and Eric Brewer (2003) HotOS IX (9th Workshop on Hot Topics in Operating Systems) [PDF]
    3. CDK 6
  6. Multi-processor process scheduling
    1. (one more)
    2. (one more)
  7. Security & Authentication
    1. A Logic of Authentication. Michael Burrows, Martin Abadi (1990) ACM Transactions on Computer Systems 8:1 pp18-36. [PDF]
    2. (one more)
    3. CDK 7
  8. Synchronization 1: Atomic actions
    1. Implementing Atomic Actions on Decentralized Data. David P. Reed (1983) ACM Transactions on Computer Systems, Vol.1, No. 1, February 1983, pp.3-23 [PDF]
    2. Weighted Voting for Replicated Data. David K. Gifford (1979) ACM, December 1979 [PDF]
    3. CDK 13
  9. Synchronization 2: Reliable Partially Ordered Broadcast
    1. Preserving and Using Context Information in Interprocess Communication. Larry L. Peterson, Nick C. Buchholz, and Richard D. Schlichting (1989). ACM Transactions on Computer Systems, Vol.7, No.3, August 1989, pp.217-246 [PDF]
    2. (one more)
  10. Large systems at Google
    1. Jeffrey Dean and Sanjay Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, Sixth Symposium on Operating System Design and Implementation, San Francisco, CA, December, 2004.
    2. Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, The Google File System. 19th ACM Symposium on Operating Systems Principles, Lake George, NY, October, 2003.
  11. Soft real-time: Player Robot Device Server
    1. Most Valuable Player: A robot device server for distributed control. Brian Gerkey, Richard Vaughan, Kasper Stoy, Andrew Howard, Gaurav Sukhatme, Maja Mataric. (2001) Proc. IEEE Int. Conf. Intelligent Robotic Systems, Maui, Hawaii. (IROS'01) [PDF]
    2. On device abstractions for portable, resuable robot code. Richard Vaughan, Brian Gerkey, and Andrew Howard. (2003) IEEE/RSJ International Conference on Intelligent Robot Systems (IROS2003) Las Vegas, USA [PDF]

Operating Systems Background reading

This material will help build your knowledge of OS design and programming. This is not required reading.

Case Studies

UNIX for better or for worse

Free Software and Open Source Software

Hacker Culture

Last updated 01 January 1970 00:00:00 I support Web standards: Valid HTML 4.01! Valid CSS!