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 Michael Freedman and Wyatt Lloyd, Princeton University.
Date | Topics | Slides | Readings |
---|---|---|---|
Fundamentals | |||
Wed 9/3 | Distributed Systems Intro (Freedman) | [pdf] [pptx] | |
Thu or Fr | Go systems programming | [pdf] [pptx] | |
Mon 9/8 | Course Overview (Ding) | [pdf] [pptx] | |
Wed 9/10 | Network communication and Remote Procedure Calls (Freedman) | [pdf] [pptx] | |
Thu or Fri | Concurrency in Go, MapReduce | [pdf] [pptx] | |
Fri 9/12 | Assignment 1-1 (Go) due at 11:59pm | ||
Mon 9/15 | Intro to Failure: RPCs (Ding) | [pdf] [pptx] | |
Tues 9/16 | Assignment 1-2 (Simple MapReduce) due at 11:59pm | ||
Wed 9/17 | Time and Logical Clocks 1 (Freedman) | [pdf] [pptx] | Suggested reading: Time, Clocks... |
Thu or Fri | RPCs in Go | [pdf] [pptx] | |
Fri 9/19 | Assignment 1-3 (Distributed MapReduce) due at 11:59pm | ||
Mon 9/22 | Time and Logical Clocks 2 (Freedman) | ||
Eventual Consistency and Scaling Out | |||
Wed 9/24 | Distributed Snapshots (Ding) | Suggested reading: Chandy-Lamport | |
Thu or Fri | Distributed Snapshots | [handout] | |
Mon 9/29 | Eventual consistency, Bayou (Lloyd guest lecture) | Suggested reading: Bayou | |
Wed 10/1 | Peer-to-Peer Systems and Distributed Hash Tables (Ding) | Suggested reading: Chord | |
Thu or Fri | Bayou and Chord | ||
Fri 10/3 | Assignment 2 (Chandy Lamport Snapshots) due at 11:59pm | ||
Mon 10/6 | Chord under Failures (Freedman) | ||
Replicated State Machines | |||
Wed 10/8 | Replicated State Machines via Primary Backup (Ding) | ||
Thurs 10/9 | Office Hours in lieu of precepts in normal precept locations and times | ||
Thurs 10/9 | (Tentative) Midterm exam in person, 7:30pm-10:30pm | ||
Mon 10/13 | Fall Recess | ||
Wed 10/15 | Fall Recess | ||
Mon 10/20 | Review of the Midterm (Ding) | ||
Wed 10/22 | View Changes and Consensus (Ding) | ||
Thu or Fri | Successful System Implementation Strategies | ||
Mon 10/27 | Consensus with RAFT (Freedman) | Suggested reading: RAFT | |
Wed 10/29 | More RAFT (Freedman) | Same slides as previous lecture | |
Thu or Fri | RAFT | ||
Strong Consistency and Scaling Out with Transactions | |||
Mon 11/3 | Strong Consistency (Freedman) | ||
Wed 11/5 | Scalable Causal Consistency (Ding) | Suggested reading: COPS | |
Thu or Fri | Consistency | ||
Fri 11/7 | Assignment 3 (Raft Leader Election) due at 11:59pm | ||
Mon 11/10 | Atomic Commit and Concurrency Control (Ding) | ||
Wed 11/12 | Spanner 1 (Freedman) | Suggested reading: Spanner | |
Thu or Fri | Concurrency Control | ||
Mon 11/17 | Spanner 2 (Freedman) | ||
Distributed Systems Potpourri | |||
Wed 11/19 | Databases (Ding) | ||
Thu or Fri | Spanner | ||
Mon 11/24 | Blockchains (Freedman) | ||
Tue 11/25 | Assignment 4 (Raft Log Consensus) due at 11:59pm | ||
Wed 11/26 | Thanksgiving Break | ||
Mon 12/1 | AI Systems (Freedman) | ||
Wed 12/3 | Reasoning about System Performance (Ding) | ||
Thu or Fri | Extra Office Hours In Lieu of Precept | ||
Reading Period | |||
Fri 12/12 | Assignment 5 (Key-value Storage Service) due at 11:59pm | ||
Wed 12/17 | Final exam in person, 8:30am-11:30am |