• DocumentCode
    1647602
  • Title

    A prefetching technique for irregular accesses to linked data structures

  • Author

    Karlsson, Magnus ; Dahlgren, F. ; Stenström, Per

  • Author_Institution
    Dept. of Comput. Eng., Chalmers Univ. of Technol., Goteborg, Sweden
  • fYear
    2000
  • fDate
    6/22/1905 12:00:00 AM
  • Firstpage
    206
  • Lastpage
    217
  • Abstract
    Prefetching offers the potential to improve the performance of linked data structure (LDS) traversals. However, previously proposed prefetching methods only work well when there is enough work processing a node that the prefetch latency can be hidden, or when the LDS is long enough and the traversal path is known a priori. This paper presents a prefetching technique called prefetch arrays which can prefetch both short LDS, as the lists found in hash tables, and trees when the traversal path is nor known a priori. We offer two implementations, one software-only and one which combines software annotations with a prefetch engine in hardware. On a pointer-intensive benchmark suite, we show that our implementations reduce the memory stall lime by 23% to 51% for the kernels with linked lists, while the other prefetching methods cause reductions that are substantially less. For binary-trees, our hardware method manages to cut nearly 60% of the memory stall time even when the traversal path is not known a priori. However, when the branching factor of the tree is too high, our technique does not improve performance. Another contribution of the paper is that we quantify pointer-chasing found in interesting applications such as OLTP, Expert Systems, DSS, and JAVA codes and discuss which prefetching techniques are relevant to use in each case
  • Keywords
    data structures; storage allocation; storage management; linked data structure; linked data structures; prefetch arrays; prefetching; Data structures; Decision support systems; Delay; Engines; Expert systems; Hardware; Java; Kernel; Memory management; Prefetching;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High-Performance Computer Architecture, 2000. HPCA-6. Proceedings. Sixth International Symposium on
  • Conference_Location
    Touluse
  • Print_ISBN
    0-7695-0550-3
  • Type

    conf

  • DOI
    10.1109/HPCA.2000.824351
  • Filename
    824351