CS546 Parallel and Distributed Processing
Prerequisites
- CS450 Operating Systems
- CS470 Computer Architecture
Course Description
This course covers general issues of parallel processing, which include
system, architectures, programming, performance evaluation, and applications. Approximately
two third of the course will be devoted to basic concepts and techniques, and the remaining
third will be on programming and assorted current topics in parallel
computing. Four textbooks are recommended
as the general guideline of the lecture. Both undergrads and grads are welcome to the class.
Course Materials
-
Textbook
- A. Grama, V. Kumar et al.
- Introduction to Parallel Computing
- Addison Wesley, 2003. (required)
I. Foster
Design and Building Parallel Programs
Addison Wesley, 1995. (recommended)
W. Gropp
Using MPI: Portable Parallel Programming with the Message Passing Interface
MIT Press, 1994. (recommended)
I. Foster and C. Kesselman
The Grid 2: Blueprint for a New Computing Infrastructure
Morgan Kaufmann Publishers, 2003. (recommended)
Lectures
- (week 1) Introduction to parallel computing
- (week 2) Parallel Performance and Evaluation
- (week 3) Shared memory parallel architectures and programming I
- (week 4) Shared memory parallel architectures and programming II
- (week 5) Multithreaded programming
- (week 6) Distributed memory parallel architectures and communications
- (week 7) Exam 1
- (week 8) Message passing programming I
- (week 9) Message passing programming II
- (week 10) Data parallel programming I
- (week 11) Data parallel programming II
- (week 12) Methodology for parallel algorithms
- (week 13) Current trends
- (week 14) Introduction to distributed computing
- (week 15) Exam II
Grading:
- 55% homeworks
- 40% exams
- 5% participation