EECS 570 - Parallel Computer Architecture
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.
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
Office hours: M 4.30-5.30pm, W 2.00-3.00pm, in CSE 4637
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.
The course has no textbook. Readings will be from notes, book chapters and
papers, all of which will be available on the web page.
- One thirty-minute presentation on one of the papers from the reading
list. The week before the presentation date, the student must meet with the
instructor during office hours to go over a draft of the presentation.
- Midterm which will cover material from the lectures and the papers.
- A final project to be developed in groups of two or three students.
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
Paper presentation: 30%
Class participation: 10%
Final project: 40%
The honor code is in force on all assignments and exams. See the Engineering
Honor Council web page
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.