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.

Creative Commons License

Date Topics Slides Readings
Wed 09/12 Course overview and intro [pdf] [pptx]
Fri 09/14 Go systems programming [pdf] [syntax] [all.tar]
Mon 09/17 Network communication and Remote Procedure Calls [pdf] [pptx]
Wed 09/19 Time and Logical Clocks [pdf] [pptx]
Thurs 09/20 Assignment 1-1 (Go) due at 11:59pm
Fri 09/21 Concurrency in Go, MapReduce [pdf]
Mon 09/24 Time and Logical Clocks Continued
Wed 09/26 Vector clocks and distributed snapshots [pdf] [pptx]
Thurs 09/27 Assignment 1-2 (Simple MapReduce) due at 11:59pm
Fri 09/28 RPCs in Go [pdf] [wc-server]
Eventual Consistency and Scaling Out
Mon 10/01 Eventual consistency, Bayou [pdf] [pptx] Suggested reading: Bayou
Wed 10/03 Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] Suggested reading: Chord
Thurs 10/04 Assignment 1-3 (Distributed MapReduce) due at 11:59pm
Fri 10/05 Distributed Snapshots [pdf] [handout]
Mon 10/08 Scale-out key-value storage, Dynamo (Logan Stafman) [pdf] [pptx] Suggested reading: Dynamo
Replicated State Machines
Wed 10/10 Replicated State Machines via Primary Backup (Amit Levy) [pdf] [pptx]
Fri 10/12 Bayou and Dynamo [pdf]
Mon 10/15 Reconfiguration and View Change Protocols [pdf] [pptx]
Wed 10/17 Consensus and Paxos [pdf] [pptx]
Thurs 10/18 Assignment 2 (Chandy Lamport Snapshots) due at 11:59pm
Fri 10/19 Viewstamped Replication [pdf]
Mon 10/22 Putting it together - Leader Election and RAFT [pdf] [pptx] Pre-reading: RAFT
Wed 10/24 Midterm exam, 7-9pm, Computer Science 104
Fri 10/26 Midterm review
Mon 10/30 Fall recess
Wed 11/01 Fall recess
Fri 11/03 Fall recess
Strong Consistency and Scaling Out with Transactions
Mon 11/05 Strong consistency and the CAP Theorem [pdf] [pptx]
Wed 11/07 Consistency Continued
Fri 11/09 RAFT [pdf] [slides w solutions] [handout]
Mon 11/12 Scalable Causal Consistency [pdf] [pptx]
Wed 11/14 Atomic Commit and Concurrency Control [pdf] [pptx]
Fri 11/16 Consistency [pdf] [handout]
Mon 11/19 Spanner [pdf] [pptx]
Tues 11/20 Assignment 3 (Raft Leader Election) due at 11:59pm
Wed 11/21 Thanksgiving recess
Fri 11/23 Thanksgiving recess
Mon 11/26 The SNOW Theorem and Systems (Haonan Lu) [pdf] [pptx] Suggested reading: SNOW
Various Distributed Systems Topics
Wed 11/28 Blockchains (Zhenyu Song) [pdf] Suggested reading: Bitcoin | [optional pdf]
Fri 11/30 Concurrency Control [pdf]
Mon 12/03 Big data processing [pdf] [pptx]
Wed 12/05 Big data processing continued (video processing) [pdf] [pptx]
Fri 12/07 Spanner and SNOW [pdf]
Mon 12/10 Content Delivery Networks [pdf] [pptx]
Wed 12/12 Tying It All Together [pdf] [pptx]
Fri 12/14 Assignment 4 (Raft Log Consensus) due at 11:59pm
Reading Period
Tues 01/15 Assignment 5 (Key-value Storage Service) due at 11:59pm
Wed 01/23 Final exam, 730pm, Friend Center 101