Instructor: Aurojit Panda
Office Hours: Thursday 5-6pm @ 60 Fifth Ave, Room 405 or by appointment
Class Meeting: Wednesday 7-9pm @ 101 Warren Weaver Hall
Administrivia: Course Policies
Comments & Complaints: Fill this form

Tentative Schedule

Note This is likely to change.

Each week (other than the first one), please read all the papers and send a summary to apanda@cs.nyu.edu with the subject “DistSystems: [Class Date] [Your Name]” by noon on the day of the class. Your e-mail should have a separate section for each paper. For each paper your summary should include the following information:

  • What problem does the paper address?
  • What assumptions does the paper make?
  • A sketch of the solution proposed by the paper?
  • How might you extend the paper? For example what assumptions would you want to weaken, what additional problems might you consider, etc.
  • Anything you had trouble understanding in the paper?

For each of the first four points please include justifications. You can safely skip summaries for up to 6 papers. How you distribute this across classes is up to you. If you need to skip any more please send an e-mail to apanda@cs.nyu.edu and provide a reasonable excuse.

Date Topic Reading Other
Sep 5 Introduction, Time clocks Time, Clocks, and the Ordering of Events in Distributed Systems
Liveness
Lab 0 out
Slides
Sep 12 Distributed hash tables, sharding Chord
Slicer
Lab 0 Due
Slides
Sep 19 Linearizability Linearizability: A Correctness Condition for Concurrent Objects
CAP Theorem
Slides (transitions)
Slides (no transitions)
Sep 26 Consensus FLP
Replicated State Machines
Lab 1 Out
Quiz
Oct 3 Paxos Paxos made Moderately Complex (website)
Paxos Made Simple
Oct 10 Raft Raft Tech Report
Analysis of Raft Correctness
Lab 1 Due
Lab 2 Out
Quiz
Oct 17 Failure Detectors Weakest Failure Detectors for Consensus
Unreliable Failure Detectors for Reliable Distributed Systems (Optional)
Improving Availability in Distributed Systems with Failure Informers
Project Proposals Due
Oct 24 Distributed Transactions Concurrency Control and Recovery
Notes on Data Base Operating Systems (read Two Phase Commit, chapter 5.8.3.3 on page 73 of the PDF)
Concurrency Control in Distributed Database Systems
Quiz
Oct 31 Miscellaneous topics Spanner
CRDTs
Lab 2 Due
Nov 7 Byzantine Failures The Byzantine Generals Problem
Practical Byzantine Fault Tolerance
A Correctness Proof for PBFT (optional)
Quiz
Nov 14 Byzantine Failure continued, blockchain Zyzzyva
Revisiting Fast PBFT
Nov 21 Thanksgiving
Nov 28 Large scale data processing systems
Dec 5
Dec 12 Final Project Presentations No Reading