Schedule

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, Kyle Jamieson, and Wyatt Lloyd, Princeton University.

Creative Commons License

Date Topics Slides Readings
Fundamentals
Mon 1/27 Distributed Systems Intro (Freedman) [pdf] [pptx]
Wed 1/29 Course Overview (Lloyd) [pdf] [pptx]
Thu or Fr Go systems programming [pdf] [pptx]
Mon 2/3 Network communication and Remote Procedure Calls (Freedman) [pdf] [pptx]
Wed 2/5 Intro to Failure: RPCs (Lloyd)
Thu or Fri Concurrency in Go, MapReduce
Fri 2/7 Assignment 1-1 (Go) due at 11:59pm
Mon 2/10 Time and Logical Clocks 1 (Freedman) Suggested reading: Time, Clocks...
Tues 2/11 Assignment 1-2 (Simple MapReduce) due at 11:59pm
Wed 2/12 Time and Logical Clocks 2 (Freedman)
Thu or Fri RPCs in Go
Fri 2/14 Assignment 1-3 (Distributed MapReduce) due at 11:59pm
Eventual Consistency and Scaling Out
Mon 2/17 Distributed Snapshots (Lloyd) Suggested reading: Chandy-Lamport
Wed 2/19 Eventual consistency, Bayou (Lloyd) Suggested reading: Bayou
Thu or Fri Distributed Snapshots
Mon 2/24 Peer-to-Peer Systems and Distributed Hash Tables (Freedman) Suggested reading: Chord
Wed 2/26 Chord under Failures (Freedman) Same slides as previous lecture
Thu or Fri Bayou and Chord
Fri 2/28 Assignment 2 (Chandy Lamport Snapshots) due at 11:59pm
Replicated State Machines
Mon 3/3 Replicated State Machines via Primary Backup (Lloyd)
Wed 3/5 View Changes and Consensus (Lloyd)
TBD Office Hours open to all students in lieu of precepts, at TBD
Date TBD Midterm exam in person, 730pm-10pm in TBD. Likely to be scheduled for Thurs 3/6.
Mon 3/10 Spring Break
Wed 3/12 Spring Break
Mon 3/17 Review Of the Midterm (Lloyd)
Wed 3/19 Consensus with RAFT (Freedman) Suggested reading: RAFT
Thu or Fri Successful System Implementation Strategies + Raft Leader Election
Mon 3/24 More RAFT (Freedman) Same slides as previous lecture
Strong Consistency and Scaling Out with Transactions
Wed 3/26 Strong Consistency (Lloyd)
Thu or Fri RAFT
Fr 3/28 Assignment 3 (Raft Leader Election) due at 11:59pm
Mon 3/31 Scalable Causal Consistency (Lloyd) Suggested reading: COPS
Wed 4/2 Atomic Commit and Concurrency Control (Lloyd)
Thu or Fri Consistency
Mon 4/7 Spanner 1 (Freedman) Suggested reading: Spanner
Wed 4/9 Spanner 2 (Freedman)
Thu or Fri Concurrency Control
Mon 4/14 CAP, PRAM, SNOW, PORT, and FLP (Lloyd Video) Optional: CAP, PRAM, SNOW, PORT, FLP
Making Distributed Systems Faster
Wed 4/16 Reasoning about System Performance (Lloyd Video)
Thu or Fri Spanner and SNOW
Fri 4/18 Assignment 4 (Raft Log Consensus) due at 11:59pm
Mon 4/21 AI Systems (Freedman)
Wed 4/23 Blockchains (Freedman)
Thu or Fri Extra Office Hours In Lieu of Precept
Reading Period
Tu 5/06 Assignment 5 (Key-value Storage Service) due at 11:59pm
Tu 5/13 Final exam in person, 830am-1130am in TBD