CS/ECE 566 Parallel Processing Fall 2016

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

Instructor: Ajay Kshemkalyani

Office: 915 SEO (Office Hours: T,R 1:00-1:45PM & by appt.)
Phone: 355-1309
Email: ajay@uic.edu

Grader: Xiuyan (Kevin) Zhang
Office: 1333 SEO (Office Hours: F 11am-12noon & by appt.)
Email: xzhang87@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.
  2. Selection of papers to be studied in class.
Auxiliary resources:
  1. An Overview Chart
  2. UIC's new EXTREME cluster and a list of FAQs and Slides from ACCC
  3. The class share for CS/ECE 566 this semester is /export/share/classes/cs-ece566 .
    The tutorial slideshow and MPI demonstration are available in: /export/share/classes/cs-ece566/MPIsample
  4. MPI instructions and FAQ online
  5. MPI tutorial at Argonne National Lab
  6. Interconnection Networks
  7. The Travelling Salesman Problem
  8. Example Lab 1
  9. Overhead slides used in class.
  10. The best and the fastest supercomputers! Study this site including the report on HPC benchmarks.
  11. Distributed 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 (tentative):