Calendar
This is the intended calendar with topics and readings.
Papers (except when tagged as Reference or Optional) may appear in homework/finals questions.
All papers are available in Canvas (Files → “Reading”), unless linked externally.
Week 1
Tue 03/31
Northwestern Monday schedule: classes scheduled to meet on Mondays meet on this day.
Thu 04/02 — Introduction
Readings
Google, Introduction to Distributed System Design (Canvas)
J. Dean and S. Ghemawat, MapReduce: Simplified Data Processing on Large Clusters, OSDI 2004 — PDF
Week 2
Tue 04/07 — Networking
Readings
- (Reference) L. Peterson and B. Davie, Computer Networks: A Systems Approach, Chapter 5: End-to-End Protocols — Book
Thu 04/09 — Communication and Organization
Readings
- K. Seemakhupt et al., A Cloud-Scale Characterization of Remote Procedure Calls, SOSP 2023 — PDF
Week 3
Tue 04/14 — Physical and Logical Clocks
Readings
- L. Lamport, Time, Clocks, and the Ordering of Events in a Distributed System, CACM 1978 — PDF
Thu 04/16 — Global State
Readings
Week 4
Tue 04/21 — Coordination
Readings
- P. Hunt et al., ZooKeeper: Wait-free coordination for Internet-scale systems, USENIX ATC 2010 — PDF
Thu 04/23 — Failure and Failure Detection
Readings
Week 5
Tue 04/28 — Consistency and Replication
Readings
D. Scales et al., The Design of a Practical System for Fault-Tolerant Virtual Machines, ACM SIGOPS OSR 2010 — PDF
(Optional) Confluent, Kafka Replication: How ISR-Based Primary-Backup Replication Works in Practice— Post
Thu 04/30 — Midterm
Midterm covers material through failure detection (Week 4). We conclude the first half of the course by understanding what distributed systems can (and cannot) observe—time, state, and failures. The second half focuses on how systems operate under these limits.
Week 6
Tue 05/05 — Eventual Consistency
Readings
- W. Lloyd et al., Don’t Settle for Eventual: Scalable Causal Consistency for Wide-Area Storage with COPS, SOSP 2011 - PDF
Thu 05/07 — Overlay Networks
Readings
- I. Stoica et al., Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications, SIGCOMM 2001 — PDF
Week 7
Tue 05/12 — Scaling Out Key-Value Stores
Readings
- M. Elhemali et al., Amazon DynamoDB: A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service, USENIX ATC 2022 - PDF
Thu 05/14 — Consensus Problem and Impossibility of Consensus
Readings
- M. Fischer, N. Lynch, M. Paterson, Impossibility of Distributed Consensus with One Faulty Process, JACM 1985 — PDF
Week 8
Tue 05/19 — Consensus
Readings
- D. Ongaro and J. Ousterhout, In Search of an Understandable Consensus Algorithm (Raft), USENIX ATC 2014 — PDF
Thu 05/21 — Byzantine Fault Tolerance and Blockchain Consensus
Readings
- M. Castro and B. Liskov, Practical Byzantine Fault Tolerance, OSDI 1999 — PDF
- (Optional) M. Yin et al., HotStuff: BFT Consensus with Linearity and Responsiveness, PODC 2019 — PDF
PBFT established the foundations of practical BFT, but its O(n²) message complexity limits scalability. HotStuff, which underlies Meta’s Diem/LibraBFT and several production blockchains, achieves linear message complexity by introducing a chained, pipelined voting structure. Reading both papers together illustrates why blockchain consensus is not simply “BFT applied to a ledger” but required a new generation of protocol design.
Week 9
Tue 05/26 — Distributed File Systems
Readings
- S. Ghemawat, H. Gobioff, and S.-T. Leung, The Google File System, SOSP 2003 — PDF
Thu 05/28 — Content Distribution Networks
Readings
Week 10
Tue 06/02 — Distributed Transactions
Readings
- J. Corbett et al., Spanner: Google’s Globally-Distributed Database, OSDI 2012 — PDF
- (Optional) Google Cloud Blog, Strict Serializability and External Consistency in Spanner — Post
Thu 06/04 — New Distributed Systems
Readings
- L. Balduf et al., The Cloud Strikes Back: Investigating the Decentralization of IPFS, IMC 2023 - PDF