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, attributed to Wyatt Lloyd, Princeton University. Materials are derived from those shared by Michael Freedman and Kyle Jamieson, Princeton University under the same license.
Date | Topics | Slides | Readings |
---|---|---|---|
Fundamentals | |||
Mon 02/01 | Distributed Systems Intro | [pdf] [pptx] | |
Wed 02/03 | Course Overview | [pdf] [pptx] | |
Fri 02/05 | Go systems programming | [pdf] [pptx] | [syntax] [intro] [soln] |
Mon 02/08 | Network communication and Remote Procedure Calls | [pdf] [pptx] | |
Wed 02/10 | Intro to Failure: RPCs | [pdf] [pptx] | |
Thurs 02/11 | Assignment 1-1 (Go) due at 11:59pm | ||
Fri 02/12 | Concurrency in Go, MapReduce | [pdf] [pptx] | |
Mon 02/15 | Time and Logical Clocks 1 | [pdf] [pptx] | Suggested reading: Time, Clocks... |
Tues 02/16 | Assignment 1-2 (Simple MapReduce) due at 11:59pm | ||
Wed 02/17 | Time and Logical Clocks 2 | [pdf] [pptx] | |
Thurs 02/18 | Assignment 1-3 (Distributed MapReduce) due at 11:59pm | ||
Fri 02/19 | RPCs in Go | [pdf] [pptx] | [wc-server] |
Eventual Consistency and Scaling Out | |||
Mon 02/22 | Distributed Snapshots | [pdf] [pptx] | Suggested reading: Chandy-Lamport |
Wed 02/24 | Eventual consistency, Bayou | [pdf] [pptx] | Suggested reading: Bayou |
Fri 02/26 | Distributed Snapshots | [pdf] | |
Mon 03/01 | Peer-to-Peer Systems and Distributed Hash Tables | [pdf] [pptx] | Suggested reading: Chord |
Wed 03/03 | Scale-out key-value storage, Dynamo | [pdf] [pptx] | Suggested reading: Dynamo |
Thurs 03/04 | Assignment 2 (Chandy Lamport Snapshots) due at 11:59pm | ||
Fri 03/05 | Bayou and Dynamo | [pdf] [pptx] | |
Replicated State Machines | |||
Mon 03/08 | Replicated State Machines via Primary Backup | [pdf] [pptx] | |
Wed 03/10 | Midterm exam online, taken during a 3-hour period | ||
Fri 03/12 | Midterm review: 10-1150 | Use Lecture Zoom Link | |
Mon 03/15 | Spring break | ||
Wed 03/17 | View Changes and Consensus | [pdf] [pptx] | |
Fri 03/19 | Successful System Implementation Strategies | [pdf] | |
Mon 03/22 | Consensus with Paxos | [pdf] [pptx] | Suggested reading: Paxos Made Simple |
Wed 03/24 | RAFT | [pdf] [pptx] | Suggested reading: RAFT |
Fri 03/26 | RAFT | [pdf] | [handout] |
Strong Consistency and Scaling Out with Transactions | |||
Mon 03/29 | Strong Consistency | [pdf] [pptx] | |
Wed 03/31 | Scalable Causal Consistency | [pdf] [pptx] | Suggested reading: COPS |
Fri 04/02 | Extra Office Hours In Lieu of Precept | ||
Mon 04/05 | Atomic Commit and Concurrency Control | [pdf] [pptx] | |
Wed 04/07 | Spanner 1 | [pdf] [pptx] | Suggested reading: Spanner |
Th 04/08 | Assignment 3 (Raft Leader Election) due at 11:59pm | ||
Fri 04/09 | Consistency | [pdf] | |
Mon 04/12 | Spanner 2 | [pdf] [pptx] | |
Wed 04/14 | CAP, PRAM, SNOW, PORT, and FLP | [pdf] [pptx] | Optional: CAP, PRAM, SNOW, PORT, FLP |
Fri 04/16 | Concurrency Control | [pdf] | |
Making Distributed Systems Faster | |||
Mon 04/19 | Distributed Video Processing | [pdf] [pptx] | Suggested reading: SVE |
Wed 04/21 | Reasoning about System Performance | [pdf] [pptx] | |
Th 04/22 | Assignment 4 (Raft Log Consensus) due at 11:59pm | ||
Fri 04/23 | Spanner and SNOW | [pdf] | |
Mon 04/26 | Tying It All Together | [pdf] [pptx] | |
Reading Period | |||
Mon 05/10 | 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. |