Multithreaded Parallelism: Languages and Compilers

An image showing a multitude of ones and zeroes that comprise binary code, being reflected of the surface of an optical disc.

Binary code reflecting off an optical disc. (Image courtesy of the National Science Foundation.)

Instructor(s)

MIT Course Number

6.827

As Taught In

Fall 2002

Level

Graduate

Cite This Course

Course Features

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.