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 and Jialin Ding, Princeton University.

Creative Commons License

Date Topics Slides Readings
Fundamentals
Thu 9/3 Distributed Systems Intro and Course Overview (Ding) [pdf] [pptx]
Fri 9/4 Go systems programming [pdf] [pptx]
Tue 9/8 Network communication and Remote Procedure Calls (Freedman) [pdf] [pptx]
Thu 9/10 Intro to Failure: RPCs (Freedman) [pdf] [pptx]
Fri 9/11 Concurrency in Go, MapReduce
Tue 9/15 Time and Logical Clocks 1 (Freedman) Suggested reading: Time, Clocks...
Tue 9/15 Assignment 1-1 (Go) and 1-2 (Simple MapReduce) due at 11:59pm
Thu 9/17 Time and Logical Clocks 2 (Freedman)
Fri 9/18 RPCs in Go
Fri 9/18 Assignment 1-3 (Distributed MapReduce) due at 11:59pm
Eventual Consistency and Scaling Out
Tue 9/22 Distributed Snapshots (Ding) Suggested reading: Chandy-Lamport
Thu 9/24 Eventual consistency, Bayou (Ding) Suggested reading: Bayou
Fri 9/25 Distributed Snapshots
Tue 9/29 Peer-to-Peer Systems and Distributed Hash Tables (Freedman) Suggested reading: Chord
Thu 10/1 Chord under Failures (Freedman)
Fri 10/2 Bayou and Chord
Fri 10/2 Assignment 2 (Chandy Lamport Snapshots) due at 11:59pm
Replicated State Machines
Tue 10/6 Replicated State Machines via Primary Backup (Ding)
Thu 10/8 View Changes and Consensus (Ding)
Fri 10/9 Successful System Implementation Strategies
Tue 10/13 Consensus with RAFT (Ding) Suggested reading: RAFT
Thu 10/15 Midterm Review Session (Ding)
Thu 10/15 Midterm exam in person, TBD
Fri 10/16 No recitation
Tue 10/20 Fall Recess
Thu 10/22 Fall Recess
Tue 10/27 More RAFT (Ding) Same slides as previous lecture
Strong Consistency and Scaling Out with Transactions
Thu 10/29 Strong Consistency (Freedman)
Fri 10/30 RAFT
Tue 11/3 Scalable Causal Consistency (Ding) Suggested reading: COPS
Thu 11/5 Atomic Commit and Concurrency Control (Ding)
Fri 11/6 Consistency
Fri 11/6 Assignment 3 (Raft Leader Election) due at 11:59pm
Tue 11/10 Spanner 1 (Freedman) Suggested reading: Spanner
Thu 11/12 Spanner 2 (Freedman)
Fri 11/13 Concurrency Control
Distributed Systems Potpourri
Tue 11/17 Blockchains (Freedman)
Thu 11/19 AI Systems (Freedman)
Fri 11/20 Spanner
Tue 11/24 CAP, PRAM, SNOW, PORT, and FLP (Ding)
Tue 11/24 Assignment 4 (Raft Log Consensus) due at 11:59pm
Thu 11/26 Thanksgiving Break
Tue 12/1 Databases (Ding)
Thu 12/3 Reasoning about System Performance (Ding)
Fri 12/4 Extra Office Hours In Lieu of Precept
Reading Period
Tue 12/15 Assignment 5 (Key-value Storage Service) due at 11:59pm
Sat 12/19 Final exam in person, 8:30am-11:30am