COS-418 Syllabus

Schedule

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
Fundamentals
Wed 09/13 Principles of distributed systems (MF) [pdf] [pptx]
Fri 09/15 Go systems programming [zip]
Mon 09/18 Network communication and Remote Procedure Calls (KJ) [pdf] [pptx]
Wed 09/20 Network file systems: naming, cache control, consistency (MF) [pdf] [pptx]
Time
Fri 09/22 Concurrency in Go, MapReduce [pdf] Assignment 1-1 (Go) due Thurs night
Mon 09/25 Time synchronization and logical clocks (KJ) [pdf] [pptx]
Wed 09/27 Vector clocks and distributed snapshots (KJ) [pdf] [pptx]
Fri 09/29 RPCs in Go [zip] Assignment 1-2 (Simple MapReduce) due Thurs night
Eventual Consistency
Mon 10/02 Eventual consistency, Bayou (KJ) [pdf] [pptx] Pre-reading: Bayou
Wed 10/04 Peer-to-Peer Systems and Distributed Hash Tables (KJ) [pdf] [pptx] Suggested reading: Chord
Fri 10/06 Distributed Snapshots [zip] Assignment 1-3 (Distributed MapReduce) due Thurs night
Mon 10/09 Scale-out key-value storage, Dynamo (KJ) [pdf] [pptx] Pre-reading: Dynamo
Wed 10/11 Conflict resolution in eventual consistency (MF) [pdf] [pptx]
Fri 10/13 Dynamo and Bayou [pdf]
Replicated State Machines
Mon 10/16 Replicated State Machines via Primary Backup (MF) [pdf] [pptx]
Wed 10/18 Reconfiguration and View Change Protocols (KJ) [pdf] [pptx]
Fri 10/20 Viewstamped Replication [pdf] Assignment 2 (Chandy Lamport Snapshots) due
Mon 10/23 Consensus and Paxos (MF) [pdf] [pptx]
Wed 10/25 Putting it together - Two-Phase Commit, Leader Election, RAFT (MF) [pdf] [pptx] Pre-reading: Raft
Fri 10/27 Midterm in-class exam 10-11:30 or 11-12:30 in CS105
Mon 10/30 Fall break
Wed 11/01 Fall break
Fri 11/03 Fall break
Mon 11/06 Byzantine Fault Tolerance (KJ) [pdf] [pptx] Suggested reading: Practical BFT
Stronger Consistency Models
Wed 11/08 Strong consistency and CAP Theorem (MF) [pdf] [pptx]
Fri 11/10 Raft [zip]
Mon 11/13 Causal consistency (MF) [pdf] [pptx] Suggested reading: COPS
Transactions
Wed 11/15 Concurrency Control - Locking and Recovery (KJ) [pdf] [pptx] Pre-reading: Franklin, up to and including §3.2
Fri 11/17 Consistency [zip]
Mon 11/20 Concurrency Control 2 - OCC and MVCC (MF) [pdf] [pptx]
Wed 11/22 Thanksgiving break Assignment 3 (Raft Leader Election) due Tues night
Fri 11/24 Thanksgiving break
Mon 11/27 Ditributed transactions, Spanner (MF) [pdf] [pptx] Suggested reading: Spanner
Various Distributed Systems Topics
Wed 11/29 Blockchains (MF) [pdf] [pptx] Pre-reading: Bitcoin
Fri 12/01 Concurrency control [pdf]
Mon 12/04 Big data processing (MF) [pdf] [pptx]
Wed 12/06 Optional lecture--Spring Wireless Networks Course Preview (KJ) [pdf]
Fri 12/08 Big data systems [pdf]
Mon 12/11 Clustering scheduling and fairness (MF) [pdf] [pptx]
Wed 12/13 Content Delivery Networks (KJ)
Fri 12/15 Assignment 4 (Raft Log Consensus) due
Reading Period
Tue 01/16 Assignment 5 (Key-Value Storage Service) due

Last updated: 2017-12-09 15:48:59 -0500