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/26 Course overview [pdf] [pptx]
Wed 08/29 Case study: GFS [txt] Pre-reading: GFS Assignment 1 out
Sun 09/02 Network communication and Remote Procedure Calls [pdf] [pptx]
Tue 09/04 1:00PM-2:30PM Go systems programming [pdf] [pptx] [code] See also the Go syntax reference
Wed 09/05 Network file systems [pdf] [pptx] See also the book chapters on AFS and NFS from the Wisconsin OS book
Time
Sun 09/09 Time synchronization and logical clocks [pdf] [pptx]
Tue 09/10 1:00PM-2:30PM Concurrency in Go [pdf] [pptx] [code] Suggested reading: "Concurrency" portion of a Tour of Go
Wed 09/12 Vector clocks and distributed snapshots [pdf] [pptx] More on Chandy-Lamport [txt] [pptx]
Eventual Consistency
Sun 09/16 Eventual consistency, Bayou [pdf] [pptx] Pre-reading: Bayou
Tue 09/18 1:00PM-2:30PM RPCs in Go [code]
Wed 09/19 Peer-to-Peer Systems and Distributed Hash Tables [pdf] [pptx] Suggested reading: Chord Assignment 1 due
Sun 09/23 Saudi National Day Assignment 2 out
Tue 09/25 1:00PM-2:30PM Scale-out key-value storage, Dynamo [pdf] [pptx] Pre-reading: Dynamo
Replicated State Machines
Wed 09/26 Replicated State Machines via Primary Backup [pdf] [pptx]
Sun 09/30 Reconfiguration and View Change Protocols [pdf] [pptx] See also Viewstamped Replication Revisited
Tue 10/01 1:00PM-2:30PM Virtualization and containerization
Wed 10/03 Consensus and Paxos [pdf] [pptx] See also A Brief Tour of FLP Impossibility
Sun 10/07 No class
Tue 10/09 1:00PM-2:30PM Consensus
Wed 10/10 No class
Sun 10/14 Putting it together - Leader Election, Raft [pdf] [pptx] Pre-reading: Raft
See also an online lecture about Raft by John Ousterhout
Assignment 2 due
Assignment 3 out
Wed 10/17 Midterm review session Send your questions by Tue, 12pm!
Sun 10/21 No class
Wed 10/24 Midterm in-class exam (1h:15m) Covering till Raft
Stronger Consistency Models
Sun 10/28 Fall break
Tue 10/30 2:30-4:00PM Byzantine Fault Tolerance [pdf] [pptx] Suggested reading: Practical BFT
See also an online lecture about BFT by Barbara Liskov
Wed 10/31 Strong consistency and CAP Theorem [pdf] [pptx]
Transactions
Sun 11/04 Causal consistency and Two-Phase Commit [pdf] [pptx] See also COPS
Wed 11/07 Concurrency Control [pdf] [pptx] Pre-reading: Franklin, up to and including §3.2
Sun 11/11 More CC and Distributed transactions, Spanner [pdf] [pptx] Suggested reading: Spanner
Various Distributed Systems Topics
Wed 11/14 Virtualization and Cloud computing [pdf] [pptx] See also the book chapter on Virtual Machines from the Wisconsin OS book Assignment 3 due
Assignment 4 out
Sun 11/18 Security [pdf] [pptx] Dr. Amedeo Sapio
Wed 11/21 Blockchain [pdf] [pptx] Pre-reading: Bitcoin
Sun 11/25 Performance evaluation [pdf] [pptx]
Wed 11/28 Data-intensive computing I: graph processing, distributed ML [pdf] [pptx] Suggested reading: GraphLab and Distributed GraphLab
Sun 12/02 Data-intensive computing II: stream processing, coordination [pdf] [pptx]
Wed 12/05 Final review session Bring your questions!
Assignment 4 due
TBA Final exam

Last updated: 2018-12-02 11:30:38