6.895 Theory of Parallel Systems (SMA 5509)

Fall 2003

Theory of Parallel Systems course logo.
Course logo. (Image courtesy of Charles Leiserson.)

Course Highlights

This course site features lecture notes and student projects.

Course Description

6.895 covers theoretical foundations of general-purpose parallel computing systems, from languages to architecture. The focus is on the algorithmic underpinnings of parallel systems. The topics for the class will vary depending on student interest, but will likely include multithreading, synchronization, race detection, load balancing, memory consistency, routing networks, message-routing algorithms, and VLSI layout theory. The class will emphasize randomized algorithms and probabilistic analysis, including high-probability arguments.   

This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5509 (Theory of Parallel Systems).

Technical Requirements

Any number of development tools can be used to read the .asm files found on this course site. Any number of development tools can also be used to compile and run the .c files found on this course site. Please refer to the course materials for any specific instructions or recommendations.

Donate Now


Prof. Charles Leiserson
Prof. Michael Bender
Prof. Hsu Wen Jing
Dr. Bradley Kuszmaul

Course Meeting Times

Two sessions / week
Lec 1: 2 hours / session
Lec 2: 1.5 hours / session