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
99 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. SpChar: Characterizing the sparse puzzle via decision trees;Journal of Parallel and Distributed Computing;2024-10
2. CBANA: A Lightweight, Efficient, and Flexible Cache Behavior Analysis Framework;IEEE Transactions on Computers;2024-09
3. TAO: Re-Thinking DL-based Microarchitecture Simulation;Proceedings of the ACM on Measurement and Analysis of Computing Systems;2024-05-21
4. FLOWS: Balanced MRC Profiling for Heterogeneous Object-Size Cache;Proceedings of the Nineteenth European Conference on Computer Systems;2024-04-22
5. LLVM Static Analysis for Program Characterization and Memory Reuse Profile Estimation;Proceedings of the International Symposium on Memory Systems;2023-10-02