Title :
Data flow analysis for software prefetching linked data structures in Java
Author :
Cahoon, Brendon ; McKinley, Kathryn S.
Author_Institution :
Dept. of Comput. Sci., Massachusetts Univ., Amherst, MA, USA
Abstract :
Describes an effective compile-time analysis for software prefetching in Java. Previous work in software data prefetching for pointer-based codes asses simple compiler algorithms and does not investigate prefetching for object-oriented language features that male compile-time analysis difficult. We develop a new data flow analysis to detect regular accesses to linked data structures in Java programs. We use intra- and inter-procedural 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
Keywords :
Java; data flow analysis; data structures; program compilers; software performance evaluation; storage management; Java programs; compile-time analysis; data flow analysis; greedy prefetching; inter-procedural analysis; intra-procedural analysis; jump-pointer prefetching; linked data structures; object-oriented language features; performance improvement; pointer-based codes; regular accesses; software data prefetching; Algorithm design and analysis; Computer science; Data analysis; Data structures; Delay; Java; Object oriented modeling; Prefetching; Program processors; Software performance;
Conference_Titel :
Parallel Architectures and Compilation Techniques, 2001. Proceedings. 2001 International Conference on
Conference_Location :
Barcelona
Print_ISBN :
0-7695-1363-8
DOI :
10.1109/PACT.2001.953309