CS267: Lecture 2
Principles of Parallel Computation
Uniprocessor Optimizations
Th, August 29, 2002
Lecturer: Horst D. Simon
Abstract
We consider some basic principles of parallel computing, such as speed-up,
scaled speed-up, Amdahl's law, data locality, load balancing, and
synchromization. We study the structure and performance properties of modern
processors, with special attention on their memory hierarchies. We
describe a type of memory benchmark that can be used to expose performance
feature of the memory hierarchy, and look at some examples from specific
machines.
2002 Lecture Notes
PowerPoint
Readings
Questions that you should be able to answer:
-
What is Amdahl's Law?
-
What does scaled speed-up imply for the selection of the number of processors
for an application?
-
What are physics limits to scalability?
-
Why do we have memory hierarchies?
-
What type of parallelism can be found on a uniprocessor?
-
How can it be exploited for performance?
-
What is pipelining?
-
What are the limits to instruction level parallelism?
-
How does the memory hierarchy (cache) influence performance?