Course Description

EECS 570 will discuss foundations of a multi-processor architecture, both design and programming of such machines. We will read and discuss recent advancements in parallel architectures, and learn about recent parallel processors. We will also learn a bit about parallel applications and advancements in parallel programming such as CUDA, transactional memory, etc., which could influence the design of future parallel processors. There will be one programming assignment, two quizzes, a final research project and paper reviews.

Textbook

Recommended:

David Culler and J. P. Singh with Anoop Gupta, Parallel Computer Architecture: A Hardware/Software Approach, Morgan Kaufmann Publishers, 1998.

References:

John L. Hennessy and David A. Patterson, Computer Architecture: A Quantitative Approach Morgan Kaufmann Publishers, Fourth Edition, 2007. (Especially Chapter 4 and Appendix E).

The Art of Multiprocessor Programming by Maurice Herlihy and Nir Shavit

Course Prerequisites

Advisory Pre-requisite: EECS 470 and programming skills.

Course Information

Lectures Mon. & Wed. 1:30 - 3:00 PM in 1014 Dow
Discussions Fri. 2:30 - 3:30 PM in 1014 Dow
CTools http://ctools.umich.edu/
Computing Resource Center for Advanced Computing http://cac.engin.umich.edu/
Instructor Satish Narayanasamy
Email, URL nsatish  AT eecs.umich.edu, http://www.eecs.umich.edu/~nsatish/
Office 4721 CSE
Phone 734-764-6984
Office Hours 4721 CSE
Mon: 3:30p-4:30p and Thurs: 3-4p
GSI Sujay Phadke
Email sphadke   AT  eecs.umich.edu
Office Hours CSE 1620
Tues 2:00-3:00p

Grading Policy

Programming Assignment 10% Check this link. A simple parallel program in PThreads.
Exam 1 15% Oct 21th (tentative)
Exam 2 15% November 25th (tentative)
Project 40%
Check this link. Proposal (5%), Midterm report (5%), Final report (25%), Presentation (5%)
Reviews and Class Participation 20% Check schedule. This part will influence final grades.

Honor Code

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.