Learning objectives
After this class, you should be able to:
- Explain the idea behind
divide and conquor
, which is used to develop efficient parallel algorithms.- Define the terms (i) speedup, (ii) efficiency, and (iii) work.
- 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
- Handout on Parallel algorithms.
- Refer to an online parallel computing book. For example, section 2.3 discusses reduction, section 3.3 discusses performance metrics, and section 4.6 discusses matrix multiplication (this is more complicated than matrix-vector multiplication, but does show the benefits of a 2-D decomposition).
Exercises and review questions
- Questions on current lecture's material
- Determine the speedup for reduction when 1000 numbers are added on 100 processors.
- If wall clock time for a sequential computation is 100 seconds, and the parallel time is 14 seconds on 10 cores, then determine the speedup and efficiency.
- Questions on next lecture's material
- None.