Program Locality Analysis Using Reuse Distance

被引:100
作者
Zhong, Yutao [1 ]
Shen, Xipeng [2 ]
Ding, Chen [3 ]
机构
[1] George Mason Univ, Fairfax, VA 22030 USA
[2] Coll William & Mary, Williamsburg, VA USA
[3] Univ Rochester, Rochester, NY USA
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2009年 / 31卷 / 06期
基金
美国国家科学基金会;
关键词
Measurement; Languages; Algorithms; Program locality; reuse distance; stack distance; training-based analysis;
D O I
10.1145/1552309.1552310
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页数:39
相关论文
共 106 条
[1]  
ADVE V, 1998, P ACM SIGPLAN C PROG
[2]  
ALMASI G, 2002, P ACM SIGPLAN WORKSH
[3]  
Almeida V, 1996, PROCEEDINGS OF THE FOURTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED INFORMATION SYSTEMS, P92, DOI 10.1109/PDIS.1996.568672
[4]  
ALON N, 1996, P ACM S THEOR COMP
[5]   A framework for reducing the cost of instrumented code [J].
Arnold, M ;
Ryder, BG .
ACM SIGPLAN NOTICES, 2001, 36 (05) :168-179
[6]  
Banerjee U. K., 1988, DEPENDENCE ANAL SUPE
[7]  
BATSON AP, 1976, P INT C MEAS MOD COM
[8]   LRU STACK PROCESSING [J].
BENNETT, BT ;
KRUSKAL, VJ .
IBM JOURNAL OF RESEARCH AND DEVELOPMENT, 1975, 19 (04) :353-357
[9]   StatCache: A probabilistic approach to efficient and accurate data locality analysis [J].
Berg, E ;
Hagersten, E .
ISPASS: 2004 IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, 2004, :20-27
[10]  
Berg Erik., 2005, Proceedings of the International Conference on Measurement and Modeling of Computer Systems, P169