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/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 |