Efficient representations and abstractions for quantifying and exploiting data reference locality

被引:29
作者
Chilimbi, TM [1 ]
机构
[1] Microsoft Corp, Res, Redmond, WA 98052 USA
关键词
D O I
10.1145/381694.378840
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
With the growing processor-memory performance gap, understanding and optimizing a program's reference locality, and consequently, its cache performance, is becoming increasingly important. Unfortunately, current reference locality optimizations rely on heuristics and are fairly ad-hoc. In addition, while optimization technology for improving instruction cache performance is fairly mature (though heuristic-based), data cache optimizations are still at an early stage. We believe the primary reason for this imbalance is the lack of a suitable representation of a program's dynamic data reference behavior and a quantitative basis for understanding this behavior. We address these issues by proposing a quantitative basis for understanding and optimizing reference locality, and by describing efficient data reference representations and an exploitable locality abstraction that support this framework. Our data reference representations (Whole Program Streams and Stream Flow Graphs) are compact - two to four orders of magnitude smaller than the program's data reference trace - and permit efficient analysis - on the order of seconds to a few minutes - even for complex applications. These representations can be used to efficiently compute our exploitable locality abstraction (hot data streams). We demonstrate that these representations and our hot data stream abstraction are useful for quantifying and exploiting data reference locality. We applied our framework to several SPECint 2000 benchmarks, a graphics program, and a commercial Microsoft database application. The results suggest significant opportunity for hot data stream-based locality optimizations.
引用
收藏
页码:191 / 202
页数:12
相关论文
共 23 条
  • [1] Ammons Glenn, 1998, P ACM SIGPLAN C PROG, P72, DOI DOI 10.1145/277652.277665
  • [2] [Anonymous], 1995, COMPUTER ARCHITECTUR
  • [3] BODIK R, 1997, P ACM SIGSOFT 5 S FD
  • [4] CHENNEY S, 2000, THESIS U CALIFORNIA
  • [5] Chilimbi T. M., 1999, P ACM SIGPLAN 99 C P
  • [6] CHILIMBI TM, 1998, P 1998 INT S MEM MAN
  • [7] CHILIMBI TM, 2001, MSRTR200143
  • [8] Improving cache performance in dynamic applications through data and computation reorganization at run time
    Ding, C
    Kennedy, K
    [J]. ACM SIGPLAN NOTICES, 1999, 34 (05) : 229 - 241
  • [9] FISHER JA, 1981, IEEE T COMPUT, V30, P478, DOI 10.1109/TC.1981.1675827
  • [10] GLOY N, 1997, P 30 ANN ACM IEEE IN