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
Slides (transitions)
Slides(no transitions)
Oct 3 Paxos Paxos made Moderately Complex (website)
Paxos Made Simple
Slides (transitions)
Slides (no transitions)
Oct 10 Raft Raft Tech Report
Analysis of Raft Correctness (optional)
Lab 1 Due
Lab 2 Out
Quiz
Slides (transitions)
Slides (no transitions)
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
Slides (transitions)
Slides (no transitions)
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 Byzantine Failures The Byzantine Generals Problem
Practical Byzantine Fault Tolerance
A Correctness Proof for PBFT (optional)
Quiz
Slides (transitions)
Slides (no transitions)
Nov 7 Byzantine Failure continued Zyzzyva
Revisiting Fast PBFT
Lab 2 Due
Slides (no transitions)
Slides (transitions)
Nov 14 Miscellaneous topics Self-stabilizing Systems
CRDTs
Slides (no transitions)
Slides (transitions)
Nov 21 Thanksgiving
Nov 28 NO CLASS NO READING
Dec 5 Putting it all together No Reading
Dec 12 Final Project Presentations No Reading Final Project Report Due