Coverage: Levels of Optimization
Many ways in which an application can be suboptimal
- Algorithmic, e.g. assignment, blocking
- Data structuring, e.g. 2-d or 4-d arrays for SAS grid problem
- Data layout, distribution and alignment, even if properly structured
- Orchestration
- contention
- long versus short messages
- synchronization frequency and cost, ...
- Also, random problems with “unimportant” data structures
Optimizing applications takes work
- Many practical applications may not be very well optimized
May examine selected different levels to test robustness of system