This schedule and syllabus is preliminary and 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.
Date | Topics | Readings | Notes |
---|---|---|---|
Fundamentals | |||
Sun 08/25 | Course overview [pdf] [pptx] | ||
Wed 08/28 | Case study: GFS [txt] | Pre-reading: GFS | |
Sun 09/01 | Network communication and Remote Procedure Calls [pdf] [pptx] | ||
Tue 09/03 1:00PM-2:30PM | Go systems programming [pdf] [pptx] | See also the Go syntax reference | |
Wed 09/04 | Time synchronization and logical clocks [pdf] [pptx] | ||
Sun 09/08 | Vector clocks and distributed snapshots [pdf] [pptx] | More on Chandy-Lamport [txt] [pptx] | |
Tue 09/10 1:00PM-2:30PM | Concurrency in Go, MapReduce [pdf] [pptx] | Suggested reading: "Concurrency" portion of a Tour of Go | |
Eventual Consistency and Scaling Out | |||
Wed 09/11 | Eventual consistency, Bayou [pdf] [pptx] | Pre-reading: Bayou | |
Sun 09/15 | Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] | Suggested reading: Chord | Assignment 1 due |
Tue 09/17 4:00PM-5:00PM | RPCs in Go [code] | ||
Wed 09/18 | Scale-out key-value storage, Dynamo [pdf] [pptx] | Pre-reading: Dynamo | |
Sun 09/22 | Administrative Holiday | ||
Replicated State Machines | |||
Wed 09/25 | Replicated State Machines via Primary-Backup [pdf] [pptx] | Assignment 2 due | |
Sun 09/29 | Two-phase commit, introducing safety and liveness [pdf] [pptx] | ||
Wed 10/02 | Reconfiguration and View Change Protocols [pdf] [pptx] | See also Viewstamped Replication Revisited | |
Sun 10/06 | Consensus and Paxos [pdf] [pptx] | See also A Brief Tour of FLP Impossibility | |
Wed 10/09 | Putting it together - Leader election, Raft [pdf] [pptx] | Pre-reading: Raft See also an online lecture about Raft by John Ousterhout |
|
Sun 10/13 | Midterm review session | Send your questions by Thu 10/10, 12pm! | |
Wed 10/16 | No class | ||
Sun 10/20 | Midterm in-class exam (1h:15m) | Covering till Raft | |
Strong Consistency and Scaling Out with Transactions | |||
Wed 10/23 | Byzantine Fault Tolerance [pdf] [pptx] | Suggested reading: Practical BFT See also an online lecture about BFT by Barbara Liskov |
|
Sun 10/27 | Mid-semester Break | ||
Wed 10/30 | Strong consistency and CAP Theorem [pdf] [pptx] | ||
Sun 11/03 | Scalable Causal Consistency [pdf] [pptx] | See also COPS | |
Wed 11/06 | Concurrency Control [pdf] [pptx] | Pre-reading: Franklin, up to and including §3.2 | |
Sun 11/10 | Big data lab - session 1 | Assignment 3-1 due |
|
Wed 11/13 | Big data lab - session 2 | ||
Sun 11/17 | Distributed transactions in Spanner [pdf] [pptx] | Suggested reading: Spanner | |
Various Distributed Systems Topics | |||
Wed 11/20 | Big data processing [pdf] [pptx] | ||
Sun 11/24 | Big data processing continued | ||
Wed 11/27 | Blockchain systems [pdf] [pptx] | Assignment 3-2 due | |
Sun 12/01 | Tying it all together | ||
Wed 12/04 | Final review session | Bring your questions! Assignment 4 due |
|
Sun 12/08 9:00AM-12:00PM | Final exam | Bldg 9, Room 3125 |
Last updated: 2019-11-27 15:34:09