6.S898 Parallel Algorithms, MIT, Spring 2026
- Instructor: Prof. Mohsen Ghaffari.
- Teaching Assistants: Jaehyun Koo. Office hours Wednesdays 3:00-5:00 pm, in 32-G5 (open lounge).
- Lecture Time & Place: Tuesdays and Thursdays 11:00-12:30 at 32-155.
- Canvas: Parallel Algorithms 2026 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: Parallel Algorithms 2026 on Piazza (for discussions). Please make sure to enroll, especially if you are taking this course for credit.
- Course Description: This is a graduate-level Theoretical Computer Science (TCS) course, focusing on the algorithmic foundations of parallel computing. It covers a wide range of tools and techniques for designing algorithms that can benefit from parallelism, thus running faster when we have access to multiple processors.
- 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: problem sets 50%, course project 30%, scribing and peer grading 20%. See the Canvas page for further instructions.
Tentative Syllabus:
The tentative plan for the course is to have 5 modules, sturctured as follows:(Module 1, 6 lectures) Basics of parallel computation and classic algorithms: work-depth modeling and PRAM, as well as algorithms for list ranking, sorting and merging, tree computations, connected component computations, graph matching and maximal independent set.
(Module 2, 4 lectures) Complexity theory and derandomizations: P vs NC, RNC vs NC., perfect matching, randomized algorithms via isolation lemma, and derandomization. Efficient derandomizations via binary search in a k-wise independent space, and local rounding.
(Module 3, 4 lectures) Selected recent advances in parallel graph algorithms: New work-efficient and sublinear depth parallel algorithms for shortest path computations, strongly connected components, and depth-first search.
(Module 4, 4 lectures) Batch-dynamic parallel algorithms. Devising dynamic parallel algorithms that can adapt their solution quickly to changes in the input (without solving the problem from scratch) and level parallelism in this adaptation in a nearly ideal way. Example problems will include connected component identification, matching, density-based decomposition, graph orientation, and coloring.
(Module 5, 6 lectures) Massively Parallel Computation. Algorithm design for MapReduce-like settings of large-scale data processing in various memory regimes of the model, covering techniques like filtering, round compression, randomized sparsification for iterative computations, connections to locality in computation and the related impossibility results. Problems targeted in this subarea will include matching, connected components and minimum spanning tree, various clusterings, and submodular maximization.
The last week will be used for project presentations.
Lectures:
- Lecture 01 (Feb. 03): Basics of parallel algorithms
- Lecture 02 (Feb. 05): Basics of parallel algorithms
- Lecture 03 (Feb. 10): Basics of parallel algorithms
- Lecture 04 (Feb. 12): Basics of parallel algorithms
No Lecture (Feb. 17), MIT follows Monday schedule.- Lecture 05 (Feb. 19): An RNC algorithm for perfect matching
- Constructing a perfect matching is in random NC by Karp, Upfal, and Wigderson (STOC'85)
- Matching is as easy as matrix inversion by Mulmuley, Vazirani, and Vazinari (STOC'87)
No Lecture (Feb. 24), MIT closed due to the snowstorm.- Lecture 06 (Feb. 29): A quasi-NC algorithm for perfect matching
- Bipartite perfect matching is in quasi-NC by Fenner, Gurjar, Thierauf (STOC'16)
- The Matching Problem in General Graphs Is in Quasi-NC by Svensson and Tarnawski (FOCS'17)
- Lecture 07 (Mar. 03): Parallel derandomization via pairwise independence
- A simple parallel algorithm for the maximal independent set problem by Luby (STOC'85)
- A fast and simple randomized parallel algorithm for the maximal independent set problem by Alon, Babi, and Itai (JALG'86)
- Lecture 08 (Mar. 05): Parallel derandomization by searching through pairwise spaces, and local rounding
- Removing randomness in parallel computation without a processor penalty by Luby (FOCS'88)
- Towards True Work-Efficiency in Parallel Derandomization: MIS, Maximal Matching, and Hitting Set by Ghaffari and Grunau (FOCS'25)
- Lecture 09 (Mar. 10): Massively Parallel Computation (MPC) -- sorting, plus connectivity and matching in the superlinear regime.
- A model of computation for MapReduce by Karloff et al. (SODA'10)
- Filtering: a method for solving graph problems in MapReduce by Lattanzi et al. (SPAA'11).
- Lecture 10 (Mar. 12): MPC in the near-linear regime -- MIS, connected components, and MST
- Improved Massively Parallel Computation Algorithms for MIS, Matching, and Vertex Cover by Ghaffari et al. (PODC'18).
- A deterministic algorithm for the MST problem in constant rounds of congested clique by Nowicki (STOC'21).
- Constant-Round Spanners and Shortest Paths in Congested Clique and MPC by Dory et al. (PODC'21).
- Analyzing Graph Structure via Linear Measurements by Ahn, Guha, and McGregor (SODA'12).
- Graph sketches: sparsification, spanners, and subgraphs by Ahn, Guha, and McGregor (PODS'12).
- Lecture 11 (Mar. 17): MPC in the near-linear regime -- maximum matching approximation via round compression
- Improved Massively Parallel Computation Algorithms for MIS, Matching, and Vertex Cover by Ghaffari et al. (PODC'18).
- Round compression for parallel matching algorithms by Czumaj et al. (STOC'18)
- Coresets Meet EDCS: Algorithms for Matching and Vertex Cover on Massive Graphs by Assadi et al. (SODA'19)
- Lecture 12 (Mar. 19): MPC in the sublinear regime -- maximum matching approximation via graph exponentiation and sparsification
- Sparsifying Distributed Algorithms with Ramifications in Massively Parallel Computation ... by Ghaffari & Uitto (SODA'19).
- Round Compression for Parallel Graph Algorithms in Strongly Sublinear Space by Onak (Manuscript 2018)
- Lecture 13 (Mar. 31): MPC in the near-linear regime -- exact min cut, via random k-out and uniform contractions
- Faster Algorithms for Edge Connectivity via Random 2-Out Contractions by Ghaffari, Nowicki, and Thorup (SODA'20).
- Lecture 14 (Apr. 02): MPC algorithms for submodular maximization
- Submodular Optimization in the MapReduce Model by Liu and Vondrak (SOSA'19).
- A New Framework for Distributed Submodular Maximization by Barbosa et al. (FOCS'16).
- Randomized Composable Core-sets for Distributed Submodular Maximization by Mirrokni and Zadimoghaddam (STOC'15).
- Lecture 15 (Apr. 07): Dynamic parallel algorithms -- connectivity
- Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, ... by Holm, de Lichtenberg, and Thorup (STOC'98).
- Randomized dynamic graph algorithms with polylogarithmic time per operation by Henzinger and King (STOC'95).
- Lecture 16 (Apr. 09): Dynamic parallel algorithms -- connectivity, continued
- Parallel Batch-Dynamic Graph Connectivity by Acar et al (SPAA'19).
- Batch-Parallel Euler Tour Trees by Tseng, Dhulipala, and Blelloch (ALENEX'19).
- Lecture 17 (Apr. 14): Dynamic parallel algorithms -- low out-degree orientation
- Parallel Batch-Dynamic Algorithms for k-Core Decomposition and Related Graph Problems by Liu et al (SPAA'22).
- Parallel Batch-Dynamic Coreness Decomposition with Worst-Case Guarantees by Ghaffari and Koo (SPAA'25).
- Near-Optimal Fully Dynamic Densest Subgraph by Sawlani and Wang (STOC'20).
- Faster Parallel Batch-Dynamic Algorithms for Low Out-Degree Orientation by Blelloch et al (Manusrcipt '26).
- No Lecture (Apr. 16), project discussions with the teams
- Lecture 18 (Apr. 21): Dynamic parallel algorithms -- coloring
- Dynamic Algorithms for Graph Coloring by Bhattacharya et al. (SODA'18).
- Dynamic Graph Coloring: Sequential, Parallel, and Distributed by Ghaffari and Koo (Manuscript 2026).
- Lecture 19 (Apr. 23): Parallel DFS, in near-linear work and square-root depth
- Nearly Work-Efficient Parallel DFS in Undirected Graphs by Ghaffari, Grunau, and Qu. (SPAA'23).
- A Random NC Algorithm for Depth First Search by Aggarwarl and Anderson (STOC 1987).
- Lecture 20 (Apr. 28): Parallel DFS, continued
- Nearly Work-Efficient Parallel DFS in Undirected Graphs by Ghaffari, Grunau, and Qu. (SPAA'23).
- A Random NC Algorithm for Depth First Search by Aggarwarl and Anderson (STOC 1987).
- Lecture 21 (Apr. 30): Parallel Shortest Path Approximations, via HopSets
- Improved Parallel Algorithms for Spanners and Hopsets by Miller et al. (SPAA'15).
- Polylog-time and near-linear work approximation scheme for undirected shortest paths by Cohen (STOC'94).
- Lecture 22 (May 05): Parallel Reachability, via Shortcuts
- Nearly Work-Efficient Parallel Algorithm for Digraph Reachability by Fineman (STOC'18).
- Parallel Reachability in Almost Linear Work and Square Root Depth by Jambulapati, Liu, and Sidford (FOCS'19).
- No Lecture (May 07): Project preparations
- No Lecture (May 12): Project presentations
Deliverables and deadlines:
See the Canvas page for the released files.- Problem Set 1, due Feb. 19
- Problem Set 2, due Mar. 5
- Problem Set 3, due Mar. 31
- Project proposals, due Apr. 9
- Problem Set 4, due Apr. 30
- Project presentations and reports, on and due May 12