CSE 452 Winter 2020
Lecture Topics

Subscribe to this calendar (Google, iCal, etc.)

DateDescription
January 6 Intro
Reading (no blog): Google's Introduction to Distributed System Design
Slides
January 8 Remote Procedure Call
Reading (no blog): How to Read a Paper
Optional Reading (up to Section 4, no blog): Knowledge and Common Knowledge in a Distributed Environment
Slides
January 10 Clocks and time
Reading (blog on canvas): Time, Clocks, and the Ordering of Events (up to, but not including, the section on physical clocks)
Slides
January 13 Primary/backup
Slides
January 15 Primary/backup (contd.)
Reading: The Design of a Practical System for Fault-Tolerant Virtual Machines
Slides
January 17 Vector clocks, snapshots, and stable properties
Reading (no blog): Consistent Global States of Distributed Systems
Focus on Sections 10. Slides
January 22 No class
January 24 Snapshots and stable properties (cont.)Reading (blog): Consistent Global States of Distributed Systems
Focus on Sections 13.
January 27 Safety, Liveness, and Consistency
Reading (no blog, focus on sections 4 and 5): On Interprocess Communication
Optional Reading: Linearizability: A Correctness Condition for Concurrent Objects
Optional Reading: Recognizing Safety and Liveness
Slides
January 29 Paxos
Reading: Paxos Made Simple
Slides
January 31 Paxos (cont.)
February 3 Randomized consensus
Reading: Another Advantage of Free Choice
Slides
February 5 Multi-round Paxos
Reading: Paxos Made Moderately Complex (first 20 pages)
Slides
February 7 Multi-round Paxos (cont.)
February 10 Multi-writer, multi-reader atomic registers
Reading (no blog): Sharing memory robustly in message-passing systems
Slides
February 12 Two-phase commit
Reading: Bernstein, Hadzilacos, and Goodman, Distributed Recovery (up to, but not including, Three-Phase Commit)
Slides
February 14 Google File System
Reading: The Google File System
Slides
February 19 BigTable
Reading: Bigtable: A Distributed Storage System for Structured Data
Slides
February 21 No class
February 24 Spanner
Reading: Spanner: Google’s Globally-Distributed Database
Slides
February 26 More Spanner
February 28 Byzantine Fault-Tolerance
Reading: Practical Byzantine Fault Tolerance
Slides
March 2 Byzantine Fault-Tolerance (contd.)
March 4 Proof of Work and Proof of Stake
Reading (no blog): Bitcoin, Algorand
Slides
March 6 Bitcoin wrapup
March 9 Eventual Consistency and Dynamo
Reading: Bayou, Dynamo
Slides
March 11 Memcached/Cache Coherence
Reading: Nishtala et al., Scaling Memcache at Facebook
Slides
March 13 Course wrapup