Lecture Topics

DateDescription
January 3 Introduction
Reading: Google's Introduction to Distributed System Design
Notes
Whiteboard
Video (netid only)
January 5 Muddy Foreheads; Failure models
Notes
Whiteboard
Video (netid only)
January 7 Remote Procedure Call
Notes
Whiteboard
Video (netid only)
January 10 RPC wrapup and Transition Systems 1
Notes (now expanded! but see L3 for RPC)
Whiteboards
Video (netid only)
January 12 Primary/backup 1
Notes (combined with L6)
Whiteboard
Video (netid only)
January 14 Primary/backup 2
Notes (combined with L5)
Whiteboard (picks up from L5)
Video (netid only)
January 19 Transition Systems 2
Notes (combined with L4)
Whiteboards
Video (netid only)
January 21 Distributed transition systems
Notes (TBD)
Whiteboards
Video (netid only)
January 24 Virtual Clocks
Reading (up to, but not including, the section on physical clocks): Lamport, Time, Clocks, and the Ordering of Events
Notes (TBD)
Whiteboards
Video (netid only)
January 26 Paxos
Reading: Lamport, Paxos Made Simple
Notes (TBD)
Whiteboards
Video (netid only)
January 28 More Paxos
Notes (TBD)
Whiteboards
Video (netid only)
January 31 MultiPaxos and Leases
Reading (first 20 pages): van Renesse and Altinbuken, Paxos Made Moderately Complex
Notes (TBD)
Whiteboards
Video (netid only)
February 2 More MultiPaxos
Whiteboards
Video (netid only)
February 4 Consistency Models
Reading (focus on sections 4 and 5): Lamport, On Interprocess Communication
Notes (TBD)
Whiteboards
Video (netid only)
February 7 Lab 2 debrief/code review
Whiteboards
Video (netid only)
February 9 More Lab 2 debrief
Whiteboards
Video (netid only)
February 11 Vector Clocks
Reading (focus on Section 10): Consistent Global States of Distributed Systems
Whiteboards
Video (netid only)
February 14 Snapshots
Reading (focus on Section 13): Consistent Global States of Distributed Systems
Whiteboards
Video (netid only)
February 16 Sharding
Whiteboards
Video (netid only)
February 18 Two-phase commit
Reading (up to, but not including, three-phase commit):Bernstein, Hadzilacos, and Goodman, Distributed Recovery
Whiteboards
Video (netid only)
February 23 Microservices
Materials Reading (blog): Yegge, Google Platform Rant
Reading: Keshav, How to Read a Paper
Whiteboards
Video (netid only)
February 25 BigTable
Reading (blog): Chang et al., Bigtable: A Distributed Storage System for Structured Data
Whiteboards
Video (netid only)
February 28 Google File System
Reading (blog): Ghemawat et al., The Google File System
Whiteboards
Video (netid only)
March 2 Spanner
Reading (blog): Spanner: Google’s Globally-Distributed Database
Whiteboards
Video (netid only)
March 4 Bayou and git
Reading (blog):Terry, Managing Update Conflicts in Bayou
Whiteboards
Video (netid only)
March 7 Dynamo
Reading (blog): Decandia et al., Dynamo: Amazon's Highly Available Key-Value Store
Whiteboards
Video (netid only)
March 9 IronFleet
Reading (blog): Hawblitzel et al., IronFleet: Proving Practical Distributed Systems Correct
Whiteboards
Video (netid only)
March 11 Tapir and Course wrapup
Reading (blog): Zhang et al., Building Consistent Transactions with Inconsistent Replication
Whiteboards
Video (netid only)