6.892 Theory of Parallel Systems

Spring 1997

Tuesdays and Thursdays 9:30-11:00, Room 36-144

G (Spring) 3-0-9 H-LEVEL Grad Credit

Lecturer: Prof. Charles E. Leiserson


Prerequisites: Algorithmic maturity, probability, and programming experience.

Algorithmic aspects of parallel computing systems taught at a level suitable for doctoral students doing research in theory or systems. The course will cover issues in parallel systems with a dual emphasis on theory and practice. Whether your background is theory or systems, you will have the opportunity to exploit your experience while broadening your horizons.

Course requirements: 3 problem sets on theoretical material, 3 programming laboratories using the Xolas parallel computing facility, occasional scribing of lectures, and 1 term project. No exams.

Topics: Data-parallel computing, prefix computations, pointer jumping, tree and graph algorithms, sorting, string matching, multiprogramming, memory consistency, mutual exclusion, wait-free synchronization, message passing, protocols, active messages, multithreaded programming, matrix computations, provably good scheduling, distributed shared memory, race conditions, workstation scheduling, I/O, advanced topics.


Course Staff

Course Outline

Course Handouts

Lecture notes

Class List

Get the lecture notes macros from the ftp directory.

Final project template.


Other related links

  • Cilk.
  • 18.337/6.338 Parallel Scientific Computing , with Alan Edelman.
  • The Nesl project at CMU.

  • This page is maintained by
    Matteo Frigo
    545 Technology Square NE 43-203, Cambridge, MA 02139, USA. athena@theory.lcs.mit.edu

    If you have comments, please send mail to Matteo.