CISC 372: INTRODUCTION TO PARALLEL PROGRAMMING
Fall 2001
Exam Study Guide
Final Exam Time and Date: course classroom on Friday, Dec 14, 2001, 1-3pm.

References

- All lectures notes. (Topical summary on course web page:
     http://www.cis.udel.edu/~saunders/courses/372/01f/
- Textbook: Chapters 1, 2, 3, 4, 5, 7(thru 7.4), 9, 10, 11, 12,
- Individual Labs, Group Projects.

Format of Exam

The exam is closed book, closed neighbor and you will have the full two hour period to work. You will be given a list of MPI commands with their parameters for reference. In general, the exam will be a combination of testing your basic knowledge and understanding of the concepts covered in class and application of the concepts. The form of the questions will be similar to the midterm exam.

How to Study

Review your lecture notes, labs, and textbook chapters. Rewrite some of the simple programs on your own, given a specification of what the program is supposed to do.

Topic Coverage

  • paradigms of parallel computing: data parallel, task parallel, pipelining
  • parallel architectures: fine grain parallelism in a uniprocessor, SIMD, vector machines, array processors, MIMD, uniform shared memory, nonuniform shared memory, distributed memory, distributed shared memory
  • SPMD versus MIMD style programming
  • interconnection networks: topologies and advantages and disadvantages
    (Be prepared to discuss what you learned from the group research project. What more do you know about topologies and parallel programming styles in view of the various research reports.)
  • basic MPI program components and format and purpose of each component
  • standard message passing in MPI: purpose of each field
  • problems in parallel programming: deadlock, nondeterminism and races, load imbalance, communication overhead versus computation per process: what are these problems, symptoms, causes, approaches to dealing with them
  • example applications: numerical integration, matrix-vector mult., Fox' method.
  • performance evaluation: Esp. the definitions and uses of the concepts of speedup, parallel efficiency, scalability. Amdahl's law, etc.
    David Saunders     12Dec2001