6.816/6.836 Multicore Programming
Spring 2014
image restricted to class participants
Instructors: Alexander Matveev, Nir N Shavit
TAs: Chidubem L Ezeaka, Rati Gelashvili, Mohsen Ghaffari
Lecture: MW3-4.30 (6-120 (Note new time and location!))
Information:
The computer industry is undergoing a paradigm shift to multicore and multiprocessor chips, a shift that will require a fundamental change in how we program. The art of multiprocessor programming, currently mastered by few, is more complex than programming uniprocessor machines, and requires an understanding of new computational principles, algorithms, and programming tools.
The key issues that distinguish multiprocessor programming from uniprocessor programming are the need to understand how to break applications into computations that can be executed in parallel, and perhaps more fundamentally, how these concurrent computations can coordinate with one another to allow this parallelism to translate into substantiative speedups.
There are few reference books addressing how to program multiprocessors. Most engineers must learn the tricks of the trade by asking help from more experienced friends and through a laborious trial and error process. This course aims to change this state of affairs, providing a comprehensive presentation of the principles and techniques available for programming multicore/multiprocessor machines.
The course will begin by covering the theoretical foundations of programming on multicore machines (we are strong believers that good practice requires understanding the theory). It will then move on to cover the real-world techniques used to program them. It will include a sequence of programming assignments of increasing difficulty, culminating with the design of a highly parallel "firewall" application, running on a state-of-the-art 80-way multicore machine.
Class Structure:
Our textbook will be "The Art of Multiprocessor
Programming" by Herlihy and Shavit.
There will be 6 total assignments, the last of which will be a final project. The assignments will constitute 65% of the course grade. The assignments will cover both theory and practice (more information can be found in Homework Section). For 6.836 assignments will contain additional theoretical problems.
There will be two quizes, 15% each. The first quiz will take
place on 19th of March, and the second on 7th of May, leaving time
to work on the final project.
The remaining 5% of the course grade will be for in-class participation.
Office Hours:
Mohsen Ghaffari M9-11am (32-G670), Chidubem Ezeaka T3-5pm (32-G5
Lounge), Rati Gelashvili R4-6pm (32-G630)
Resources:
We will use Piazza for class-related discussions. The class page
can be found at https://piazza.com/mit/
All class participants should have received a link to subscribe
to NB, getting access to an annotatable pdf version of the course
textbook. If you have not received a link, please contact Rati
Gelashvili (gelash@mit.edu).
Announcements
6.816/836 UROP over summer and fall terms
Any interested students should send me an email with you CV and availability. -- Nir
Announced on 13 May 2014 2:41 p.m. by Nir N Shavit
Office hours today pushed back to 7pm
Announced on 13 May 2014 5:30 a.m. by Chidubem L Ezeaka
Please help us by filling in your course review! Last lecture this Monday.
The final lecture will be this coming Monday. Hope to see you there.
Announced on 10 May 2014 1:28 p.m. by Nir N Shavit
Office Hours (Thr, 08 May)
Announced on 08 May 2014 1:40 p.m. by Rati Gelashvili
Quiz2
Announced on 06 May 2014 1:19 p.m. by Mohsen Ghaffari