Lecture 19

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 pipelining, which is used to develop efficient parallel algorithms.
  4. Show the steps involved in the iterative parallel prefix algorithm discussed in class, and derive its time complexity.
  5. Show how a linear recurrence can be formulated as a parallel prefix problem, and derive the time complexity of the parallel algorithm based on this formulation.

Reading assignment

  1. Handout on Parallel algorithms.

Exercises and review questions


Last modified: 10 Nov 2011