Calendar
This is the intended calendar with topics and readings.
Papers (except when tagged as ref) may appear in homework/finals questions.
All papers are available in Canvas (Files → “Reading”), unless linked externally.
Week 1
Tue 04/01
Northwestern Monday schedule: classes scheduled to meet on Mondays meet on this day.
Thu 04/03 — Introduction
Readings
- Google, Introduction to Distributed System Design (Canvas)
- J. Dean and S. Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004
Week 2
Tue 04/08 — Networking
Readings
- Kurose & Ross, Computer Networking: A Top-Down Approach (9th ed.), Chapter 2 (Application Layer)
Thu 04/10 — Communication and Organization
Readings
- K. Seemakhupt et al., A Cloud-Scale Characterization of Remote Procedure Calls, SOSP 2023
Week 3
Tue 04/15 — Physical and Logical Clocks
Readings
- L. Lamport, Time, Clocks, and the Ordering of Events in a Distributed System, CACM 1978 — https://amturing.acm.org/p558-lamport.pdf
Thu 04/17 — Global State
Readings
- M. Chandy and L. Lamport, Distributed Snapshots: Determining Global States of Distributed Systems, TOCS 1985 — https://lamport.azurewebsites.net/pubs/chandy.pdf
Week 4
Tue 04/22 — Coordination
Readings
- P. Hunt et al., ZooKeeper: Wait-free coordination for Internet-scale systems, USENIX ATC 2010 — https://www.usenix.org/legacy/event/atc10/tech/full_papers/Hunt.pdf
Thu 04/24 — Failure and Failure Detection
Readings
- J. Leners et al., Detecting failures in distributed systems with the FALCON spy network, SOSP 2011 — https://www.cs.utexas.edu/falcon/papers/falcon-sosp11.pdf
Week 5
Tue 04/29 — Consistency and Replication
Readings
- D. Scales et al., The Design of a Practical System for Fault-Tolerant Virtual Machines, ACM SIGOPS OSR 2010 — https://www.vmware.com/techpapers/2010/the-design-and-evaluation-of-a-practical-system-fo-10134.html
Thu 05/01 — Eventual Consistency
Readings
- D. Terry et al., Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System, SOSP 1995 — https://dl.acm.org/doi/10.1145/224056.224070
Week 6
Tue 05/06 — Overlay Networks
Readings
- I. Stoica et al., Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, SIGCOMM 2001 — https://pdos.csail.mit.edu/papers/chord:sigcomm01/chord_sigcomm.pdf
Thu 05/08 — Scaling Out Key-Value Stores
Readings
- G. DeCandia et al., Dynamo: Amazon’s Highly Available Key-value Store, SOSP 2007 — https://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
Week 7
Tue 05/13 — Consensus Problem and Impossibility of Consensus
Readings
- M. Fischer, N. Lynch, M. Paterson, Impossibility of Distributed Consensus with One Faulty Process, JACM 1985 — https://groups.csail.mit.edu/tds/papers/Lynch/jacm85.pdf
Thu 05/15 — Consensus
Readings
- D. Ongaro and J. Ousterhout, In Search of an Understandable Consensus Algorithm (Raft), USENIX ATC 2014 — https://raft.github.io/raft.pdf
Week 8
Tue 05/20 — Byzantine Fault Tolerance
Readings
- M. Castro and B. Liskov, Practical Byzantine Fault Tolerance, OSDI 1999 — https://pmg.csail.mit.edu/papers/osdi99.pdf
Thu 05/22 — Distributed File Systems
Readings
- S. Ghemawat, H. Gobioff, and S.-T. Leung, The Google File System, SOSP 2003 — https://static.googleusercontent.com/media/research.google.com/en//archive/gfs-sosp2003.pdf
Week 9
Tue 05/27 — Content Distribution Networks
Readings
- F. Chen et al., End-User Mapping: Next Generation Request Routing for Content Delivery, SIGCOMM 2015 — https://conferences.sigcomm.org/sigcomm/2015/pdf/papers/p167.pdf
Thu 05/29 — Transactions
Readings
- (TBD / announced in class)
Week 10
Tue 06/03 — Distributed Transactions
Readings
- J. Corbett et al., Spanner: Google’s Globally-Distributed Database, OSDI 2012 — https://www.usenix.org/system/files/conference/osdi12/osdi12-final-16.pdf
Thu 06/05 — New Distributed Systems
Readings
- D. Trautwein et al., Design and Evaluation of IPFS: A Storage Layer for the Decentralized Web, SIGCOMM 2022 — https://gipplab.org/wp-content/papercite-data/pdf/trautwein2022a.pdf