• DocumentCode
    157838
  • Title

    Sandbox Prefetching: Safe run-time evaluation of aggressive prefetchers

  • Author

    Pugsley, Seth H. ; Chishti, Zeshan ; Wilkerson, Chris ; Peng-fei Chuang ; Scott, R.L. ; Jaleel, Aamer ; Shih-Lien Lu ; Chow, Kingsum ; Balasubramonian, R.

  • Author_Institution
    Univ. of Utah, Salt Lake City, UT, USA
  • fYear
    2014
  • fDate
    15-19 Feb. 2014
  • Firstpage
    626
  • Lastpage
    637
  • Abstract
    Memory latency is a major factor in limiting CPU performance, and prefetching is a well-known method for hiding memory latency. Overly aggressive prefetching can waste scarce resources such as memory bandwidth and cache capacity, limiting or even hurting performance. It is therefore important to employ prefetching mechanisms that use these resources prudently, while still prefetching required data in a timely manner. In this work, we propose a new mechanism to determine at run-time the appropriate prefetching mechanism for the currently executing program, called Sandbox Prefetching. Sandbox Prefetching evaluates simple, aggressive offset prefetchers at run-time by adding the prefetch address to a Bloom filter, rather than actually fetching the data into the cache. Subsequent cache accesses are tested against the contents of the Bloom filter to see if the aggressive prefetcher under evaluation could have accurately prefetched the data, while simultaneously testing for the existence of prefetchable streams. Real prefetches are performed when the accuracy of evaluated prefetchers exceeds a threshold. This method combines the ideas of global pattern confirmation and immediate prefetching action to achieve high performance. Sandbox Prefetching improves performance across the tested workloads by 47.6% compared to not using any prefetching, and by 18.7% compared to the Feedback Directed Prefetching technique. Performance is also improved by 1.4% compared to the Access Map Pattern Matching Prefetcher, while incurring considerably less logic and storage overheads.
  • Keywords
    data structures; storage management; Bloom filter; CPU performance; access map pattern matching prefetcher; cache capacity; central processing unit; feedback directed prefetching technique; logic overhead; memory bandwidth; memory latency; prefetching mechanisms; sandbox prefetching; storage overhead; Accuracy; Bandwidth; Monitoring; Pattern matching; Prefetching; Radiation detectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    High Performance Computer Architecture (HPCA), 2014 IEEE 20th International Symposium on
  • Conference_Location
    Orlando, FL
  • Type

    conf

  • DOI
    10.1109/HPCA.2014.6835971
  • Filename
    6835971