CS/ECE 566 Parallel Processing Fall 2012

Meets: TR 3:30 PM - 4:45 PM. Room: BH 316
Call number: 33741 (CS) and 33742 (ECE)

Instructor: Ajay Kshemkalyani

Office: 915 SEO (Office Hours: T 2:00-3:15PM & by appt.)
Phone: 355-1309
Email: ajay@uic.edu

Prerequisites: CS 401 and CS/ECE 466 or equivalents, or permission of instructor

Required Textbooks/ Sources:

  1. Main text: Introduction to Parallel Computing, by V. Kumar, A. Grama, A. Gupta, G. Karypis, Benjamin-Cummins, 2nd edition, 2003.
    All Chapters except Chapter 7.
  2. Selection of papers to be studied in class.
Auxiliary resources:
  1. An Overview Chart
  2. The Argo Beowulf Cluster at UIC, and MPICH2 and How to use MPICH on ARGO and troubleshooting and to know which nodes are reserved on which queues
  3. MPI tutorial at Argonne National Lab
  4. Interconnection Networks
  5. The Travelling Salesman Problem
    • TSP on Wiki
    • Repository and Data Sets
    • TSPLIB library
    • J. N. Magee, S. C. Cheung, Parallel algorithm design for workstation clusters, Software: Practice and Experience, Volume 21, Issue 3 , Pages 235 - 250.
    • Cesari G., Divide and conquer strategies for parallel TSP heuristics, Computers and Operations Research, Volume 23, Number 7, July 1996 , pp. 681-694(14) (Elsevier)
  6. Overhead slides used in class.
  7. The best and the fastest supercomputers! Study this site including the report on HPC benchmarks.
  8. Shared memory Chapter

Supplemental References and sources:

  1. Introduction to Parallel Algorithms and Architectures, by Thomas Leighton, Morgan Kaufman, latest edition.
    Chapters 1.1, 1.5, 1.6, 1.7, 2.1, 2.2, 2.7, 3.1 - 3.7
  2. Parallel Computation : Models and Methods, by Selim G. Akl / Prentice Hall / April 1997
  3. Highly Parallel Computing (The Benjamin/Cummings Series in Computer Science and Engineering) by George S. Almasi, Allan Gottlieb / Addison-Wesley Pub Co / February 1994

Course Description:

  1. Various parallel topologies (e.g., hypercube, torus) and algorithms on such topologies
  2. Parallel algorithms for counting, sorting, routing, and graphs
  3. Parallel alogrithms for NP-complete problems
  4. Parallel matrix multiplication, Fast Fourier Transforms
  5. Shared memory parallel systems
  6. Programming using MPI (Message Passing Interface); case studies of systems/platforms
  7. Special topics

Grading: Grading will be on the curve. The following is only a tentative breakup of the evaluation scheme and is subject to (reasonable) changes as the course progresses. Also depends on the class size.

Course progress chart: