University of Minnesota
CSci5105: Introduction to Distributed Systems
index.php

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 subject to change, including required papers.

Communication

  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

  10. [COM10] Introduction to ONC RPC

  11. [COM11] ONC+ Developer's Guide - SUN Microsystems

  12. [COM12] Thrift Tutorial

  13. [COM13] UDP Example (C/C++)

  14. [COM14] UDP Example (JAVA)

  15. [COM15] Thrift Presentation

Naming

  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.

  2. [NAM2] 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.

  3. [NAM3] 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.

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.

Consistency

  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 and Web Caching

  1. [DR1]  David Mosberger, "Memory consistency models",  ACM SIGOPS Operating Systems Review, Volume 27,  Issue 1, January 1993.

  2. [DR2]  V. Duvvuri, P. Shenoy and R. Tewari, "Adaptive Leases: A Strong Consistency Mechanism for the World Wide Web",  IEEE Transactions on Knowledge and Data Engineering (TKDE), 5(5), pages 1266-1276, September 2003.

  3. [DR3]  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.

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

  5. [DC5] Jeffrey Dean and Sanjay Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters ", Proceedings of OSDI, 2004.

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] E. A. Akkoyunlu, K. Ekanadham, and R. V. Huber, "Some constraints and tradeoffs in the design of network communications", ACM SIGOPS Operating Systems Review, Volume 9,  Issue 5  (November 1975),  67 - 74.  (See Appendix for Two-Army Problem).

  3. [FT3] 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.

Consensus

  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.

  3. [DFS3] P. Braam, "The Coda Distributed File System", Linux Journal, #50, June 1998.

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

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

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.

Grid

  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.

Edge

  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

Cloud

  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.

Peer-to-Peer

  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.

Multimedia Systems: Compression

  1. [MSC1] D. Le Gall, "MPEG: A Video Compression Standard for Multimedia Applications", Communications of the ACM, Vol. 34, No. 4, Pages 46-58, April 1991.

Multimedia Systems: Real-Time and Proportional-Share Scheduling

  1. [MSS1] C. L. Liu and J. Layland, "Scheduling algorithms for multiprogramming in a hard real-time environment", Journal of the ACM, 10(1), 1973.

  2. [MSS2] P. Goyal, X. Guo, and H. M. Vin. "A hierarchical cpu scheduler for multimedia operating systems", In Proc. of the 2nd OSDI Symposium, October 1996.

  3. [MSS3] C. Waldspurger, W. Weihl, "Lottery Scheduling: Flexible Proportional-Share Resource Management", In Proc. of OSDI'94.

Multimedia File Systems

  1. [MFS1] P. Shenoy and H. M. Vin, " Cello: A Disk Scheduling Framework for Next Generation Operating Systems", Proceedings of ACM SIGMETRICS Conference, pages 44-55, June 1998.

Multimedia Servers

  1. [MS1] A. Dan, D. Sitaram, "Buffer Management Policies for an On-Demand Video Server", IBM Research Report RC 19347, 1993.

  2. [MS2] K. Hua, Y. Cai and S. Sheu, "Patching: A Multicast Technique for True On-Demand Services", ACM Multimedia, 1998.

Virtualization and Cloud Computing

  1. [VM1] G. Popek and R. Goldberg, "Formal requirements for virtualizable third generation architectures", Communications of the ACM, Vol. 17, No. 7, pp 412-421, July 1974.

  2. [VM2] M. Rosenblum and T. Garfinkel, "Virtual Machine Monitors: Current Technology and Future Trends", IEEE Computer, Vol. 38, No. 5, pp 39-47, May 2005.

  3. [VM3] M. Ambrust et al. "Above the Clouds: A Berkeley View of Cloud Computing", UC Berkeley Tech. Report., 2009.