6.827 Multithreaded Parallelism: Languages and Compilers

Fall 2002

An image of binary code.
Binary code. (Image courtesy of National Science Foundation.)


Course Highlights

6.827 is a course in the department's "Computer Systems and Architecture" concentration. It offers virtually all of its materials online, including lecture notes and problem sets. The main textbook for the course, Implicit Parallel Programming in pH, was co-written by Professor Arvind (see http://www.mkp.com/ for more information).

Course Description

The topics covered in this course include:

- Languages and compilers to exploit multithreaded parallelism
- Implicit parallel programming using functional languages and their extensions
- Higher-order functions, non-strictness, and polymorphism
- Explicit parallel programming and nondeterminism
- The lambda calculus and its variants
- Term rewriting and operational semantics
- Compiling multithreaded code for symmetric multiprocessors and clusters
- Static analysis and compiler optimizations

This course is worth 4 Engineering Design Points.

Technical Requirements

Haskell compiler software is required to run the .hs files found on this course site.

Donate Now


Prof. Arvind

Course Meeting Times

Two sessions / week
1.5  hours / session