Quick facts

Course B649—Parallel Architectures and Programming (Topics in Computer Architecture)
Credits 3
Location BU427 LH 019 (Lindley Hall)
Times Mon & Wed, 2:30 PM-3:45 PM
Instructor Arun Chauhan
Office Hours By appointment
Textbook Computer Architecture: A Quantitative Approach (fourth edition), by John L. Hennessy and David A. Pattterson

Motivation

In 1997, IEEE Computer Society published a special issue on what could be achieved with a billion transistors on a single chip. Leading computer architects proposed seven different ideas. A subsequently published article in 2004 noted that none of those architectures has become mainstream. Such is the nature of research! However, a billion transistors on a chip is now a reality. A symmetric multi-core architecture is just one of the uses for billions of transistors on a chip. What other possibilities are there? Do these entail entirely novel ways of programming them? What are the consequences for application programmers? For compilers? This course will attempt to answer these questions by drawing on experts in the fields of architecture, parallel programming, high-performance applications, and compilers.

About the course

The course will be run as a seminar, covering modern computer architectures, including multi-cores and GPUs. About half A few of the lectures will be guest lectures by Profs Geoffrey Brown, Andrew Lumsdaine, and Randall Bramley. The rest will be divided between the instructor and student presentations. The course content will be based on a textbook (Computer Architecture, A Quantitative Approach (Fourth Edition)) and published technical papers and / or other supplementary material (to be decided).

Goals

This course aims to provide:

Prerequisites

A substantial knowledge of computer architecture is not assumed, although a fundamental understanding of digital hardware and computer architecture is expected. Experience with system-level programming will help. Familiarity with Unix / Linux is highly recommended.

Course-load

The course will involve 3-4 assignments and one final project. There will be no exams. Apart from the assignments and project, the evaluation will be based on class presentation, class participation, and answers to semi-open-ended questions that will be posed in class from time to time to be researched and answered on a course blog.