This schedule and syllabus is preliminary and subject to change. Reading assignments refer to the Tanenbaum book, unless otherwise specified.
Lectures and related materials are licensed for use under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License, attributed to Michael Freedman and Kyle Jamieson, Princeton University.
Date | Topics | Readings | Notes |
---|---|---|---|
Fundamentals | |||
Wed 09/14 | Course overview, principles, MapReduce (MF) [pdf] [pptx] | Pre-reading: Map Reduce | |
Fri 09/16 | Go systems programming | Guest lecturer - Sameer Ajmani (Room CS 105) | |
Mon 09/19 | Network file systems (MF) [pdf] [pptx] | ||
Wed 09/21 | Network communication and Remote Procedure Calls (KJ) [pdf] [pptx] | ||
Fri 09/23 | Concurrency in Go [pdf][code] | Suggested reading: Go Tutorial | Both precepts to meet in CS 105 |
Mon 09/26 | Time synchronization and logical clocks (KJ) [pdf] [pptx] | ||
Fault Tolerance | |||
Wed 09/28 | Primary backup (KJ) [pdf] [pptx] | Pre-reading: VM replication | Assignment 1 due |
Fri 09/30 | Assignment 2 overview; RPCs in Go [pdf][code] | ||
Mon 10/03 | Two-phase commit, introducing safety and liveness (DS) [pdf] [pptx] | ||
Wed 10/05 | Consensus I: FLP Impossibility, Paxos (MF) [pdf] [pptx] | ||
Fri 10/07 | 2PC and Paxos review [pdf] | ||
Mon 10/10 | Consensus II: Replicated State Machines, Raft (MF) [pdf] [pptx] | Pre-reading: Raft | |
Wed 10/12 | Byzantine Fault Tolerance (KJ) [pdf] [pptx] | Suggested reading: Practical BFT | |
Fri 10/14 | Big Data and Spark | Guest lecturer - Patrick Wendell (Robertson 016) | |
Scalability, Consistency, and Transactions | |||
Mon 10/17 | Peer-to-Peer Systems and Distributed Hash Tables (KJ) [pdf] [pptx] | Suggested reading: Chord | |
Wed 10/19 | Eventual consistency (KJ) [pdf] [pptx] | Pre-reading: Bayou Suggested reading: Flexible Updates |
Assignment 2 due |
Fri 10/21 | Assignment 2 and Raft review; Assignment 3 preview | Both precepts to meet in Robertson 016 | |
Mon 10/24 | Scaling Services: Key-Value Storage (KJ) [pdf] [pptx] | Pre-reading: Dynamo | |
Wed 10/26 | Midterm review session | Bring your questions! | |
Fri 10/28 | Midterm in-class exam | Non-standard location: CS 104 (large auditorium) | |
Mon 10/31 | Fall break | ||
Wed 11/02 | Fall break | ||
Fri 11/04 | Fall break | ||
Mon 11/07 | Strong consistency and CAP Theorem (MF) [pdf] [pptx] | ||
Wed 11/09 | Causal consistency (MF) [pdf] [pptx] | Suggested reading: COPS | |
Fri 11/11 | Consistency review [pdf] | ||
Mon 11/14 | Concurrency Control, Locking, and Recovery (KJ) [pdf] [pptx] | Pre-reading: Franklin, up to and including §3.2 | |
Wed 11/16 | Concurrency Control 2 (OCC, MVCC) and Distributed Transactions (MF) [pdf] [pptx] | Suggested reading: Spanner | |
Fri 11/18 | Spanner [pdf] | ||
Boutique Topics | |||
Mon 11/21 | Conflict Resolution (OT), Crypto, Untrusted Cloud Services (MF) [pdf] [pptx] | Pre-reading: SPORC (Sections 1-3) | Assignment 3 due |
Wed 11/23 | Thanksgiving break | ||
Fri 11/25 | Thanksgiving break | ||
Mon 11/28 | Blockchains (MF) [pdf] [pptx] | Pre-reading: Bitcoin | |
Wed 11/30 | Content Delivery Networks (KJ) [pdf] [pptx] | ||
Fri 12/02 | Reviewing Assignment 3 | ||
Mon 12/05 | Distributed Mesh Wireless Networks (KJ) [pdf] [pptx] | Pre-reading: Roofnet. Optional reading: 2015 Cisco Meraki Measurements and accompanying public review. |
|
More Big Data Processing | |||
Wed 12/07 | Graph processing (KJ) [pdf] [ppt] | Pre-reading: GraphLab and Distributed GraphLab. | |
Fri 12/09 | Chandy-Lamport snapshotting [pdf] | ||
Mon 12/12 | Stream processing (MF) [pdf] [pptx] | ||
Wed 12/14 | Cluster scheduling (MF) [pdf] [pptx] | Assignment 4 due | |
Reading Period | |||
Tue 01/10 | Raft assignments [pdf] | ||
Tue 01/17 | Assignment 5 due | ||
Mon 01/23 | Final exam | 1:30-4:30pm, CS 104 (large auditorium) |
Last updated: 2017-10-03 15:30:19 -0400