Lecture 12

Learning objectives

After this class, you should be able to:

  1. Given data for the following operations: (i) reduction, (ii) broadcast, (iii) gather, and (iv) scatter, show the messages sent at each step and the state of each processor at the end of each step, for the algorithms discussed in class for these operation.
  2. Derive the time complexity for each of the above operations.
  3. Explain the idea behind divide and conquor and pipelining, which are used to develop efficient parallel algorithms.
  4. Define the terms (i) speedup, (ii) efficiency, and (iii) work.
  5. Given the time on a single processor, the number of processors, and the time taken by an algorithm on those processors, compute the speedup, efficiency, and work.

Reading assignment

  1. Handout on Parallel algorithms: Slides 1 - 20.
  2. Handout on Parallel algorithms: Slides 21 and 25, CLR: page 332.

Exercises and review questions


Last modified: 11 Oct 2006