Affiliation:
1. George Mason University, Fairfax, VA
2. The College of William and Mary, Williamsburg, VA
3. University of Rochester, Rochester, NY
Abstract
On modern computer systems, the memory performance of an application depends on its locality. For a single execution, locality-correlated measures like average miss rate or working-set size have long been analyzed using
reuse distance
—the number of distinct locations accessed between consecutive accesses to a given location. This article addresses the analysis problem at the program level, where the size of data and the locality of execution may change significantly depending on the input.
The article presents two techniques that predict how the locality of a program changes with its input. The first is approximate reuse-distance measurement, which is asymptotically faster than exact methods while providing a guaranteed precision. The second is statistical prediction of locality in all executions of a program based on the analysis of a few executions. The prediction process has three steps: dividing data accesses into groups, finding the access patterns in each group, and building parameterized models. The resulting prediction may be used on-line with the help of distance-based sampling. When evaluated on fifteen benchmark applications, the new techniques predicted program locality with good accuracy, even for test executions that are orders of magnitude larger than the training executions.
The two techniques are among the first to enable quantitative analysis of whole-program locality in general sequential code. These findings form the basis for a unified understanding of program locality and its many facets. Concluding sections of the article present a taxonomy of related literature along five dimensions of locality and discuss the role of reuse distance in performance modeling, program optimization, cache and virtual memory management, and network traffic analysis.
Funder
U.S. Department of Energy
National Science Foundation
Division of Computer and Network Systems
Publisher
Association for Computing Machinery (ACM)
Reference104 articles.
1. Using integer sets for data-parallel program analysis and optimization
2. Allen R. and Kennedy K. 2001. Optimizing Compilers for Modern Architectures: A Dependence-Based Approach. Morgan Kaufmann Publishers. Allen R. and Kennedy K. 2001. Optimizing Compilers for Modern Architectures: A Dependence-Based Approach. Morgan Kaufmann Publishers.
3. Calculating stack distances efficiently
4. The space complexity of approximating the frequency moments
Cited by
93 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Multi-Tenant In-Memory Key-Value Cache Partitioning Using Efficient Random Sampling-Based LRU Model;IEEE Transactions on Cloud Computing;2023-10
2. DroidPerf: Profiling Memory Objects on Android Devices;Proceedings of the 29th Annual International Conference on Mobile Computing and Networking;2023-07-10
3. Increment - and - Freeze: Every Cache, Everywhere, All of the Time;Proceedings of the 35th ACM Symposium on Parallelism in Algorithms and Architectures;2023-06-17
4. DJXPerf: Identifying Memory Inefficiencies via Object-Centric Profiling for Java;Proceedings of the 21st ACM/IEEE International Symposium on Code Generation and Optimization;2023-02-17
5. BullsEye
: Scalable and Accurate Approximation Framework for Cache Miss Calculation;ACM Transactions on Architecture and Code Optimization;2022-11-17