CSC7220 SYLLABUS

Course: CSC 7220 "Parallel Computing"

Days/Time: 6:00 - 7:20 pm M/W

Location: Room 1129, Main

Lecturer: Dr. Razvan Andonie

Office: Room 450, State Hall

Office Hrs: Tues, 4:00 - 6:00 pm or by appointment

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, Englewood Cliffs, New Jersey, 1989.

Recommended Textbooks:

*      S. Akl , Parallel Computation: Models and Methods, Prentice Hall, Englewood Cliffs, New Jersey, 1997.

*      Al Geist, et al., PVM: Parallel Virtual Machine - a User's Guide and Tutorial for Networked Parallel Computing, The MIT Press, Cambridge, 1994.

*      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, Reading, Mass., 1992.

*      R. Greenlaw, H.J. Hoover, W.L. Ruzzo, Limits to Parallel Computation: P-Completeness Theory, Oxford University Press, New York, 1995.

*      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)