- 1.1 Tue Apr 2: Class overview and introduction
- 1.2 Thu Apr 4: Distributed shared memory
- Project group membership due
- How to read a paper (Keshav)
- Memory coherence in shared virtual memory systems
- Pre-reading assessment
- 2.1 Tue Apr 9: Vector clocks and relaxed consistency
- Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors (sections 1, 2, and 3)
- TreadMarks: distributed shared memory on standard workstations and operating systems
- If you are not familiar with Lamport clocks or Vector clocks, please read sections 6.1 and 6.2 of the van Steen book linked off of the course syllabus.
- Pre-reading assessment
- 2.2 Thu Apr 11: Consensus
- 3.1 Tue Apr 16: RAFT
- Technical report checkpoint 1 due
- In Search of an Understandable Consensus Algorithm (Extended Edition)
- RAFT walkthrough
- RAFT simulator
- Pre-reading assessment
- 3.2 Thu Apr 18: Consistency in the wild
- 4.1 Tue Apr 23: Distributed hash tables
- 4.2 Thu Apr 25: Distributed file systems (logging)
- 5.1 Tue Apr 30: Distributed file systems (metadata)
- Frangipani: a scalable distributed file system
- No pre-reading assessment for this paper
- 5.2 Thu May 2: Quorums and Two-phase commit
- Fri May 3: Technical report checkpoint 2 due
- 6.1 Tue May 7: Group communication
- 6.2 Thu May 9: Midterm exam
- 7.1 Tue May 14: Zookeeper
- ZooKeeper: Wait-free coordination for Internet-scale systems
- Pre-reading submission
- Technical report due
- 7.2 Thu May 16: FAWN
- 8.1 Tue May 21: FaRM
- 8.2 Thu May 23: Final report clinic in room CSE 3104 (optional)
- 9.1 Tue May 28: Byzantine fault tolerance
- 9.2 Thu May 30: Optimistic concurrency
- 10.1 Tue June 4: Anti-entropy
- 10.2 Thu June 6: Geographically distributed data
- Fri June 7: Final paper due