Schedule of topics and readings
This schedule is tentative, and it is neither sound (that is, if a particular reading or topic is listed here, that doesn’t mean we’ll cover it!) nor complete (that is, if a particular reading or topic is not listed here, that doesn’t mean we won’t cover it!).
The course will alternate between Discussion and Lecture days. For days marked Discussion, you must turn in your reading response for that day’s reading assignment on Canvas by noon Pacific time on the day of class.
Date | Topic | Notes |
---|---|---|
Friday, 9/27 | Course overview | |
Monday, 9/30 | Lecture: distributed systems: what and why?; time and clocks; Lamport diagrams | Start-of-course survey due by start of class today |
Wednesday, 10/2 | Discussion: Jim Waldo et al., “A Note on Distributed Computing” (1994) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 10/9 |
Friday, 10/4 | Lecture: causality and happens-before; network models; partial orders; total orders; Lamport clocks | |
Monday, 10/7 | Discussion: Leslie Lamport, “Time, Clocks, and the Ordering of Events in a Distributed System” (CACM 1978) (skip the section “Physical Clocks”) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 10/14 |
Wednesday, 10/9 | Lecture: vector clocks; properties of executions; delivery vs. receiving; FIFO delivery; causal delivery | |
Friday, 10/11 | Discussion: Reinhard Schwarz and Friedemann Mattern, “Detecting Causal Relationships in Distributed Computations: In Search of the Holy Grail” (Distributed Computing, 1994) (sections 1-3 only) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 10/18 |
Monday, 10/14 | Lecture: totally-ordered delivery; implementing FIFO delivery; implementing causal broadcast | |
Wednesday, 10/16 | Discussion: Kenneth Birman, André Schiper, and Pat Stephenson, “Lightweight Causal and Atomic Group Multicast” (TOCS, 1991) (sections 1-5 only) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 10/23 |
Friday, 10/18 | Class cancelled due to campus power outage | |
Monday, 10/21 | Lecture: uses of causality in distributed systems; consistent snapshots; Chandy-Lamport snapshot algorithm | |
Wednesday, 10/23 | No class (Lindsey at OOPSLA) | If you want to, check out the paper we’re presenting at OOPSLA – it’s related to this class! |
Friday, 10/25 | Discussion (on Zoom): K. Mani Chandy and Leslie Lamport, “Distributed Snapshots: Determining Global States of Distributed Systems” (TOCS, 1985) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 11/1 |
Monday, 10/28 | Lecture: Chandy-Lamport wrap-up; centralized vs. decentralized algorithms; recap of delivery guarantees and protocols; reliable delivery; safety and liveness; the CAP trade-off | |
Wednesday, 10/30 | Discussion: Seth Gilbert and Nancy A. Lynch, “Perspectives on the CAP Theorem” (IEEE Computer, 2012) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 11/6 |
Friday, 11/1 | Lecture: fault classification and fault models; two generals problem | |
Monday, 11/4 | Discussion: Joseph Y. Halpern and Yoram Moses, “Knowledge and Common Knowledge in a Distributed Environment” (JACM, 1990) (sections 1-4 only) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 11/11 |
Wednesday, 11/6 | Lecture: implementing reliable delivery; idempotence; at-least-once/at-most-once/exactly-once delivery; replication; total order vs. determinism; primary-backup replication; chain replication; latency and throughput | |
Friday, 11/8 | Discussion: Robbert van Renesse and Fred B. Schneider, “Chain Replication for Supporting High Throughput and Availability” (OSDI 2004) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 11/15 |
Monday, 11/11 | No class (Veterans Day) | |
Wednesday, 11/13 | Lecture: handling node failure in replication protocols; introduction to consensus; problems equivalent to consensus; the FLP result; introduction to Paxos | |
Friday, 11/15 | Discussion: Leslie Lamport, “Paxos Made Simple” (2001) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 11/22 |
Monday, 11/18 | Lecture: Paxos: the interesting parts; Multi-Paxos; fault tolerance of Paxos; brief mention of other consensus protocols: Viewstamped Replication, Zab, Raft; passive vs. active (state machine) replication | |
Wednesday, 11/20 | Discussion: Tushar Chandra, Robert Griesemer, and Joshua Redstone, “Paxos Made Live: An Engineering Perspective” (invited talk, PODC 2007) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 11/27 |
Friday, 11/22 | Lecture: MapReduce | |
Monday, 11/25 | Discussion: Jeffrey Dean and Sanjay Ghemawat, “MapReduce: Simplified Data Processing on Large Clusters” (OSDI 2004) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 12/2 |
Wednesday, 11/27 | Guest lecture: Srinivasan (Sesh) Seshadri | |
Friday, 11/29 | No class (Thanksgiving break) | |
Monday, 12/2 | Lecture (on Zoom): eventual consistency; strong convergence and strong eventual consistency; intro to application-specific conflict resolution; network partitions; availability; the consistency/availability trade-off; anti-entropy with Merkle trees; gossip; quorum consistency | |
Wednesday, 12/4 | Discussion (on Zoom): Giuseppe DeCandia et al., “Dynamo: Amazon’s Highly Available Key-value Store” (SOSP 2007) | Reading response due at noon; scribes’ wiki write-up due 11:59:59pm PT on 12/11 |
Friday, 12/6 | Lecture (on Zoom): Wrap-up and exam review | |
Tuesday, 12/10 | Final exam, 4–7pm |