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
Link To Document