-CS5334
  -Semester Project
  -References
  -List classes
  -Home Dr. Taufer

Spring 2005: Parallel and Concurrent Computing, CS 5334

Course Title and Number: Parallel and Concurrent Computing, CS 5334
Instructor: Dr. Michela Taufer
Time: Tuesday and Thursday 13:30PM-2:50PM
Room: CS 321
Office Hours: Tuesday and Thursday 10:30AM-11:30AM or per appointment.
Email Address: taufer AT acm DOT org
Campus Office Number: 6957

NEWS: Click HERE to see the presentations of our semester project

Topics:

  1. Overview of Parallel Computing, Parallel Algorithm Design and Performance Analysis: parallel computing concepts, parallel computer architectures, standard programming models for parallel computers, models to facilitate the development of efficient parallel programs, and methods for performance analysis of parallel algorithms.
  2. Distributed Memory Programming with Message Passing Interface (MPI): MPI features and syntax, examples of parallelizing serial codes with MPI, discussion of performance issues, future of MPI.
  3. Shared Memory Parallel Programming with OpenMP: OpenMP features and syntax, examples of parallelizing serial codes with OpenMP, discussion of performance issues, future of OpenMP.
  4. Other Programming Models and Specific Topics in Parallel Computing: combining OpenMP and MPI, scalable programming and algorithms, libraries (BLAS, PETSc, PLAPACK), potential future 'standard' programming languages and tools, debugging parallel codes, parallel I/O, and other parallel programming topics of interest as time allow.

Textbooks:
Reference books:

  1. Parallel Programming with MPI by Peter Pacheco (Paperback)
  2. Parallel Programming in C with MPI and OpenMP by Michael J. Quinn (Hardcover)
  3. Parallel Programming in OpenMP by Rohit Chandra, et al (Paperback)

Other suggested books:

  1. Using MPI - 2nd Edition: Portable Parallel Programming with the Message Passing Interface (Scientific and Engineering Computation) by William Gropp, et al (Paperback)
  2. MPI: The Complete Reference (2-volume set) by Marc Snir, William Gropp (Paperback)

Assignments:

There will be an exam after each of topics 1-3. There will be programming assignments after topics 2 and 3, due three weeks after the topic has been completed and a semester project, including a report, is due one week before the end of the semester. The presentations and discussion of the semester project will take place the last week of the semester. There will be a final exam.

Semester Project:

Each student taking the course is required to team with another student and work on the semester project described below. At the end of the semester, the team will present the results of their work in an up to 30-minutes presentation. The teams will discuss and compare results.

Study of Scalable Fault Tolerant MPI Implementations for Volatile Nodes

Several research efforts aim to provide MPI implementations featuring scalable, fault-tolerant protocols for volatile nodes (e.g., MPICH-V, Starfish, FT-MPI). Perform an in-depth literature study of the merits and capabilities of these approaches. Compare and contrast the most important approches. Write a techincal report (up to 10 pages): summing up the state of the art in the field, addressing issues such as how these different approches work (from the system point of view and from the application performance point of view), reporting reseach directions already underlined in the papers, and suggesting future reseach opportunities.

Tentative Class Schedule:

Week 1: Parallel Computing Overview
Week 2: Parallel Computing Overview
Week 3: Parallel Algorithm Design
Week 4: Perfromance Anlaysis
Week 5: Distributed Memory Programming: MPI
Week 6: Distributed Memory Programming: MPI
Week 7: Distributed Memory Programming: MPI
Week 8: Distributed Memory Programming: MPI
Week 9: Shared Memory Programming: OpenMP
Week 10: Shared Memory Programming: OpenMP
Week 11: Spring break Special Topics in Parallel Computing
Week 15: Special Topics in Parallel Computing
Week 16: Presentation and Discussion of the Semester Project

Important Dates:

First Class Meeting: 1/11
First Midterm Exam: 2/8
Second Midterm Exam: 3/3
Last Day to Drop with a W (*): 3/18
Holiday:
- 3/21-27(Spring Break - No Classes)
- 3/31 (Cesar Chavez Day - No Classes)
Third Midterm Exam: 4/5
Project Report: 4/19
Last Class Meeting: 4/28
Final Exam: TBD

(*) Beginning the 1997 Fall semester, students or faculty members may initiate a drop with a grade of W until the drop deadline (3/18/2005). After that date, students may be dropped only with a grade of F. After that date, grades of W may only be assigned in exceptional circumstances after a written petition from a student and with the approval of the faculty member and the academic dean.

Grade Basis: Midterms (3 during the semester, see dates above): 30%
Final (see date above): 30%
Progamming assignment (2): 20%
Semester project (1): 20%

Facilities:

UTEP operates several advanced parallel computing systems. Students will get class accounts on one or more UTEP computing systems to complete their programming assignments.

Withdrawal and Grade I:

Grade I: The grade of I (incomplete) will be given ONLY if you are unable to complete the course due to documented appropriate circumstances beyond your control that develop after the last day to withdraw from the course. Appropriate circumstances include illness and death or crisis in your immediate family. In NO case will an I grade be assigned to avoid a grade of D or F in the course. Course Withdrawals: If you decide to withdraw from the course, you are responsible for ensuring that all steps are taken to formally withdraw. Do not assume that you will be dropped automatically.

About the class notes:

The class notes are adapted from those developed by Dr. Jay Boisseau (Director of the Texas Advanced Computing Center, TACC of UT) and Dr. Kent Milfeld (TACC) to teach Parallel Computing for Science & Engineering at UT Austin.


Last Change: Mar 2005
Author: Taufer Michela