First day of classes
LEC 1 (rtm): Introduction
Preparation: Read MapReduce (2004)
Assigned: Lab 1: MapReduce
LEC 2 (fk): RPC and Threads, crawler.go, kv.go, vote examples
Preparation: Do Online Go tutorial (FAQ) (Question)
LEC 3 (fk): GFS
Preparation: Read GFS (2003) (FAQ) (Question)
Assigned: Lab 2: Key/Value server
LEC 4 (rtm): Paxos pseudo-code FAQ
Preparation: Read Paxos (Question)
DUE: Lab 1. All labs are due at 11:59pm.
President's day
Assigned: Lab 3: Raft
Monday schedule
LEC 5 (guest lecture): (Russ Cox of Google/Go) Go patterns
Preparation: Read The Go Programming Language and Environment (FAQ) (Question)
DUE: Lab 2
Snow day, no lecture
LEC 6 (fk): Fault Tolerance: Raft (1)
Preparation: Read Raft (extended) (2014), to end of Section 5 (FAQ) (Question)
DUE: Lab 3A
LEC 7 (fk): Fault Tolerance: Raft (2)
Preparation: Read Raft (extended) (2014), Section 7 to end (but not Section 6) (FAQ) (Question)
Assigned: Final Project
LEC 8 (rtm): Consistency and Linearizability
Preparation: Linearizability (only through Section 3.1) (FAQ) (Question)
DUE: Lab 3B
ADD DATE
LEC 9 (fk): Zookeeper
Preparation: Read ZooKeeper (2010) (FAQ) (Question)
Assigned: Lab 4: KV Raft
LEC 10 (fk): Q&A Lab 3A+B
Preparation: (Question)
DUE: Lab 3C
LEC 11 (rtm): Distributed Transactions
Preparation: Read 6.033 Chapter 9, just 9.1.5, 9.1.6, 9.5.2, 9.5.3, 9.6.3 (FAQ) (Question)
Mid-term Exam, Walker (50-340), 1:00 to 2:30
Materials: Open book, notes, laptop.
Scope: Lectures 1 through 11, Labs 1, 2, and 3A-C
Old Exams
DUE: Project proposals (if you are doing a project)
Spring break
Spring break
Spring break
Spring break
Spring break
LEC 12 (rtm): Spanner
Preparation: Read Spanner (2012) (FAQ) (Question)
LEC 13 (fk): Chain Replication
Preparation: Read CR (2004) (FAQ) (Question)
DUE: Lab 3D
LEC 14 (fk): Optimistic Concurrency Control
Preparation: Read FaRM (2015) (FAQ) (Question)
Assigned: Lab 5: Sharded KV
LEC 15 (Upamanyu Sharma): Verification of distributed systems
Preparation: Read IronFleet (2015) (Question)
DUE: Lab 4A
Hacking day, no lecture
LEC 16 (rtm): Cache Consistency: Memcached at Facebook
Preparation: Read Memcached at Facebook (2013) (FAQ) (Question)
DUE: Lab 4B+C
Patriot's day
LEC 17 (Marc Brooker, on zoom): AWS Lambda
Preparation: Read On-demand Container Loading (2023) (Question)
DROP DATE
LEC 18 (fk): Ray
Preparation: Read Ray (2021) (FAQ) (Question)
LEC 19 (rtm): Fork Consistency, SUNDR
Preparation: Read SUNDR (2004) (through the end of Section 3.3.2) (FAQ) (Question)
DUE: Lab 5A
LEC 20 (rtm): Peer-to-peer: Bitcoin
Preparation: Read Bitcoin (2008), and summary (FAQ) (Question)
Hacking day, no lecture
LEC 21 (Derek Leung): Byzantine Fault Tolerance, slides
Preparation: Read Practical BFT (1999) (FAQ) (Question)
DUE: Lab 5B+C+D
DUE: Project reports and code
LEC 22: Project demos
Last day of classes
Final exam period.
Final exam period.
Final exam period.
Final exam period.