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 | |||
Wed 09/07 | Distributed Systems Intro | [pdf] [pptx] | |
Wed or Thu | Go systems programming | [pdf] [pptx] | [syntax] [intro] [soln] |
Mon 09/12 | Course Overview | [pdf] [pptx] | |
Wed 09/14 | Network communication and Remote Procedure Calls | [pdf] [pptx] | |
Wed or Thu | Concurrency in Go, MapReduce | [pdf] [pptx] | |
Fri 09/16 | Assignment 1-1 (Go) due at 11:59pm | ||
Mon 09/19 | Intro to Failure: RPCs | [pdf] [pptx] | |
Tues 09/20 | Assignment 1-2 (Simple MapReduce) due at 11:59pm | ||
Wed 09/21 | Time and Logical Clocks 1 | [pdf] [pptx] | Suggested reading: Time, Clocks... |
Wed or Thur | RPCs in Go | [pdf] [pptx] | [wc-server] |
Fri 09/23 | Assignment 1-3 (Distributed MapReduce) due at 11:59pm | ||
Mon 09/26 | Time and Logical Clocks 2 | [pdf] [pptx] | |
Eventual Consistency and Scaling Out | |||
Wed 09/28 | Distributed Snapshots | [pdf] [pptx] | Suggested reading: Chandy-Lamport |
Wed or Thu | Distributed Snapshots | [pdf] [pptx] | [handout] |
Mon 10/03 | Eventual consistency, Bayou | [pdf] [pptx] | Suggested reading: Bayou |
Wed 10/05 | Peer-to-Peer Systems and Distributed Hash Tables | [pdf] [pptx] | Suggested reading: Chord |
Wed or Thu | Bayou and Chord | [pdf] [pptx] | |
Fri 10/07 | Assignment 2 (Chandy Lamport Snapshots) due at 11:59pm | ||
Mon 10/10 | Chord under Failures | Same slides as previous lecture | |
Wed 10/12 | Office Hours from 10am-12pm in Arch 101 | ||
Wed & Thurs | Office Hours open to all students in lieu of precepts, in at their normal locations at their normal times | ||
Thu 10/13 | Midterm exam in person, 730pm-10pm in Friend 101 | ||
Mon 10/17 | Fall recess | ||
Wed 10/19 | Fall recess | ||
Replicated State Machines | |||
Mon 10/24 | Replicated State Machines via Primary Backup | [pdf] [pptx] | Video Lecture |
Wed 10/26 | View Changes and Consensus | [pdf] [pptx] | |
Wed or Thur | Successful System Implementation Strategies | [pdf] [pptx] | |
Mon 10/31 | Consensus with RAFT | [pdf] [pptx] | Suggested reading: RAFT |
Wed 11/02 | More RAFT | Same slides as previous lecture | |
Wed or Thu | RAFT | [pdf] [pptx] | |
Strong Consistency and Scaling Out with Transactions | |||
Mon 11/07 | Strong Consistency | [pdf] [pptx] | |
Wed 11/09 | Scalable Causal Consistency | [pdf] [pptx] | Suggested reading: COPS |
Wed or Thu | Consistency | [pdf] [pptx] | |
Mon 11/14 | Atomic Commit and Concurrency Control | [pdf] [pptx] | |
Tu 11/15 | Assignment 3 (Raft Leader Election) due at 11:59pm | ||
Wed 11/16 | Spanner 1 (Jeff Helt) | [pdf] [pptx] | Suggested reading: Spanner |
Wed or Thu | Extra Office Hours In Lieu of Precept | ||
Mon 11/21 | Spanner 2 (Jeff Helt) | [pdf] [pptx] | |
Wed 11/23 | Thanksgiving recess | ||
Mon 11/28 | CAP, PRAM, SNOW, PORT, and FLP | [pdf] [pptx] | Optional: CAP, PRAM, SNOW, PORT, FLP |
Making Distributed Systems Faster | |||
Wed 11/30 | Distributed Video Processing | [pdf] [pptx] | Suggested reading: SVE |
Wed or Thu | Concurrency Control | [pdf] [pptx] | |
Fri 12/02 | Assignment 4 (Raft Log Consensus) due at 11:59pm | ||
Mon 12/05 | Reasoning about System Performance | [pdf] [pptx] | |
Wed 12/07 | Tying It All Together | [pdf] [pptx] | |
Wed or Thu | Spanner and SNOW | [pdf] [pptx] | |
Reading Period | |||
Fri 12/16 | Assignment 5 (Key-value Storage Service) due at 5:00pm | ||
Tues 12/20 | Final exam in person. 1:30-4:30pm in McCosh Hall 10. |