Concurrency
Should have enough to utilize the processors
- If load imbalance dominates, may not be much machine can do
- (Still, useful to know what kinds of workloads/configurations don’t have enough concurrency)
Algorithmic speedup: useful measure of concurrency/imbalance
- Speedup (under scaling model) assuming all memory/communication operations take zero time
- Ignores memory system, measures imbalance and extra work
- Uses PRAM machine model (Parallel Random Access Machine)
- Unrealistic, but widely used for theoretical algorithm development
At least, should isolate performance limitations due to program characteristics that a machine cannot do much about (concurrency) from those that it can.