CSC7220 SYLLABUS
Course: CSC 7220 "Parallel Computing"
Days/Time:
Location: Room 1129,
Lecturer: Dr. Razvan Andonie
Office: Room 450, State Hall
Office Hrs: Tues,
Office Phone: (313) 577-0662
E-mail: andonie@cs.wayne.edu
Overview:
Parallel computing uses multiple computers, or computers with multiple internal processors, to solve a problem at a greater compuational speed than a single computer. It also offers the opportunity to tackle larger problems, problems with more computational steps or more memory requirements. The course will start by studying various models of parallel computation. It will then cover algorithms for merging, sorting, searching, graphs, strings, numeric computation. Assignments will be based on programming the algorithms on PVM. The final part is an introduction to P-Completeness.
Required Textbook:
S.
Akl, The Design and Analysis of Parallel
Algorithms, Prentice Hall,
Recommended Textbooks:
S. Akl , Parallel Computation: Models and Methods,
Prentice Hall,
Al
Geist, et al., PVM: Parallel Virtual Machine - a User's Guide and Tutorial
for Networked Parallel Computing, The MIT Press,
V.
Kumar, A. Grama, A. Gupta, G. Karypis, Introduction to Parallel Computing,
The Benjamin/Cummings Publishing Company, Redwood City, California, 1994.
M.
J. Quinn, Parallel Computing, McGraw Hill, 1994.
P.
Chaudhuri, Parallel Algorithms: Design and Analysis, Prentice Hall,
1992.
J.
Jaja, An Introduction to Parallel Algorithms,
Addison-Wesley,
R.
Greenlaw, H.J. Hoover, W.L. Ruzzo, Limits to Parallel Computation:
P-Completeness Theory,
D.P.
Bovet, P. Crescenzi, Introduction to The Theory of
Complexity, Prentice Hall, N.Y., 1994.
Links:
PVM:
Parallel Virtual Machine: http://www.epm.ornl.gov/pvm/
PVM
- Introduction to Parallel Programming: http://www.coe.uncc.edu/~abw/parallel/orig_pvm/
Prerequisites: CSC 4420
Grading:
Grading will be based on the weighted average scores as shown below:
Programming
projects 50%
Midterm
Exam 25%
Final
Exam 25%
This score will be translated into a grade as shown in the following table:
Average Grade
95 - 100 A
90 - 95 A-
85 - 90 B+
80 - 85 B
75 - 80 B-
70 - 75 C+
65 - 70 C
60 - 65 C-
< 60 E Failure
Contents:
Introduction (models of computation)
Selection:
Desirable
properties for parallel algorithms
An
EREW algorithm for parallel selection
PVM:
Parallel Virtual Machine
Merging:
A
network for merging
Merging
on : CREW, EREW .
Sorting:
A
network for sorting
Sorting
on: Linear Array, CRCW, CREW, EREW.
Searching:
Searching
a sorted sequence (EREW, CREW, CRCW)
Searching
a random sequence (EREW, CREW, CRCW, Tree, Mesh)
Matrix
Operations:
Transposition
(Mesh, Shuffle, EREW)
Matrix-by-matrix
multiplication (Mesh, Cube, CRCW)
Matrix-by-vector
multiplication (Linear Array, Tree, Convolution)
Fourier
Transforms:
DFT
and convolution theorem
Algorithms
for FFT
Inverse
DFT
Computing
the DFT in parallel
Decision
and Optimization:
Computing
prefix sums (specialized networks, Tree, Mesh)
Job
sequencing with deadlines
The
knapsack problem
The
Computational Power of The PRAM model:
Comparison
between RAM and PRAM models
Graph
coloring on PRAM
Parallel
computation thesis
Introduction
to P-completeness
Class Schedule:
09/09 First class: Introduction
11/2 Midterm exam
11/25 No class, day scheduled as Friday
12/16 Last class: Student-Directed Review
12/21 Final exam (covers only second part)