The following lecture schedule is tentative and might be updated during the semester. We will be keeping you informed of any changes via Piazza. You may also want to take a look at the Official Semester Dates.
MSAT refers to the textbook Distributed Systems, 4th Edition by Maarten van Steen and Andrew S. Tanenbaum.
Date | Topic | Assigned Reading | Programming Assignment |
---|---|---|---|
9/3 | L1: Course Overview | - | |
9/5 | Futures and Promises | HW1: Futures | |
9/8 | L2: Computation and Communication Primitives (threads; RPCs) | MSAT Ch. 3.1, 4.1, 4.2 | |
9/10 | L3: Concurrency and Parallelism | The Go Programming Language and Environment | |
9/15 | L4: Data-parallel computation | MapReduce | HW2: MapReduce |
9/17 | L5: Fault Tolerance (primary-backup replication; checkpointing; write-ahead logging) | GFS | |
9/22 | L6: Data Consistency (strong vs weak consistency; linearizability) | Zookeeper | |
9/24 | L7: State Machine Replication I (distributed consensus; leader election) | OmniPaxos (Sec. 1-3, 5) | |
9/29 | L8: State Machine Replication II (log replication; persistence; reconfiguration) | OmniPaxos (Sec. 4, 6) | HW3: OmniPaxos A |
10/1 | L9: Geo-replicated Systems | PNUTS | |
10/6 | L10: Publish-Subscribe (asynchronous, reliable, event-driven communication) | The Many Faces of Publish/Subscribe | |
10/8 | L11: Distributed Shared Memory (write amplification; false sharing; causal consistency) | TreadMarks | |
10/13 | HW4: OmniPaxos B | ||
10/14 | Hacking Day (No lecture) | - | |
10/15 | Review: Lectures 1-12 / Practice Exam | - | |
10/20 | L12: Guest Lecture by Prof. Romaric Duvignau (Chalmers): DHTs and Trackerless BitTorrent | Chord | |
10/22 | L13: Eventual Consistency (conflict resolution; gossip protocols) | Dynamo | |
10/27 | Midterm (during lecture) | Lectures 1-11 | |
10/29 | L14: Distributed Transactions I (serializability; snapshot isolation) | Spanner | |
11/3 | L15: Distributed Transactions II (atomicity; two-phase commit) | - | HW5: PubSub A |
11/5 | L16: Distributed Transactions III (optimistic concurrency control) | FaRM | |
11/10 | L17: Cluster Computing (dataflow model) | Spark | |
11/12 | L18: Cluster Management (resource consolidation; job scheduling) | Borg | |
11/17 | L19: Distributed Tracing (microservices) | Pivot Tracing | HW6: PubSub B |
11/19 | L20: Distributed Training (ML) | TBD | |
11/24 | L21: Serverless Computing | Cloud Programming Simplified | |
12/1 | L22: Decentralized Trust | Conclave | |
12/3 | L23: Bitcoin | Bitcoin | |
12/8 | L24: Research Topics in Distributed Systems | - | |
12/10 | Review: Lectures 13-24 / Practice Exam | - |