6.52506.852/18.437 Distributed Algorithms, MIT, Fall 2022


Instructors: Prof. Mohsen Ghaffari and Prof. Nancy Lynch. Office hours by appointment.
Teaching Assistant: Ce Jin. Office hours Thursdays 3:00-5:00 pm, in 32-G5 (open lounge).
Lecture Time & Place: Tuesdays and Thursdays 11:00-12:30 at 32-141.
Level: Graduate, counts as a TQE course in Theoretical Computer Science.
Administrative Assistants: Joanne Hanely and Nathan Higgins.

Canvas: Distributed Algorithms 2022 on Canvas (for nonpublic material). If you want Canvas access but are not registered in the course, please send an email to the course TA describing your background and how you plan to participate in the course.
Piazza: Distributed Algorithms 2022 on Piazza (for discussions). Please make sure to enroll, especially if you are taking this course for credit.
Feedback: Anonymous Form. Whenever possible, we prefer non-anonymous feedback, as it allows us to further discuss the issue. For non-anonymous feedback, please send an email to Mohsen with the title 6.5250 Distributed Algorithms: Feedback.

Course Description: Distributed computing is central to many modern computational systems, including wired and wireless communication networks, cluster computing, multi-core computers, robot swarms, data management systems, and transportation systems. This is a graduate-level theory course and it introduces and investigates the fundamental aspects of distributed computing, including communication and coordination, locality, symmetry breaking, parallelism, fault-tolerance, asynchrony, bandwidth limitations and congestion, and beyond. The focus will be on algorithmic tools and techniques and methods for proving lower bound or impossibility results.

Prerequisites: Sufficient mathematical maturity to start a graduate-level algorithmic course, including comfort with the basics of algorithm design and analysis, basics of probability, and some prior exposure to randomized algorithms. For instance, having passed MIT's 6.1220/6.046 Design and Analysis of Algorithms would suffice. No background in distributed systems is required. If you're not sure whether you are ready for this course, please talk to Mohsen.

Grading: Six biweekly problem sets 50%, course project 30%, scribing and peer grading 20%. See the Canvas page for further instructions.

 


Lectures (Tentative)

The syllabus/material will be updated during the semester. Green links show the main sources (scripts, textbooks, scribe notes, or slides). Blue links point to optional/supplementary material, usually source papers or other related work. Red links indicate deliverables (problem sets or project items).

Block 1: General Introduction

 

Block 2: Local Distributed Graph Algorithms


Block 3: Fault Tolerance and Asynchrony in Distributed Computing

 

Block 4: Global Distributed Graph Algorithms 

 

Block 5: Selected Topics

 

Block *: Project Presentations and Reports




Accessibility