520-428  Introduction to Algorithms for Parallel Computers

Meeting Times:            Monday,  Wednesday  4-5:15, Barton 225
Instructor:                  Dr. Louis J. Podrazik, e-mail: podrazik@super.org
Office Hours:             by appointment

Synopsis: The ultimate goal of using parallel systems is to achieve a computational speedup factor of p with p processors. This course concentrates on examining why this ideal cannot often be practically achieved, and  describes methods that exhibit varying degrees of speedup by using multiple processors in a concurrent (parallel or distributed) system. The actual speed gain depends on the quality of mapping the parallel algorithm with the system architecture. This course focuses on the crucial interdependence of architectural and algorithmic speedup techniques. More specifically, the problem of algorithm selection and tuning for parallel systems and the reverse problem, the incorporation of architectural features to help improve algorithm efficiency are presented.

Prerequisite: Basic computer architecture and a course in computer programming.

Curriculum

Course Grading

Homework Assignments

Curriculum

 

Course Grading

Evaluation: Students will be evaluated on the basis of the following three components:

 

References

(1)     Behrooz Parhami (1999), Introduction to Parallel Processing: Algorithms and Architectures, QA76.58.P3798 1999, ISBN 0-306-45970-1.

(1)     Schonauer (2000), Scientific Supercomputing: Architecture and Use of Shared and Distributed Memory Parallel Computers, Self-Edition

(2)     Lakshmivarahan & Dhall (1990), Analysis and Design of Parallel Computers: Arithmetic and Matrix Problems, McGraw-Hill

(3)     Leighton (1992), Introduction to Parallel Algorithms and Architectures: Arrays . Trees . Hypercubes, Morgan Kaufmann.

(4)     Jagdish J. Modi, (1988), Parallel Algorithms and Matrix Computations

(5)     Akl (1997), Parallel Computation: Models & Methods, Prentice Hall

(6)     Geoffrey Fox, et al. (1988), Solving Problems on Concurrent Computers

(1)     http://www.uni-karlsruhe.de/Uni/RZ/Personen/rz03/book/

(2)     http://www-unix.mcs.anl.gov/mpi/