Affiliation:
1. Department of Computer Science, University of Maryland, College Park, MD
Abstract
Many cache misses in scientific programs are due to conflicts caused by limited set associativity. We examine two compile-time data-layout transformations for eliminating conflict misses, concentrating on misses occuring on every loop iteration. Inter-variable padding adjusts variable base addresses, while intra-variable padding modifies array dimension sizes. Two levels of precision are evaluated. PADLITE only uses array and column dimension sizes, relying on assumptions about common array reference patterns. PAD analyzes programs, detecting conflict misses by linearizing array references and calculating
conflict distances
between uniformly-generated references. The Euclidean algorithm for computing the
gcd
of two numbers is used to predict conflicts between different array columns for linear algebra codes. Experiments on a range of programs indicate PADLITE can eliminate conflicts for benchmarks, but PAD is more effective over a range of cache and problem sizes. Padding reduces cache miss rates by 16% on average for a 16K direct-mapped cache. Execution times are reduced by 6% on average, with some SPEC95 programs improving up to 15%.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
21 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Adaptive Image Size Padding for Load Balancing in System-on-Chip Memory Hierarchy;Electronics;2023-08-09
2. Distance-in-time versus distance-in-space;Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2021-06-18
3. Assessing the effect of data transformations on test suite compilation;Proceedings of the 12th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement;2018-10-11
4. Taxonomy of Vectorization Patterns of Programming for FIR Image Filters Using Kernel Subsampling and New One;Applied Sciences;2018-07-26
5. Investigating Data Layout Transformations in Chapel;2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2018-05