• 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