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 |
| 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.