Tue 8/27: Intro to distributed systems (slides)
Prep: bring your smartphone.
Thur 8/29: Remote Procedure Call (RPC) and failures (slides)
Prep: (optional) skim Implementing Remote Procedure Calls. No homework.
Lab 0 out (due 9/2, 2023, 23:59 PDT)
Tue 9/3: Google File System (slides)
Prep: read The Google File System and submit homework by 11:59 am.
Thur 9/5: RAMCloud and linearizability (slides)
Prep 1: read section 1, 3, 6, and 7 of The RAMCloud Storage System (+ 5.1, 5.3 optional if you are interested in how RAMCloud RPC works)
Prep 2: read section 1-5 of Implementing linearizability at large scale and low latency
After reading both papers, submit homework
Tue 9/10: Replicated state machine via primary-backup replication (slides)
Thur 9/12: Consensus (slides)
Prep: read Paxos Made Simple
Prep2: watch Paxos lecture by John Ousterhout.
Then, submit your homework
Tue 9/17: Raft (1), lecture is cancelled. Watch two videos (1, 2) and go through lecture (slides).
Thur 9/19: Raft (2), Guest Lecturer: Diego Ongaro. (slides)
Tue 9/24: Quiz 1 (1hr 30min, in-class)
Thur 9/26: Chain replication (slides)
Tue 10/1: How to measure system performance (slides)
Prep: read "Always Measure One Level Deeper" and submit homework
Thur 10/3: Fast replication (slides)
Prep: read "Exploiting Commutativity For Practical Fast Replication" and submit homework
Lab 1 due
Tue 10/8: Byzantine consensus (slides)
Prep: read "Practical Byzantine Fault Tolerance" and submit homework
Thur 10/10: No class (Fall recess)
Lab 2 out
Tue 10/15: 2PC (slides)
Prep: read "A New Presumed Commit Optimization for Two Phase Commit" and submit homework
Thur 10/17: Snapshot isolation (Spanner) (slides)
Prep: read "Spanner: Google’s Globally-Distributed Database" and submit homework
Tue 10/22: Tail at scale (slides)
Prep: read "The tail at scale" and submit homework
Thur 10/24: Quiz 2
Tue 10/29: Big data processing (1) (Map reduce) (slides)
Prep: read "MapReduce: Simplified Data Processing on Large Clusters" (no homework)
Final project signup deadline (10/30)
Lab 2 due
Thur 10/31: Big data processing (2) (Spark) (slides)
Prep: read "Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing" (no homework)
Final project initial proposal due
Tue 11/5: Distribution for interactivity (ExCamera) (slides)
Prep: read "Encoding, Fast and Slow: Low-Latency Video Processing Using Thousands of Tiny Threads" and submit homework
Thur 11/7: Ray (slides)
Prep: read "Ray: A Distributed Framework for Emerging AI Applications" and submit homework
Tue 11/12: Nu (slides, 4x4handout)
Prep: read "Nu: Achieving Microsecond-Scale Resource Fungibility with Logical Processes" and submit homework
Thur 11/14: Zookeeper (tentative)
Prep: read "ZooKeeper: Wait-free coordination for Internet-scale systems"
Lab 3 out
Tue 11/19: FAWN (slides, handout)
Prep: read "FAWN: A Fast Array of Wimpy Nodes" and submit homework
Thur 11/21: Borg (slides, handout)
Prep: read "Large-scale cluster management at Google with Borg" and submit homework
Tue 11/26 (slides)
Thur 11/28: no class (Thanksgiving)
Lab 3 due
Tue 12/3: Quiz 3
Thur 12/5: Final project demo
Final project due
No final