• DocumentCode
    1486429
  • Title

    Automatic compiler-inserted prefetching for pointer-based applications

  • Author

    Luk, Chi-Keung ; Mowry, Todd C.

  • Author_Institution
    Dept. of Comput. Sci., Toronto Univ., Ont., Canada
  • Volume
    48
  • Issue
    2
  • fYear
    1999
  • fDate
    2/1/1999 12:00:00 AM
  • Firstpage
    134
  • Lastpage
    141
  • Abstract
    As the disparity between processor and memory speeds continues to grow, memory latency is becoming an increasingly important performance bottleneck. While software-controlled prefetching is an attractive technique for tolerating this latency, its success has been limited thus far to array-based numeric codes. In this paper, we expand the scope of automatic compiler-inserted prefetching to also include the recursive data structures commonly found in pointer-based applications. We propose three compiler-based prefetching schemes, and automate the most widely applicable scheme (greedy prefetching) in an optimizing research compiler. Our experimental results demonstrate that compiler-inserted prefetching can offer significant performance gains on both uniprocessors and large-scale shared-memory multiprocessors
  • Keywords
    cache storage; data structures; program compilers; shared memory systems; automatic compiler-inserted prefetching; compiler-inserted prefetching; greedy prefetching; memory latency; optimizing research compiler; pointer-based applications; recursive data structures; shared-memory multiprocessors; uniprocessors; Application software; Computer science; Data structures; Delay; Large-scale systems; Optimizing compilers; Performance gain; Prefetching; Tree data structures; Tree graphs;
  • fLanguage
    English
  • Journal_Title
    Computers, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0018-9340
  • Type

    jour

  • DOI
    10.1109/12.752654
  • Filename
    752654