Until further notice, 418 lectures will be taught virtually via Zoom, although precepts are in-person.
This schedule and syllabus is preliminary and subject to change. Precepts are taught Wednesday evening and Thursday, although in the schedule below, these appear on Thursday (i.e., that material listed below as Thursday precept is the same as taught in the Wednesday evening precept.)
Lectures and related materials are licensed for use under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License, attributed to Michael Freedman, Kyle Jamieson, and Wyatt Lloyd, Princeton University.
Date | Topics | Slides | Readings |
---|---|---|---|
Fundamentals | |||
Mon 01/24 | Distributed Systems Intro | [pdf] [pptx] | |
Wed 01/26 | Course Overview | [pdf] [pptx] | |
Thurs 01/27 | Go systems programming | [pdf] [pptx] | [syntax] [intro] [soln] |
Mon 01/31 | Network communication and Remote Procedure Calls | [pdf] [pptx] | |
Wed 02/02 | Intro to Failure: RPCs | [pdf] [pptx] | |
Thurs 02/03 | Concurrency in Go, MapReduce | [pdf] [pptx] | |
Thurs 02/03 | Assignment 1-1 (Go) due at 11:59pm | ||
Mon 02/07 | Time and Logical Clocks 1 | [pdf] [pptx] | Suggested reading: Time, Clocks... |
Tues 02/08 | Assignment 1-2 (Simple MapReduce) due at 11:59pm | ||
Wed 02/09 | Time and Logical Clocks 2 | [pdf] [pptx] | |
Thurs 02/10 | RPCs in Go | [pdf] [pptx] | [wc-server] |
Thurs 02/10 | Assignment 1-3 (Distributed MapReduce) due at 11:59pm | ||
Eventual Consistency and Scaling Out | |||
Mon 02/14 | Distributed Snapshots | [pdf] [pptx] | Suggested reading: Chandy-Lamport |
Wed 02/16 | Eventual consistency, Bayou | [pdf] [pptx] | Suggested reading: Bayou |
Thurs 02/17 | Distributed Snapshots | [pdf] | |
Mon 02/21 | Peer-to-Peer Systems and Distributed Hash Tables | [pdf] [pptx] | Suggested reading: Chord |
Wed 02/23 | Scale-out key-value storage, Dynamo | [pdf] [pptx] | Suggested reading: Dynamo |
Thurs 02/24 | Bayou and Dynamo | [pdf] [pptx] | |
Thurs 02/24 | Assignment 2 (Chandy Lamport Snapshots) due at 11:59pm | ||
Replicated State Machines | |||
Mon 02/28 | Replicated State Machines via Primary Backup | [pdf] [pptx] | |
Wed 03/02 | View Changes and Consensus | [pdf] [pptx] | |
Thurs 03/03 | Midterm exam online, taken during a 3-hour period | 418 take-home reading: Successful System Implementation Strategies | |
Mon 03/07 | Spring break | ||
Wed 03/09 | Spring break | ||
Thurs 03/10 | Spring break | ||
Mon 03/14 | Consensus with Paxos | [pdf] [pptx] | Suggested reading: Paxos Made Simple |
Wed 03/16 | RAFT | [pdf] [pptx] | Suggested reading: RAFT |
Thurs 03/17 | RAFT | [pdf] | [handout] |
Strong Consistency and Scaling Out with Transactions | |||
Mon 03/21 | Strong Consistency | [pdf] [pptx] | |
Wed 03/23 | Scalable Causal Consistency | [pdf] [pptx] | Suggested reading: COPS |
Thurs 03/24 | Optional Precepts: going over midterm | ||
Mon 03/28 | Atomic Commit and Concurrency Control | [pdf] [pptx] | |
Wed 03/30 | Spanner 1 | [pdf] [pptx] | Suggested reading: Spanner |
Thurs 03/31 | Consistency | [pdf] | |
Thurs 03/31 | Assignment 3 (Raft Leader Election) due at 11:59pm | ||
Mon 04/04 | Spanner 2 | [pdf] [pptx] | |
Wed 04/06 | CAP, PRAM, SNOW, PORT, and FLP | [pdf] [pptx] | Optional: CAP, PRAM, SNOW, PORT, FLP |
Thurs 04/07 | Concurrency Control | [pdf] | |
Bringing it together | |||
Mon 04/11 | Topic: Distributed Systems for Content Delivery | [pdf] [pptx] | |
Wed 04/13 | Topic: Distributed Systems for Machine Learning | [pdf] | |
Thurs 04/14 | Spanner and SNOW | [pdf] | |
Mon 04/18 | Reasoning about System Performance | [pdf] [pptx] | |
Tues 04/19 | Assignment 4 (Raft Log Consensus) due at 11:59pm | ||
Wed 04/20 | Tying It All Together | [pdf] [pptx] | |
Reading Period | |||
Tues 05/03 | Assignment 5 (Key-value Storage Service) due at 5:00pm | ||
05/06-14 | Final exam online, taken during a 3-hour period. Staff available to answer questions during set times. |