CS-240 Syllabus

Schedule

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. Michael Freedman and Kyle Jamieson developed much of the original material.

Creative Commons License

Date Topics Readings Notes
Fundamentals
Sun 08/25 Course overview [pdf] [pptx]
Wed 08/28 Case study: GFS [txt] Pre-reading: GFS
Sun 09/01 Network communication and Remote Procedure Calls [pdf] [pptx]
Tue 09/03 1:00PM-2:30PM Go systems programming [pdf] [pptx] See also the Go syntax reference
Wed 09/04 Time synchronization and logical clocks [pdf] [pptx]
Sun 09/08 Vector clocks and distributed snapshots [pdf] [pptx] More on Chandy-Lamport [txt] [pptx]
Tue 09/10 1:00PM-2:30PM Concurrency in Go, MapReduce [pdf] [pptx] Suggested reading: "Concurrency" portion of a Tour of Go
Eventual Consistency and Scaling Out
Wed 09/11 Eventual consistency, Bayou [pdf] [pptx] Pre-reading: Bayou
Sun 09/15 Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] Suggested reading: Chord Assignment 1 due
Tue 09/17 4:00PM-5:00PM RPCs in Go [code]
Wed 09/18 Scale-out key-value storage, Dynamo [pdf] [pptx] Pre-reading: Dynamo
Sun 09/22 Administrative Holiday
Replicated State Machines
Wed 09/25 Replicated State Machines via Primary-Backup [pdf] [pptx] Assignment 2 due
Sun 09/29 Two-phase commit, introducing safety and liveness [pdf] [pptx]
Wed 10/02 Reconfiguration and View Change Protocols [pdf] [pptx] See also Viewstamped Replication Revisited
Sun 10/06 Consensus and Paxos [pdf] [pptx] See also A Brief Tour of FLP Impossibility
Wed 10/09 Putting it together - Leader election, Raft [pdf] [pptx] Pre-reading: Raft
See also an online lecture about Raft by John Ousterhout
Sun 10/13 Midterm review session Send your questions by Thu 10/10, 12pm!
Wed 10/16 No class
Sun 10/20 Midterm in-class exam (1h:15m) Covering till Raft
Strong Consistency and Scaling Out with Transactions
Wed 10/23 Byzantine Fault Tolerance [pdf] [pptx] Suggested reading: Practical BFT
See also an online lecture about BFT by Barbara Liskov
Sun 10/27 Mid-semester Break
Wed 10/30 Strong consistency and CAP Theorem [pdf] [pptx]
Sun 11/03 Scalable Causal Consistency [pdf] [pptx] See also COPS
Wed 11/06 Concurrency Control [pdf] [pptx] Pre-reading: Franklin, up to and including §3.2
Sun 11/10 Big data lab - session 1 Assignment 3-1 due
Wed 11/13 Big data lab - session 2
Sun 11/17 Distributed transactions in Spanner [pdf] [pptx] Suggested reading: Spanner
Various Distributed Systems Topics
Wed 11/20 Big data processing [pdf] [pptx]
Sun 11/24 Big data processing continued
Wed 11/27 Blockchain systems [pdf] [pptx] Assignment 3-2 due
Sun 12/01 Tying it all together
Wed 12/04 Final review session Bring your questions!
Assignment 4 due
Sun 12/08 9:00AM-12:00PM Final exam Bldg 9, Room 3125

Last updated: 2019-11-27 15:34:09