EECS 570 - Parallel Computer Architecture

Fall 2008

Course Overview

Students completing this course will achieve a solid foundation in parallel computer architecture, both in the design and programming of such machines. Topics to be covered include architectures for explicit parallelism, multithreaded processors, data-parallel machines, small- and large-scale multiprocessor systems, shared-memory coherence and consistency, effect of architecture on communication latency, bandwidth, and overhead, interconnection networks, and case studies. The course provides necessary background for advanced research in the field, as well as exposure to practical aspects of parallel systems for Masters students and students focusing in other areas of Computer Science and VLSI.

Course Meetings

Monday and Wednesday, 3.00pm to 4.30pm in EECS 3427.
The Friday discussion section does not meet regularly, rather, two or three lectures during the semester could be rescheduled on Friday, to accommodate the instructor's travel schedule.

Instructor and Office Hours

Prof. Todd Austin
CSE 4637

Email:

Office hours: M 4.30-5.30pm, W 2.00-3.00pm, in CSE 4637

Prerequisites

Graduate students do not have prerequisites for this class. However, basic knowledge of computer architecture (pipelines, caches, Tomasulo's algorithm) and digital design (FSM, logic gates, Boolean Algebra) is needed. Undergraduate students: Students must have permission of the instructor.

Course Material

The course has no textbook. Readings will be from notes, book chapters and papers, all of which will be available on the web page.

Assignments

Final Project

The final project consists in a research project of your choice, related to the material covered in class. It could involve exploring some new solutions in parallel system programming/design, focused on either new algorithms or architectures. It could also explore some new applications of the topics discussed in class to a different area of research, for example, a parallel system for a specific application. Finally, it could be an empirical evaluation that compares two or more of the techniques presented in class. You may develop the project in groups of two or three people. During the development of the project, each group will meet with the instructor at regular "checkpoints", to discuss progress and issues encountered. At the end of the term, each team will give a presentation to the class on the project they developed, and turn in a short project report for final grading.

Credits and Grading

Grades will be based on class participation, student presentations, midterm and final project. The weight of each component is approximately as follows:
Paper presentation: 30%
Class participation: 10%
Midterm: 20%
Final project: 40%

General Policies

The honor code is in force on all assignments and exams. See the Engineering Honor Council web page here. Individual assignments (that is, the midterm exam) are to be performed on your own. Exception is the 30-minute paper presentation, which can be prepared using any human or ink-based resource that you can access. If materials are incorporated from another source (e.g., slides from the author), each inclusion of such materials must be marked with the name of the original author. The final project must be developed only by members of the group. Sources used in developing the project must be referenced and, in any case, the final report must be original writing. Verbal collaboration between members of different groups is permitted and encouraged for the purpose of helping classmates understanding concepts and providing references helpful in developing the project.