This schedule and syllabus may be subject to change.
Lectures and related materials are licensed for use under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License. Michael Freedman and Kyle Jamieson developed much of the original material. Wyatt Lloyd has updated it.
Date | Topics | Slides | Readings | |
---|---|---|---|---|
Mon 09/01 | Introduction + course overview | [pdf] [pptx] | ||
Fundamentals | ||||
Thu 09/04 | Network communication and Remote Procedure Calls | [pdf] [pptx] | ||
Mon 09/08 | Go systems programming | [pdf] [handout] | See also the Go syntax reference | |
Thu 09/11 | Time and logical clocks | |||
Mon 09/15 | Concurrency and RPCs in Go | [pdf] [handout] [code] | Suggested reading: "Concurrency" portion of a Tour of Go | |
Wed 09/17 | Assignment 1 due at 11:59pm | |||
Thu 09/18 | Time and logical clocks (cont.) and Distributed snapshots | |||
Replicated State Machines | ||||
Mon 09/22 | Replicated State Machines via Primary-Backup | |||
Wed 09/24 | Assignment 2 due at 11:59pm | |||
Thu 09/25 | View Changes and Reconfiguration | See also Viewstamped Replication Revisited | ||
Mon 09/29 | Consensus with Paxos | |||
Thu 10/02 | Raft | Pre-reading: Raft See also an online lecture about Raft by John Ousterhout |
||
Mon 10/06 | Byzantine Fault Tolerance | Suggested reading: Practical BFT See also an online lecture about BFT by Barbara Liskov |
||
Eventual Consistency and Scaling Out | ||||
Thu 10/09 | Eventual consistency, Bayou | Pre-reading: Bayou | ||
Mon 10/13 | Peer-to-Peer Systems and Distributed Hash Tables [video] | Suggested reading: Chord | ||
Thu 10/16 | Scale-out key-value storage, Dynamo [video] | Pre-reading: Dynamo | ||
Sun 10/19 | Assignment 3 due at 11:59pm | |||
Mon 10/20 | No class; project work | |||
Thu 10/23 | Mid-semester Break | |||
Strong Consistency and Scaling Out with Transactions | ||||
Mon 10/27 | Consistency Models | |||
Thu 10/30 | CAP, FLP | See also A Brief Tour of FLP Impossibility | ||
Mon 11/03 | Scalable Causal Consistency | Suggested reading: COPS | ||
Thu 11/06 | No class; project work | |||
Mon 11/10 | No class; project work | |||
Thu 11/13 | Atomic Commit and Concurrency Control | See also: Franklin, up to and including §3.2 | ||
Mon 11/17 | Distributed transactions | Suggested reading: Spanner | ||
System Evaluation | ||||
Thu 11/20 | Reasoning about System Performance | |||
Mon 11/24 | Exam | |||
Thu 11/27 | No class; project work | |||
Mon 12/01 | No class; project work | |||
Thu 12/04 | No class; project work | |||
Mon 12/08 | Project presentations 1 | |||
Thu 12/11 | Project presentations 2 |
Last updated: 2025-09-04 13:09