Welcome to CS 739! This class will cover an exciting set of topics in distributed systems including communication, failures, failure detection, fault tolerance, consistency, distributed storage, distributed data processing and ML, and ledgers and cryptocurrencies. We will read many influential papers and some recent ones, including many widely used systems (e.g., Dynamo, Spanner, BitCoin.)

Note: This course is a research-oriented, discussion-based one. That means,

1. There is no text and most (if not all) classes will be based on research papers.
2. The reading load will be somewhat heavy (two to four papers each week); before each class, students are expected to read the assigned papers, and submit a review or answer a question related to the paper.
3. An important part of this course is a research project that you will do in a small team (2-3 members); a good project involves exploring a new idea or conducting an in-depth study, and could potentially be published in a good systems conference. We will help you choose ideas and present your results.

At the end of the course you will

  • be able to read and evaluate distributed-system research papers
  • have a good understanding of fundamental problems in distributed systems
  • have experience measuring/implementing a small distributed system
  • have experience working on a research project and communicating new results

Course Information

  • Who: Aishwarya Ganesan (ag@cs) and Ram Alagappan (ra@cs)
  • When: MWF, 1:00PM - 2:15PM
  • Where: CS1221 -> Zoom
  • Office hours:
    • Aishwarya Ganesan - M 1-2pm CS7331 (conf. room) -> Google Meet
    • Ram Alagappan - F 3-4pm CS7354 -> Google Meet
  • Text: There is no required text for this course. The lectures will be based on discussing research papers.
  • Paper reviews: Submit reviews on the paper-review submission website.
  • Course prerequisites: You can take this course if you have taken CS 736 or equivalent. Or, you must have taken an undergraduate operating systems offered in the CS department (CS 537) or equivalent taken elsewhere, and some system-ish graduate-level courses offered here (e.g., 744, 740, 752), or equivalent courses.
  • Grading:
    • Class participation and review: 15%
    • Implementation project: 15%
    • Midterm exam: 15%
    • Final exam: 15%
    • Research project: 40%