Week Day Date Topic Reading Notes
1 Tue Aug 23 Administrivia How to read a paper
Thu Aug 25 Specifying Concurrent Systems and intro to first programming project Epidemic algorithms for replicated database maintenance by Alan Demers et al. Due Aug 30, 9am
2 Tue Aug 30 Specification continued A Simple Approach to Specifying Concurrent Systems (Sections 1-2, 3-4 optional) by Leslie Lamport Due Sep 3
Thu Sep 1 Instantiation and Refinement Use of Formal Methods at Amazon Web Services Due Sep 6, 9am
3 Tue Sep 6 Mutual Exclusion, Inductive Invariants, and Model Checking Hints and Principles for Computer System Design by Butler Lampson up to and including Section 3.4 Due Sep 9, 9am
Thu Sep 8 Consistency Hints and Principles for Computer System Design by Butler Lampson, remainder Due Sep 14, 9am
4 Tue Sep 13 Consistency, continued Chain Replication by Robbert van Renesse and Fred B. Schneider Due Sep 16, 9am
Thu Sep 15 State Machine Replication no review assignment
5 Tue Sep 20 Consensus no review assignment
Thu Sep 22 Student presentations Impossibility of Distributed Consensus with One Faulty Process; End-to-end arguments in system design Due Sep 21, 9am
6 Tue Sep 27 Student presentations Paxos Made Simple; Distributed snapshots; Determining Global states of Distributed Systems Due Sep 26, 9am
Thu Sep 29 Gossip Program Evaluation Session
7 Tue Oct 4 Student presentations On the duality of operating system structures; seL4: formal verification of an OS kernel Due Oct 3, 9am
Thu Oct 6 Student presentations ghOSt: Fast & Flexible User-Space Delegation of Linux Scheduling; An Analysis of Linux Scalability to Many Cores Due Oct 5, 9am
8 Tue Oct 11 Fall Break
Thu Oct 13 Student presentations Dynamo: Amazon's Highly Available Key-Value Store; Spanner: Google’s Globally-Distributed Database no report required
9 Tue Oct 18 Student presentations Time, Clocks, and the Ordering of Events in a Distributed System; Internet Time Synchronization: The Network Time Protocol Due Oct 17, 9am
Thu Oct 20 Student presentations Design and Implementation of a Log-Structured File System; Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Due Oct 19, 9am
10 Tue Oct 25 Student presentation The Google File System Due Oct 24, 9am
Thu Oct 27 Student presentations MapReduce: Simplified Data Processing on Large Clusters; Apache Spark: A Unified Engine for Big Data Processing Due Oct 27, 9am
11 Tue Nov 1 Student presentations Occupy the Cloud: Distributed Computing for the 99%; Serverless Computation with OpenLambda Due Oct 31, 9am
Thu Nov 3 Student presentations Pregel: A System for Large-Scale Graph Processing; TensorFlow: A System for Large-Scale Machine Learning Due Nov 2, 9am
12 Tue Nov 8 Student presentations Solving Large-Scale Granular Resource Allocation Problems Efficiently with POP; Check-N-Run: a checkpointing system for training deep learning recommendation models Due Nov 7, 9am
Thu Nov 10 Student presentations Bitcoin: A Peer-to-Peer Electronic Cash System; Ethereum Whitepaper Due Nov 9, 9am
13 Tue Nov 15 Student presentation P4: Programming Protocol-Independent Packet Processors Due Nov 14, 9am
Thu Nov 17 Student presentations Compositional Security for Reentrant Applications; OpenVPN is open to VPN Fingerprinting Due Nov 16, 9am
14 Tue Nov 22 TBD TBD no assignment
Thu Nov 24 Thanksgiving Break
15 Tue Nov 29 Project Presentations Note: 9am-11am
Thu Dec 1 Project Presentations Note: 9am-11am