Data flow analysis for software prefetching linked data structures in Java']Java

被引:41
作者
Cahoon, B [1 ]
McKinley, KS [1 ]
机构
[1] Univ Massachusetts, Dept Comp Sci, Amherst, MA 01002 USA
来源
2001 INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, PROCEEDINGS | 2001年
关键词
D O I
10.1109/PACT.2001.953309
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In this paper we describe an effective compile-time analysis for software prefetching in Java. Previous work in software data prefetching for pointer-based codes uses simple compiler algorithms and does not investigate prefetching for object-oriented language features that make compile-time analysis difficult. We develop a new dataflow analysis to detect regular accesses to linked data structures in Java programs. We use intra and interprocedural analysis to identify profitable prefetching opportunities for greedy and jump-pointer prefetching, and we implement these techniques in a compiler for Java. Our results show that both prefetching techniques improve four of our ten programs. The largest performance improvement is 48% with jump-pointers, but consistent improvements are difficult to obtain.
引用
收藏
页码:280 / 291
页数:12
相关论文
共 30 条
[1]  
Aho Alfred V., 1986, ADDISON WESLEY SERIE
[2]  
ALDRICH J, 1999, P 6 INT STAT AN S SA, P19
[3]  
BENEDITK M, 1999, P ESOP 99 EUR S PROG
[4]  
Bernstein D., 1995, Parallel Architectures and Compilation Techniques. Proceedings of the IFIP WG10.3 Working Conference. PACT'95, P19
[5]  
Cahoon B., 1999, WORKSH HARDW SUPP OB
[6]  
CALLAHAN D, 1991, 4TH P INT C ARCH SUP, P40
[7]   Cache-conscious structure layout [J].
Chilimbi, TM ;
Hill, MD ;
Larus, JR .
ACM SIGPLAN NOTICES, 1999, 34 (05) :1-12
[8]   Vortex: An optimizing compiler for object-oriented languages [J].
Dean, J ;
DeFouw, G ;
Grove, D ;
Litvinov, V ;
Chambers, C .
ACM SIGPLAN NOTICES, 1996, 31 (10) :83-100
[9]  
DOLBY J, 2000, P 2000 ACM SIGPLAN C
[10]  
GERLEK MP, 1995, ACM T PROGRAMMING LA, V17