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. Wyatt Lloyd has updated it.

Creative Commons License

Date Topics Slides Readings
Mon 08/30 Introduction [pdf] [pptx]
Wed 09/01 Course overview [pdf] [pptx]
Fundamentals
Mon 09/06 Network communication and Remote Procedure Calls [pdf] [pptx]
Tue 09/07
1:00PM-2:30PM
Go systems programming, MapReduce [pdf] [pptx] See also the Go syntax reference
Wed 09/08 RPCs and Failure [pdf] [pptx]
Mon 09/13 Time and logical clocks 1 [pdf] [pptx]
Tue 09/14
2:30PM-4:00PM
Concurrency and RPCs in Go [pdf] [pptx] [code] Suggested reading: "Concurrency" portion of a Tour of Go
Wed 09/15 Time and logical clocks 2 [pdf] [pptx]
Thu 09/16 Assignment 1 due at 11:59pm
Mon 09/20 Distributed snapshots [pdf] [pptx]
Eventual Consistency and Scaling Out
Wed 09/22
Sun 09/26
4:45PM-6:15PM
Eventual consistency, Bayou [pdf] [pptx] Pre-reading: Bayou
Thu 09/23 Assignment 2 due at 11:59pm
Mon 09/27 Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] Suggested reading: Chord
Wed 09/29 Scale-out key-value storage, Dynamo [pdf] [pptx] Pre-reading: Dynamo
Replicated State Machines
Mon 10/04 Replicated State Machines via Primary-Backup [pdf] [pptx]
Wed 10/06 Midterm in-class exam (1h:15m)
Mon 10/11 View Changes and Consensus [pdf] [pptx] See also Viewstamped Replication Revisited
Wed 10/13 Consensus with Paxos [pdf] [pptx]
Mon 10/18 Mid-semester Break
Wed 10/20 Raft [pdf] [pptx] Pre-reading: Raft
See also an online lecture about Raft by John Ousterhout
Mon 10/25 Byzantine Fault Tolerance [pdf] [pptx] Suggested reading: Practical BFT
See also an online lecture about BFT by Barbara Liskov
Strong Consistency and Scaling Out with Transactions
Wed 10/27 Consistency Models [pdf] [pptx]
Mon 11/01 Scalable Causal Consistency [pdf] [pptx] Suggested reading: COPS
Wed 11/03 No class (WEP unveiling)
Mon 11/08 Atomic Commit and Concurrency Control [pdf] [pptx] See also: Franklin, up to and including §3.2
Wed 11/10 CAP, FLP [pdf] [pptx] See also A Brief Tour of FLP Impossibility
Mon 11/15 Big Data Lab 1
Tue 11/16 Assignment 3-1 due at 11:59pm
Wed 11/17 Big Data Lab 2
Sun 11/21
4:45PM-6:15PM
Big Data Lab 2
Mon 11/22 Distributed transactions 1 [pdf] [pptx] Suggested reading: Spanner
Wed 11/24 Distributed transactions 2 [pdf] [pptx]
Various Distributed Systems Topics
Mon 11/29 Reasoning about System Performance [pdf] [pptx]
Wed 12/01 Big data processing [pdf] [pptx]
Thu 12/02 Assignment 3-2 due at 11:59pm
Mon 12/06 Final review session Bring your questions!
Wed 12/08 No class
Thu 12/09 Assignment 4 due at 11:59pm
Sun 12/12
1:00PM-4:00PM
Final exam

Last updated: 2021-12-02 14:37