Two sessions / week
Lec 1: 2 hours / session
Lec 2: 1.5 hours / session
Both lectures will be attended by students from Singapore. Lectures will be videotaped and made available through the Singapore-MIT Alliance program.
This graduate research course is aimed at Ph.D. students in Area II. M.Eng. students who plan to write their Master's thesis on the topic of parallel systems may also wish to participate. This class cannot be used to satisfy the TQE requirements for the Ph.D. program.
This class covers theoretical foundations of general-purpose parallel computing systems, from languages to architecture. We will focus 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.
The focus of the class is the term project, which can be done individually or in groups of two and will account for 70 percent of the grade. Students are encouraged to advance their own research interests in their project. The hope is that many of these term projects will lead to theses or publishable papers. In addition, there will be several problem sets and programming labs.
A detailed schedule of topic coverage will appear in the course calendar.
The official prerequisites for the course are 6.046J (Introduction to Algorithms) and 6.170 (Laboratory in Software Engineering) (or courses covering equivalent material), but since this class is intended for graduate students, a general undergraduate education in computer science is assumed.
The course consists of three primary components:
One goal of this course is to produce a good set of scribe notes, describing the material presented in this course. To this end, it is recommended that you obtain a copy of the following book or some equivalent latex manual:
Throughout the class, collaboration is encouraged. The goal of homeworks is to give you practice in mastering the course material. Consequently, you are encouraged to collaborate on problem sets. You must write up each problem solution by yourself, however, even if you collaborate with others to solve the problem. If you do collaborate on homework, you must cite in a scholarly manner all of your collaborators.
Similarly, collaboration is expected on the final projects. Groups of two will probably be the norm. We will try to help group together students with similar interests to work on exciting open problems.