Using generational garbage collection to implement cache-conscious data placement

被引:11
作者
Chilimbi, TM [1 ]
Larus, JR [1 ]
机构
[1] Univ Wisconsin, Dept Comp Sci, Madison, WI 53706 USA
关键词
garbage collection; cache-conscious data placement; object-oriented programs; profiling;
D O I
10.1145/301589.286865
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
The cost of accessing main memory is increasing. Machine designers have tried to mitigate the consequences of the processor and memory technology trends underlying this increasing gap with a variety of techniques to reduce or tolerate memory latency. These techniques, unfortunately, are only occasionally successful for pointer-manipulating programs. Recent research has demonstrated the value of a complementary approach, in which pointer-based data structures are reorganized to improve cache locality. This paper studies a technique for using a generational garbage collector to reorganize data structures to produce a cache-conscious data layout, in which objects with high temporal affinity are placed next to each other, so that they are likely to reside in the same cache block. The paper explains how to collect, with low overhead, real-time profiling information about data access patterns in object-oriented languages, and describes a new copying algorithm that utilizes this information to produce a cache-conscious object layout. Preliminary results show that this technique reduces cache miss rates by 21-42 %, and improves program performance by 14-37 % over Cheney's algorithm. We also compare our layouts against those produced by the Wilson-Lam-Moher algorithm, which attempts to improve program locality at the page level. Our cache-conscious object layouts reduces cache miss rates by 20-41 % and improves program performance by 18-31 % over their algorithm, indicating that improving locality at the page level is not necessarily beneficial at the cache level.
引用
收藏
页码:37 / 48
页数:12
相关论文
共 31 条
[1]  
[Anonymous], P 6 INT C ARCH SUPP
[2]  
[Anonymous], TR930305 U WASH SEAT
[3]  
Calder B., 1998, P 8 INT C ARCH SUPP
[4]  
CALLAHAN D, 1991, P ASPLOS, V4, P40
[5]  
CARR S, 1994, P 6 INT C ARCH SUPP, V6, P252
[6]  
CHAMBERS C, 1992, LECT NOTES COMPUT SC, V615, P33, DOI 10.1007/BFb0053029
[7]  
CHAMBERS C, 1998, COMMUNICATION MAR
[8]  
CHAMBERS C, 1996, 960602 U WASH SEATTL
[9]   NONRECURSIVE LIST COMPACTING ALGORITHM [J].
CHENEY, CJ .
COMMUNICATIONS OF THE ACM, 1970, 13 (11) :677-&
[10]  
CHILIMBI TM, 1998, CSTR981365 U WISC MA