Effective jump-pointer prefetching for linked data structures

121Citations
Citations of this article
46Readers
Mendeley users who have this article in their library.

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.

Cite

CITATION STYLE

APA

Roth, A., & Sohi, G. S. (1999). Effective jump-pointer prefetching for linked data structures. Conference Proceedings - Annual International Symposium on Computer Architecture, ISCA, 111–121. https://doi.org/10.1145/307338.300989

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free