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/29 Introduction + course overview, MapReduce [pdf] [pptx]
Thu 09/01 Go systems programming [pdf] [handout] See also the Go syntax reference
Fundamentals
Mon 09/05 Network communication and Remote Procedure Calls [pdf] [pptx]
Thu 09/08 Concurrency and RPCs in Go [pdf] [handout] [code] Suggested reading: "Concurrency" portion of a Tour of Go
Mon 09/12 Time and logical clocks 1 [pdf] [pptx]
Wed 09/14 Assignment 1 due at 11:59pm
Thu 09/15 Time and logical clocks 2 [pdf] [pptx]
Mon 09/19 Distributed snapshots [pdf] [pptx]
Wed 09/21 Assignment 2 due at 11:59pm
Thu 09/22 Holiday
Eventual Consistency and Scaling Out
Mon 09/26 Eventual consistency, Bayou [pdf] [pptx] Pre-reading: Bayou
Thu 09/29 Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] Suggested reading: Chord
Mon 10/03 Scale-out key-value storage, Dynamo [pdf] [pptx] Pre-reading: Dynamo
Big Data
Thu 10/06 Big data processing [pdf] [pptx]
Mon 10/10 Big Data Lab 1
Thu 10/13 Big Data Lab 2
Mon 10/17 Mid-semester Break
Replicated State Machines
Thu 10/20 Replicated State Machines via Primary-Backup [pdf] [pptx]
Mon 10/24 Midterm in-class exam (1h:15m)
Thu 10/27 View Changes and Reconfiguration [pdf] [pptx] See also Viewstamped Replication Revisited
Mon 10/31 Consensus with Paxos [pdf] [pptx]
Thu 11/03 Raft [pdf] [pptx] Pre-reading: Raft
See also an online lecture about Raft by John Ousterhout
Mon 11/07 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
Thu 11/10 Consistency Models [pdf] [pptx]
Mon 11/14 Scalable Causal Consistency [pdf] [pptx] Suggested reading: COPS
Wed 11/16 Assignment 3-1 due at 11:59pm
Thu 11/17 CAP, FLP [pdf] [pptx] See also A Brief Tour of FLP Impossibility
Mon 11/21 Atomic Commit and Concurrency Control [pdf] [pptx] See also: Franklin, up to and including §3.2
Thu 11/24 Distributed transactions 1 [pdf] [pptx] Suggested reading: Spanner
Mon 11/28 Distributed transactions 2 [pdf] [pptx]
Wed 11/30 Assignment 3-2 due at 11:59pm
System Evaluation
Thu 12/01 Reasoning about System Performance [pdf] [pptx]
Mon 12/05 No class
Thu 12/08 No class
Thu 12/08 Assignment 4 due at 11:59pm
Wed 12/14, 8:00-10:50AM Final exam Room: 9-4223

Last updated: 2022-11-28 8:42