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. Wyatt Lloyd has updated it.
| Date | Topics | Slides | Readings |
|---|---|---|---|
| Mon 08/28 | Introduction + course overview | [pdf] [pptx] | |
| Thu 08/31 | Go systems programming | [pdf] [handout] | See also the Go syntax reference |
| Mon 09/04 | MapReduce case study | [pdf] [pptx] | Pre-reading: MapReduce |
| Fundamentals | |||
| [video] Due by 09/07 | Network communication and Remote Procedure Calls | [pdf] [pptx] | |
| Thu 09/07 | Concurrency and RPCs in Go | [pdf] [handout] [code] | Suggested reading: "Concurrency" portion of a Tour of Go |
| Wed 09/13 | Assignment 1 due at 11:59pm | ||
| [video] Due by 09/14 | Time and logical clocks 1 | [pdf] [pptx] | |
| [video] Due by 09/14 | Time and logical clocks 2 | [pdf] [pptx] | |
| Thu 09/14 | Discussion: Time and logical clocks | ||
| Wed 09/20 | Assignment 2 due at 11:59pm | ||
| [video] Due by 09/21 | Distributed snapshots | [pdf] [pptx] | |
| Thu 09/21 | Discussion: Distributed snapshots | ||
| Eventual Consistency and Scaling Out | |||
| Mon 09/25 | Eventual consistency, Bayou | [pdf] [pptx] | Pre-reading: Bayou |
| Thu 09/28 | Peer-to-Peer Systems and Distributed Hash Tables | [pdf] [pptx] | Suggested reading: Chord |
| Mon 10/02 | Scale-out key-value storage, Dynamo | [pdf] [pptx] | Pre-reading: Dynamo |
| Thu 10/05 | No class | ||
| Big Data | |||
| [video] Due by 10/12 | Big data processing | [pdf] [pptx] | |
| Replicated State Machines | |||
| Mon 10/09 | Replicated State Machines via Primary-Backup | [pdf] [pptx] | |
| Thu 10/12 | Lab 1 | ||
| Mon 10/16 | Mid-semester Break | ||
| Thu 10/19 | Lab 2 | ||
| Mon 10/23 | Lab 3 | ||
| Thu 10/26 | Midterm in-class exam (1h:15m) | ||
| Mon 10/30 | View Changes and Reconfiguration | [pdf] [pptx] | See also Viewstamped Replication Revisited |
| Thu 11/02 | Consensus with Paxos | [pdf] [pptx] | |
| Mon 11/06 | Raft | [pdf] [pptx] | Pre-reading: Raft See also an online lecture about Raft by John Ousterhout |
| Thu 11/09 | Byzantine Fault Tolerance | [pdf] [pptx] | Suggested reading: Practical BFT See also an online lecture about BFT by Barbara Liskov |
| Strong Consistency and Scaling Out with Transactions | |||
| Mon 11/13 | Consistency Models | [pdf] [pptx] | |
| Wed 11/15 | Assignment 3-1 due at 11:59pm | ||
| Thu 11/16 | CAP, FLP | [pdf] [pptx] | See also A Brief Tour of FLP Impossibility |
| Mon 11/20 | Scalable Causal Consistency | [pdf] [pptx] | Suggested reading: COPS |
| Thu 11/23 | Atomic Commit and Concurrency Control | [pdf] [pptx] | See also: Franklin, up to and including §3.2 |
| Mon 11/27 | Distributed transactions 1 | [pdf] [pptx] | Suggested reading: Spanner |
| Wed 11/29 | Assignment 3-2 due at 11:59pm | ||
| Thu 11/30 | Distributed transactions 2 | [pdf] [pptx] | |
| Mon 12/04 | No class | ||
| System Evaluation | |||
| Thu 12/07 | Reasoning about System Performance | [pdf] [pptx] | |
| Thu 12/07 | Assignment 4 due at 11:59pm | ||
| Sun 12/10, 1:00-4:00PM | Final exam | ||
Last updated: 2023-11-16 9:26