Calendar
The following is our intended calendar with topics, slides (as they become available) and reference material. Note “MSAT3 #” refers to chapters/sections of (M. van Steen and A. Tanenbaum Distributed Systems 3rd Ed., 2017). Papers, except when tagged as [ref], may be part of homework assignment/finals questions. All papers are available in Canvas (“Reading” folder in the “Files” section); some links in the Calendar point to those files.
Week 1
03/29 — (Northwestern’s “Monday”)
03/31 — Introduction
Readings
- MSAT 1.1,1.2
- Google’s Introduction to Distributed System Design [Local PDF]
- J. Dean and S. Ghemawat, MapReduce: Simplified Data Processing on Large Clusters. Proc. of OSDI, 2004 [Local PDF]
Week 2
04/05 — Networking
Readings
- MSAT3 4.1
04/07 — Communication and Organization
Readings
- MSAT 2.3, 4.2
Week 3
04/12 — Physical and Logical Clocks
Readings
- MSAT 6.1,6.2
- L. Lamport. Time, Clocks, and the Ordering of Events in a Distributed System. Communications of the ACM, July 1978, pages 558-564. [Local PDF]
04/14 — Global State
Readings
- M. Chandy and L. Lamport. Distributed Snapshots: Determining Global States of Distributed Systems. ACM Trans. Comput. Syst., 3(1):63-75, 1985. [PDF]
Week 4
04/19 — Coordination
Readings
- MSAT 6.3-6.4
- P. Hunt et al., ZooKeeper: Wait-free coordination for Internet-scale systems. Proc. of USENIX ATC, 2010. [Local PDF]
04/21 — Failure and Failure Detection
Readings
- MSAT 8.1
- J. Leners et al., Detecting failures in distributed systems with the FALCON spy network. Proc. of SOSP, 2011. [Local PDF]
Week 5
04/26 — Consistency and Replication
Readings
- D. Scales et al., The Design of a Practical System for Fault-Tolerant Virtual Machines, ACM SIGOPS OSR, December 2010. [Local PDF]
04/28 — Eventual Consistency
Readings
- D. Terry et al., Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System. Proc. of SOSP, 1995. [Local PDF]
Week 6
05/03 — Overlay Networks
Readings
- MSAT 5.2
- I. Stoica et al., Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. Proc. of SIGCOMM, 2001. [Local PDF]
05/05 — Scaling Out Key-Value Stores
Readings
- G. DeCandia et al., Dynamo: Amazon’s Highly Available Key-value Store. Proc. of SOSP, 2007. [Online]
Week 7
05/10 — Consensus Problem and The Impossibility of Consensus
Readings
- M. Fischer, N. Lynch, M. Paterson, Impossibility of Distributed Consensus with One Faulty Process. Journal of the ACM, 32(2), April 1985.
05/12 — Consensus
Readings
- D. Ongaro and J. Ousterhout, In Search of an Understandable Consensus Algorithm. Proc. of USENIX ATC, 2014 (Extended version). [Local PDF]
Week 8
05/17 — Byzantine Fault Tolerance
Readings
- M. Castro and B. Liskov. Practical Byzantine Fault Tolerance. Proc. of OSDI, 1999. [Local PDF]
05/19 — Distributed File Systems
Readings
- S. Ghemawat, H. Gobioff, and S.-T. Leung. The Google File System. Proc. of SOSP, 2003. [Local PDF]
Week 9
05/24 — Content Distribution Networks
Readings
- F. Chen et al., End-User Mapping: Next Generation Request Routing for Content Delivery. Proc. of SIGCOMM, 2015. [Local PDF]
05/26 — Video Streaming
Readings
- F. Yan et al., Learning in situ: a randomized experiment in video streaming Proc. of NSDI, 2020. [PDF]
Week 10
05/31 — Distributed Transactions
Readings
- J. Corbett et al., Spanner: Google’s Globally-Distributed Database. Proc. of OSDI, 2012. [Local PDF]
06/02 — Distributed Ledgers
Readings
- E. Andoulaki et al., Hyperledger fabric: a distributed operating system for permissioned blockchains, Proc. of EuroSys, 2018. [Local PDF]
* — 06/08
Due: Take-home final (Due June 8th, 11:59PM CST).