Processors with over hundred cores have already become a reality. However, technologies to create software that can take advantage of this massive parallelism remains to be a grand challenge in computer science. This special topics course will discuss recent advances and new directions that are being pursued to address this challenge. We will discuss solutions that cut across the computing stack from languages to processor design, including topics such as active testing, deterministic parallel computing, GPGPU, MapReduce, OS support for multi-core, functional programming for concurrency (Scala), etc.
|Units||3. (Could be counted as technical elective, pending approval. Visitors welcome.)|
|Pre-requisite||EECS 482 or EECS 470 or grad standing or instructor's consent. Programming skills.|
|Lectures||Mon. & Tue. 1:30 - 3:00 PM (Room: DOW ??)|
|Office Hours||By appointment|
|Email, URL||nsatish AT eecs.umich.edu, http://www.eecs.umich.edu/~nsatish/|
|Assignments||30%||Three small programming assignments|
Check this link. Proposal (5%), Final report (25%), Presentation (10%)
|Reviews and Class Participation||10%||Check this page on writing reviews|
Assignment, paper presentation and reviews should be done individually. You can interact with other students for discussing course materials, provide each other with debugging assistance, and help each other learn development tools. You are encouraged to discuss reading assignments with others, but you have to write the reviews individually.
The Engineering Honor Code obligates you not only to abide by this policy, but also to report any violations that you become aware of. Violations of this policy will be brought to the College of Engineering's Honor Council. For more information on the Honor Code, see Honor Council web page. If you have any doubts about whether a certain level of collaboration is permissible, or any other questions, contact the professor.