Multithreaded Parallelism: Languages and Compilers

As taught in: Fall 2002

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.)

Instructors:

Prof. Arvind

MIT Course Number:

6.827

Level:

Graduate

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.