Effective Padding of Multi-Dimensional Arrays to Avoid Cache Conflict Misses
Caches are used to significantly improve performance. Even with high degrees of set-associativity, the number of accessed data elements mapping to the same set in a cache can easily exceed the degree of associativity, causing conflict misses and lowered performance, even if the working set is much smaller than cache capacity. Array padding (increasing the size of array dimensions) is a well known optimization technique that can reduce conflict misses. In this paper, we develop the first algorithms for optimal padding of arrays for a set associative cache for arbitrary tile sizes, In addition, we develop the first solution to padding for nested tiles and multi-level caches. The techniques are in implemented in PAdvisor tool. Experimental results with multiple benchmarks demonstrate significant performance improvement from use of PAdvisor for padding.
- Research Organization:
- Pacific Northwest National Lab. (PNNL), Richland, WA (United States)
- Sponsoring Organization:
- USDOE
- DOE Contract Number:
- AC05-76RL01830
- OSTI ID:
- 1339895
- Report Number(s):
- PNNL-SA-115708; KJ0402000
- Resource Relation:
- Conference: Proceedings of the 37th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2016), June 13-17, 2016, Santa Barbara, California, 51(6):129-144
- Country of Publication:
- United States
- Language:
- English
Similar Records
Lightweight Detection of Cache Conflicts
Software methods for improvement of cache performance on supercomputer applications