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
- Lecture 01 (Sept. 08): Introduction, Logistics, and Distributed Coloring in a Ring
- Lecture 02 (Sept. 13): Flooding, BFS tree, Broadcast, Convergecast, and Bellman-Ford
Block 2: Local Distributed Graph Algorithms
- Lecture 03 (Sept. 15): Coloring Algorithms
- Lecture 04 (Sept. 20): Coloring Lower Bounds
- Lecture 05 (Sept. 22): Maximal Independent Set
- Lecture 06 (Sept. 27): Network Decomposition, Definition and Randomized Constructions
- Lecture 07 (Sept. 29): Network Decomposition, Deterministic Constructions
Block 3: Fault Tolerance and Asynchrony in Distributed Computing
- Lecture 08 (Oct. 04): Fault-tolerant Synchronous Consensus Algorithms
- Lecture 09 (Oct. 06): Fault-tolerant Synchronous Consensus Lower Bounds
- Lecture 10 (Oct. 13): Modeling Asynchronous Network Algorithms, and Basic Algorithms
- Lecture 11 (Oct. 18): Mutual Exclusion Algorithms
- Lecture 12 (Oct. 20): Impossibility of Consensus in Asynchronous Shared-Memory Systems
- Lecture 13 (Oct. 25): Shared-Memory vs Networks, Consensus in Asynchronous Networks, and Paxos
Block 4: Global Distributed Graph Algorithms
- Lecture 14 (Oct. 27): Synchronizers
- Lecture 15 (Nov. 01): MST Algorithms
- Section 2.2 of the DGA Notes
- Handwritten notes (the shared screen in the recorded video)
- Lecture 16 (Nov. 03): Min-Cut Algorithms
- Lecture 17 (Nov. 08): Lower Bounds for MST, Min-Cut, Shortest Paths, and Beyond
- Lecture 18 (Nov. 10): Shortest Path Algorithms
- Lecture 19 (Nov. 15): Shortest Path Algorithms, continued
Block 5: Selected Topics
- Lecture 20 (Nov. 17): Routing in the Complete Network
- Lecture 21 (Nov. 22): Connectivity via Linear Sketching
- Lecture 22 (Nov. 29): Local Computation Algorithms (LCAs)
- Scribe Note TBA
- Nguyen and Onak (FOCS 2008)
- Lecture 23 (Dec. 01): Shattering and Its Necessity
- Lecture 24 (Dec. 06), option 1: The Landscape of Local Distributed Complexities
Lecture 24 (Dec. 06), option 2: Local Rounding
Block *: Project Presentations and Reports
Accessibility