CSE 452 Winter 2025
Lecture Topics

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

DateDescription
January 6 Introduction and Web Application Architecture(Tom)
Slides
January 8 Remote Procedure Call Part 2 (Tom)
Slides
January 10 Primary Backup (Stephanie)
Reading (up to How Distributed Consensus Works): Managing Critical State
Slides
January 13 Primary Backup, part 2 (Stephanie)
Slides
January 15 Lab 2: Primary Backup
Slides
January 17 Time and Virtual Clocks (Tom)
Reading (up to, but not including, the section on physical clocks): Lamport, Time, Clocks, and the Ordering of Events

Slides
January 22 Vector Clocks (Tom)
Reading (focus on Section 10): Consistent Global States of Distributed Systems
Slides
Slides plus State Transitions
January 27 Replicated State Machines and Paxos Part 1 (Stephanie)
Reading (How Distributed Consensus Works up to Distributed Consensus Performance): Managing Critical State
Slides
January 29 Paxos Part 2 (Stephanie)
Lamport, Paxos Made Simple
Slides
January 31 MultiPaxos (Stephanie)
Slides
February 3 MultiPaxos Part 2 (Stephanie)
Reading (first 20 pages): van Renesse and Altinbuken, Paxos Made Moderately Complex
Optional reading: Oki and Liskov, Viewstamped Replication: A New Primary Copy Method to Support Highly-Available Distributed Systems
Slides
February 5 Lab 3: Multipaxos Illustrated
Slides
February 7 Memory Consistency (Tom)
Reading (focus on sections 4 and 5): Lamport, On Interprocess Communication
Slides
February 12 Memory Consistency Part 2 (Tom)
Optional reading: CockroachDB's consistency model
Slides and more slides
February 14 Distributed Cache Coherence (Tom)
Slides
February 19 Sharding (Tom)
Slides
February 21 Two-phase commit (Stephanie)
Reading (up to, but not including, three-phase commit): Bernstein, Hadzilacos, and Goodman, Distributed Recovery
Slides
February 24 Non-blocking two-phase commit (Stephanie)
Optional reading: CockroachDB
Slides
February 26 Lab 4 Part 3
Slides
March 3 Microservices (Tom)
Reading (blog): Saokar et al., ServiceRouter: Hyperscale and Minimal Cost Service Mesh at Meta
Optional: Yegge, Google Platform Rant
Blog choice #1 (3 of 6)
Slides
March 5 Mapreduce (Stephanie)
Reading (blog): Dean and Ghemawat, MapReduce: Simplified Data Processing on Large Clusters
Blog choice #2
Slides
March 7 BigTable (Tom)
Reading (blog): Chang et al., Bigtable: A Distributed Storage System for Structured Data
Optional: Burrows, The Chubby lock service for loosely-coupled distributed systems
Blog choice #3
Slides
March 10 Bitcoin (Stephanie)
Reading: Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System
Blog choice #4
Slides
March 12 Dynamo (Tom)
Reading: Decandia, Dynamo: Amazon's Highly Available Key-Value Store
Optional: Elhemali et al., Amazon DynamoDB
Blog choice #5
Slides
March 14 Ray (Stephanie)
Sections 1-2 of Moritz et al., Ray: A Distributed Framework for Emerging AI Applications
and Wang et al., Ownership: A Distributed Futures System for Fine-Grained Tasks
Blog choice #6
Slides