RTV teaching

CMPT 431

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 research papers. You may also choose to read the relevant sections from the recommended textbook. The textbook is not required and there is no final exam to test your reading, but reading will help your understanding.

"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.

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. [TXT]
    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. 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. Security & Authentication
    1. A Logic of Authentication. Michael Burrows, Martin Abadi (1990) ACM Transactions on Computer Systems 8:1 pp18-36. [PDF]
    2. A Method for Obtaining Digital Signatures and Public-Key Cryptosystems. R. L. Rivest, A. Shamir and L. Adleman (1978) Communications of the ACM . [PDF]
    3. CDK 7
  7. 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
  8. 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)
  9. 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.
  10. 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.

UNIX for better or for worse

Free Software and Open Source Software

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