• DocumentCode
    2746518
  • Title

    Static identification of delinquent loads

  • Author

    Panait, Vlad-Mihai ; Sasturkar, Amit ; Wong, Weng-Fai

  • Author_Institution
    Dept. of Comput. Sci., Politehnica Univ. of Bucharest, Romania
  • fYear
    2004
  • fDate
    20-24 March 2004
  • Firstpage
    303
  • Lastpage
    314
  • Abstract
    The effective use of processor caches is crucial to the performance of applications. It has been shown that cache misses are not evenly distributed throughout a program. In applications running on RISC-style processors, a small number of delinquent load instructions are responsible for most of the cache misses. Identification of delinquent loads is the key to the success of many cache optimization and prefetching techniques. We propose a method for identifying delinquent loads that can be implemented at compile time. Our experiments over eighteen benchmarks from the SPEC suite shows that our proposed scheme is stable across benchmarks, inputs, and cache structures, identifying an average of 10% of the total number of loads in the benchmarks we tested that account for over 90% of all data cache misses. As far as we know, this is the first time a technique for static delinquent load identification with such a level of precision and coverage has been reported. While comparable techniques can also identify load instructions that cover 90% of all data cache misses, they do so by selecting over 50% of all load instructions in the code, resulting in a high number of false positives. If basic block profiling is used in conjunction with our heuristic, then our results show that it is possible to pin down just 1.3% of the load instructions that account for 82% of all data cache misses.
  • Keywords
    benchmark testing; cache storage; memory architecture; optimising compilers; reduced instruction set computing; resource allocation; RISC-style processors; SPEC suite benchmark; basic block profiling; cache optimization; delinquent load instructions; prefetching technique; processor cache misses; static delinquent load identification; Application software; Benchmark testing; Computer aided instruction; Computer science; Hardware; Optimizing compilers; Parallel processing; Prefetching; Robustness; Runtime;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Code Generation and Optimization, 2004. CGO 2004. International Symposium on
  • Print_ISBN
    0-7695-2102-9
  • Type

    conf

  • DOI
    10.1109/CGO.2004.1281683
  • Filename
    1281683