Reducing Contention
All resources have nonzero occupancy
- Memory, communication controller, network link, etc.
- Can only handle so many transactions per unit time
Effects of contention:
- Increased end-to-end cost for messages
- Reduced available bandwidth for individual messages
- Causes imbalances across processors
Particularly insidious performance problem
- Easy to ignore when programming
- Slow down messages that don’t even need that resource
- by causing other dependent resources to also congest
- Effect can be devastating: Don’t flood a resource!