Lecture 5
Learning objectives
After this class, you should be able to:
- Explain the Single Program Multiple Data idea and how different processes can be made to perform different work in this model.
- Identify non-determinism in parallel code.
- Define the following terms: speedup, efficiency, work, scalability (strong and weak).
- Given an algorithm or its sequential and parallel time complexity, compute speedup, efficiency, and work, and discuss its scalability.
- Use Amdahl's law to determine limits on speedup.
Reading assignment
- Lecture 5 slides.
- Section 2.4-2.6.
- Page 66.
Exercises and review questions
- Questions on current lecture's material
- Complete the second example on page 6 of the lecture slides.
- If the serial fraction of code is 0.001, then what is the limit on speedup on 333 cores? What is an absolute bound on the speedup?
- Discuss the weak scalability of reduction-1 for the case of n >> p.
- Questions on next lecture's material
- Explain the four steps of Foster's methodology for building parallel programs.