DocumentCode
2817430
Title
Effective jump-pointer prefetching for linked data structures
Author
Roth, Amir ; Sohi, Gurindar S.
Author_Institution
Dept. of Comput. Sci., Wisconsin Univ., Madison, WI, USA
fYear
1999
fDate
1999
Firstpage
111
Lastpage
121
Abstract
Current techniques for prefetching linked data structures (LDS) exploit the work available in one loop iteration or recursive call to overlap pointer chasing latency. Jump-pointers, which provide direct access to non-adjacent nodes, can be used for prefetching when loop and recursive procedure bodies are small and do not have sufficient work to overlap a long latency. This paper describes a framework for jump-pointer prefetching (JPP) that supports four prefetching idioms: queue, full, chain, and root jumping and three implementations: software-only, hardware-only, and a cooperative software/hardware technique. On a suite of pointer intensive programs, jump-pointer prefetching reduces memory stall time by 72% for software, 83% for cooperative and 55% for hardware, producing speedups of 15%, 20% and 22% respectively
Keywords
processor scheduling; tree data structures; jump-pointer prefetching; linked data structures; loop iteration; pointer chasing latency; pointer intensive programs; prefetching idioms; Costs; Data structures; Delay; Hardware; Prefetching; Tail;
fLanguage
English
Publisher
ieee
Conference_Titel
Computer Architecture, 1999. Proceedings of the 26th International Symposium on
Conference_Location
Atlanta, GA
ISSN
1063-6897
Print_ISBN
0-7695-0170-2
Type
conf
DOI
10.1109/ISCA.1999.765944
Filename
765944
Link To Document