CS 651

« back

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 / Quiz
9/2 L1: Course Overview -  
9/4 - Futures and Promises HW1: Futures
9/9 L2: Computation and Communication Primitives (threads; RPCs) MSAT Ch. 3.1, 4.1, 4.2  
9/14 L3: Concurrency and Parallelism The Go Programming Language and Environment HW2: MapReduce
9/16 L4: Cluster Computing I (data-parallel computation) MapReduce  
9/21 L5: Cluster Computing II (dataflow systems) Spark  
9/23 L6: Cluster Computing III (distributed shared memory systems) TreadMarks  
9/28 Practice Quiz (non-graded) on Golang (concurrency; channels; Go routines) Review lab material HW3: OmniPaxos A
9/30 L7: Replication and Fault-tolerance    
10/5 L8: State Machine Replication I (distributed consensus; leader election) OmniPaxos (Sec. 1-3, 5)  
10/7 L9: State Machine Replication II (log replication; persistence; reconfiguration) OmniPaxos (Sec. 4, 6)  
10/12 - - HW4: OmniPaxos B
10/13 L10: State Machine Replication III Zookeeper Quiz I: Golang and OmniPaxos (in class; graded)
10/14 L11: Distributed File Systems GFS  
10/19 L12: Geo-replicated Systems PNUTS  
10/21 L13: Publish-Subscribe (asynchronous, reliable, event-driven communication) The Many Faces of Publish/Subscribe Practice Exam (non-graded): Lectures 1-12 + Lab Discussions
10/26 Midterm (during lecture) Lectures 1-12  
10/28 L14: Eventual Consistency (conflict resolution; gossip protocols) Dynamo  
11/2 L15: Distributed Transactions I (serializability; snapshot isolation) Spanner HW5: PubSub A
11/4 L16: Distributed Transactions II (atomicity; two-phase commit) -  
11/9 L17: Distributed Transactions III (optimistic concurrency control) FaRM  
11/11 L18: Distributed Hash Tables (DHTs) Chord Quiz II: Distributed Transactions (in class; graded)
11/16 L19: Cluster Management (resource consolidation; job scheduling) Borg HW5: PubSub B
11/18 L20: Distributed Model Training Collective Communication for 100k+ GPUs  
11/23 L21: Distributed Tracing (microservices) Pivot Tracing  
11/30 L22: Bitcoin and Blockchain Bitcoin  
12/2 L23: Decentralized Trust TBD Practice Exam (non-graded): Lectures 13-22 + Lab Discussions
12/7 L24: Research Topics in Distributed Systems -  
12/9 L25: Recap    
12/14 Final Exam Lectures 13-20 * PSY B53 3-5pm