COS-418 Syllabus


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.

Creative Commons License

Date Topics Readings Notes
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