University of Minnesota
CSci5105: Introduction to Distributed Systems

Reading and Resources

This page contains additional reading material as well as other resources such as online tutorials. The relevant material for each lecture will be indicated on the Schedule page, and you are highly encouraged to read these materials in addition to your textbook reading. More emphasis has been put on providing material for those topics that are not covered in the textbook comprehensively (Also Note: Some old papers are not available online, but references have been provided so that you can look for physical copies, e.g., in the library). Mandatory papers are in bold, other optional papers are also listed. This list is likely to change, particularly for topics marked with an *.


  1. [COM1] RPC Tutorial

  2. [COM2] Java RMI documentation

  3. [COM3] Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy. 1990. Lightweight remote procedure call. ACM Trans. Comput. Syst. 8, 1 (February 1990), 37-55.

  4. [COM4] Jack J. Dongarra, Steve W. Otto, Marc Snir, and David Walker. 1996. A message passing standard for MPP and workstations. Commun. ACM 39, 7 (July 1996), 84-90.

  5. [COM5] Java RMI examples 1 2

  6. [COM6] RPC Tutorial 2

  7. [COM7] RPC example step by step

  8. [COM8] Beej's Guide to Network Programming (C/C++)

  9. [COM9] Java Socket Programming Examples


  1. [NAM1] Amin Vahdat, Michael Dahlin, Thomas Anderson, and Amit Aggarwal. 1999. Active names: flexible location and transport of wide-area resources. In Proceedings of the 2nd conference on USENIX Symposium on Internet Technologies and Systems - Volume 2 (USITS'99), Vol. 2. USENIX Association, Berkeley, CA, USA, 14-14.

Clock Synchronization and Event Ordering

  1. [SYN1] Leslie Lamport, "Time, Clocks and the Ordering of Events in a Distributed System", Communications of the ACM 21, 7 (July 1978), 558-565.

  2. [SYN2] Mills, D., "Improved Algorithms for Synchronizing Computer Network Clocks", IEEE/ACM Transactions on Networking IEEE Communications Society, 1994.


  1. [CONSIS1] Hal Berenson, Phil Bernstein, Jim Gray, Jim Melton, Elizabeth O'Neil, and Patrick O'Neil, A Critique of ANSI SQL Isolation Levels. June 1995. ANSI SQL-92, Microsoft Research.

Data Replication, Consistency Models

  1. [DR1]  GIFFORD,D. K. Weighted voting for replicated data. In Proceedings of the 7th Symposium on Operating Systems Principles (Asilomar, Calif., Dec. 1979), ACM, New York, 1979,150-159.

Distributed Computing

  1. [DC1] D. L. Eager, E. D. Lazowska, and J. Zahorjan. "Adaptive load sharing in homogeneous distributed systems". IEEE Transactions on Software Engineering, 12(5), 1986.

  2. [DC2] M. Litzkov, M. Livny and M. Mukta, "Condor: A Hunter of Idle Workstations", Proc of IEEE ICDCS 1988.

  3. [DC3] J. K. Ousterhout, "Scheduling techniques for concurrent systems". 3rd Intl. Conf. on Distributed Computing Systems, Oct. 1982.

Fault Tolerance

  1. [FT1] Leslie Lamport, Marshall Pease, Robert Shostak, "The Byzantine Generals Problem", ACM Transactions on Programming Languages and Systems 4, 3 (July 1982), 382-401.

  2. [FT2] K. Birman and T. Joseph, "Exploiting virtual synchrony in distributed systems", Proc. of SOSP '87.

Classic Design

  1. [CLASSIC1] J. H. Saltzer, D. P. Reed, and D. D. Clark. 1984. End-to-end arguments in system design. ACM Trans. Comput. Syst. 2, 4 (November 1984), 277-288.

  2. [CLASSIC2] Butler W. Lampson. 1983. Hints for computer system design. In Proceedings of the ninth ACM symposium on Operating systems principles (SOSP '83). ACM, New York, NY, USA, 33-48.

Cool Techniques

  1. [TECH1] Andrei Broder and Michael Mitzenmacher, Network Applications of Bloom Filters: A Survey, Internet Mathematics, 2002, 636--646.

  2. [TECH2] Bruce Maggs, class notes.

  3. [TECH3] David Karger, Eric Lehman, Tom Leighton, Rina Panigrahy, Matthew Levine, and Daniel Lewin. 1997. Consistent hashing and random trees: distributed caching protocols for relieving hot spots on the World Wide Web. In Proceedings of the twenty-ninth annual ACM symposium on Theory of computing (STOC '97). ACM, New York, NY, USA, 654-663.


  1. [CONSEN1] Leslie Lamport, Paxos Made Simple, Microsoft Research 2001.

  2. [CONSEN2] David Mazieres, Paxos Made Practical, whitepaper, >= 2006.

  3. [CONSEN3] Mike Burrows. 2006. The Chubby lock service for loosely-coupled distributed systems. In Proceedings of the 7th symposium on Operating systems design and implementation (OSDI '06). USENIX Association, Berkeley, CA, USA, 335-350.

Distributed File Systems

  1. [DFS1] James J. Kistler and M. Satyanarayanan. 1992. Disconnected operation in the Coda File System. ACM Trans. Comput. Syst. 10, 1 (February 1992)

  2. [DFS2] John H. Howard, Michael L. Kazar, Sherri G. Menees, David A. Nichols, M. Satyanarayanan, Robert N. Sidebotham, and Michael J. West. 1988. Scale and performance in a distributed file system. ACM Trans. Comput. Syst. 6, 1 (February 1988). This is AFS.

Distributed Mobile

  1. [M1] MAUI: Making Smartphones Last Longer with Code Offload, E. Cuervo et al, ACM MobiSys 2010.

  2. [M2] Tactics-Based Remote Execution for Mobile Computing, R. Balan et al, MobiSys 2003

Distributed Data-Intensive Computing

  1. [DI1] Challenges and Opportunities with Big Data Divyakant Agrawal et al Whitepaper, 2011.

  2. [DI2] 4th Paradigm The Fourth Paradigm: Data-Intensive Scientific Discovery Jim Gray Microsoft

  3. [DI3] Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung, "The Google File System", Proceedings of SOSP 2003.


  1. [GRID1] Grimshaw, et al, Wide-Area Computing: Resource Sharing on a Large-Scale, IEEE Computer 32(5), 1999.

  2. [GRID2] Lewis and Grimshaw, The Core Legion Object Model, HPDC'96.

  3. [GRID3] David P. Anderson, Carl Christensen, and Bruce Allen. 2006. Designing a runtime system for volunteer computing. In Proceedings of the 2006 ACM/IEEE conference on Supercomputing (SC '06). ACM, New York, NY.

  4. [GRID4] Ian Foster and Carl Kesselman, The Globus Project: A Status Report, Heterogeneous Computing Workshop, 1998.

  5. [GRID5] D.P. Anderson, "BOINC: A System for Public-Resource Computing and Storage", Proceedings of the 5th ACM/IEEE International Workshop on Grid Computing, 2004.


  1. [EDGE1] The Case for VM-Based Cloudlets in Mobile Computing, Mahadev Satyanarayanan, Paramvir Bahl, Ramon Caceres, and Nigel Davies, IEEE Pervasive Computing, 8(4), Oct. 2009

  2. [EDGE2] MAUI: Making Smartphones Last Longer with Code Offload Eduardo Cuervoy, Aruna Balasubramanianz, Dae-ki Cho Alec Wolmanx, Stefan Saroiux, Ranveer Chandrax, Paramvir Bahl ACM MobiSys 2010


  1. [CL1] Above the Clouds: A Berkeley View of Cloud Computing Michael Armbrust Armando Fox, Rean Griffith, Anthony D. Joseph, Randy H. Katz, Andrew Konwinski, Gunho Lee, David A. Patterson, Ariel Rabkin, Ion Stoica, Matei Zaharia Tech. Rep. UCB/EECS-2009-28, Feb 10, 2009.

  2. [CL2] Peter Mell and Timothy Grance, The NIST Definition of Cloud Computing, Special Publication 800-145, 2011.


  1. [P2P1] Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, and Hari Balakrishnan, "Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications", ACM SIGCOMM 2001, San Deigo, CA, August 2001, pp. 149-160.

  2. [P2P2] Krishna P. Gummadi, Richard J. Dunn, Stefan Saroiu, Steven D. Gribble, Henry M. Levy, and John Zahorjan. 2003. Measurement, modeling, and analysis of a peer-to-peer file-sharing workload. SIGOPS Oper. Syst. Rev. 37, 5 (October 2003),

  3. [P2P3] Yatin Chawathe, Sylvia Ratnasamy, Lee Breslau, Nick Lanham, and Scott Shenker. 2003. Making gnutella-like P2P systems scalable. In Proceedings of the 2003 conference on Applications, technologies, architectures, and protocols for computer communications (SIGCOMM '03). ACM, New York, NY, USA, 407-418.

  4. [P2P4] Miguel Castro, Peter Druschel, Y C Hu, A Rowstron, "Topology-aware routing in structured peer-to-peer overlay networks", Technical Report MSR-TR-2002-82, 2002.

  5. [P2P5] A. Rowstrom and P. Druschel, "Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility", In Proc. of ACM SOSP, 2001.