1996
DOI: 10.1145/248209.237190
|View full text |Cite
|
Sign up to set email alerts
|

Compiler-based prefetching for recursive data structures

Abstract: Software-controlled data prefetching offers the potential for bridging the ever-increasing speed gap between the memory subsystem and today's high-performance processors. While prefetching has enjoyed considerable success in array-based numeric codes, its potential in pointer-based applications has remained largely unexplored. This paper investigates compiler-based prefetching for pointer-based applications---in particular, those containing recursive data structures. We identify the fundamental problem in pref… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
117
0

Year Published

1998
1998
2008
2008

Publication Types

Select...
4
2
2

Relationship

0
8

Authors

Journals

citations
Cited by 71 publications
(117 citation statements)
references
References 18 publications
0
117
0
Order By: Relevance
“…Luk and Mowry [20] have looked at optimizing recursive data structure access by predicting which parts of the structure will be accessed in the future. One of their approaches, history pointers, is similar in philosophy to our traversal profiles.…”
Section: Related Workmentioning
confidence: 99%
“…Luk and Mowry [20] have looked at optimizing recursive data structure access by predicting which parts of the structure will be accessed in the future. One of their approaches, history pointers, is similar in philosophy to our traversal profiles.…”
Section: Related Workmentioning
confidence: 99%
“…By issuing a prefetch instruction before other work is done in a loop, memory latency caused by a cache-miss on a pointer traversal can be hidden, provided that the work done in the loop body is substantial. Karlsson et al [19] describe techniques to prefetch irregular accessed linked structures which extends the work of Luk and Mowry [24], who mention data linearization as a technique to improve prefetching efficiency and locality. Yang and Lebeck [33] present a memory architecture which pro-actively dereferences pointers lower in the hierarchy to push data higher into the memory hierarchy instead of waiting for the higher memory-level to pull the data.…”
Section: Related Workmentioning
confidence: 99%
“…Several studies [30,17,6] have proposed global communication scheduling techniques that attempt to find an optimal arrangement for all non-blocking memory accesses. Other variants of this optimization such as message strip mining [27] and software prefetching [18] are also useful in reducing an application's stall times due to communication latencies.…”
Section: Communication/computation Overlapmentioning
confidence: 99%