Course logo. (Image courtesy of Charles Leiserson.)
6.895 covers theoretical foundations of general-purpose parallel computing systems, from languages to architecture. The focus is 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.
This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5509 (Theory of Parallel Systems).
Any number of development tools can be used to read the .asm files found on this course site. Any number of development tools can also be used to compile and run the .c files found on this course site. Please refer to the course materials for any specific instructions or recommendations.