Automated data-member layout of heap objects to improve memory-hierarchy performance

被引:32
作者
Kistler, T [1 ]
Franz, M [1 ]
机构
[1] Univ Calif Irvine, Dept Informat & Comp Sci, Irvine, CA 92697 USA
来源
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS | 2000年 / 22卷 / 03期
关键词
algorithms; languages; performance; memory-hierarchy optimization; dynamic optimization; dynamic data structures;
D O I
10.1145/353926.353937
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present and evaluate 8 simple, yet efficient optimization technique that improves memory-hierarchy performance for pointer-centric applications by up to 24% and reduces cache misses by up to 35%. This is achieved by selecting an improved ordering for the data, members of pointer-based data structures. Our optimization is applicable to all type-safe programming languages that completely abstract from physical storage layout; examples of such languages are Java and Oberon. Our technique does not involve programmers in the optimization process, but runs fully automatically guided by dynamic profiling information that captures which paths through the program are taken with what frequency. The algorithm first strives to cluster data members that are accessed closely after one another onto the same cache line, increasing spatial locality Then, the data members that have been mapped to a particular cache line are ordered to minimize load latency in case of a cache miss.
引用
收藏
页码:490 / 505
页数:16
相关论文
共 40 条
[1]  
[Anonymous], 1970, BELL SYST TECH J, DOI [10.1002/j.1538-7305.1970.tb01770.x, DOI 10.1002/J.1538-7305.1970.TB01770.X]
[2]  
BRANDIS M, 1995, THESIS I COMP ETH ZU
[3]  
BURTSCHER M, 1999, CUCS88599 U COL
[4]  
CALDER B, 1998, P 8 INT C ARCH SUPP, P129
[5]  
Chilimbi T. M., 1998, P INT S MEM MAN, P37
[6]  
CHILIMBI TM, 1999, P ACM SIGPLAN 1999 C, P13
[7]   EFFICIENTLY COMPUTING STATIC SINGLE ASSIGNMENT FORM AND THE CONTROL DEPENDENCE GRAPH [J].
CYTRON, R ;
FERRANTE, J ;
ROSEN, BK ;
WEGMAN, MN ;
ZADECK, FK .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1991, 13 (04) :451-490
[8]   ProfileMe: Hardware support for instruction-level profiling on out-of-order processors [J].
Dean, J ;
Hicks, JE ;
Waldspurger, CA ;
Weihl, WE ;
Chrysos, G .
THIRTIETH ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, PROCEEDINGS, 1997, :292-302
[9]  
DUTT S, 1993, P IEEE ACM INT C CAD
[10]  
FINKEL D, 1992, CSTR922 WORC POL I