DocumentCode
2010199
Title
Temporal-based procedure reordering for improved instruction cache performance
Author
Kalamationos, J. ; Kaeli, David R.
Author_Institution
Dept. of Electr. & Comput. Eng., Northeastern Univ., Boston, MA, USA
fYear
1998
fDate
1-4 Feb 1998
Firstpage
244
Lastpage
253
Abstract
As the gap between memory and processor performance continues to grow, it becomes increasingly important to exploit cache memory effectively. Both hardware and software techniques can be used to better utilize the cache. Hardware solutions focus on organization, while most software solutions investigate how to best layout a program on the available memory space. We present a new link-time code reordering algorithm targeted at reducing the frequency of misses in the cache. In past work we focused on eliminating first generation cache conflicts (i.e., conflicts between a procedure, and any of its immediate callers or callees) based on calling frequencies. In this work we exploit procedure-level temporal interaction, using a structure called a conflict miss graph (CMG). In the CMG every edge weight is an approximation of the worst-case number of misses two competing procedures can inflict upon one another. We use the ordering implied by the edge weights to apply color-based mapping and eliminate conflict misses between procedures lying either in the same or in different call chains. Using programs taken from SPEC 95, Gnu applications, and C++ applications, we have been able to improve upon previous algorithms, reducing the number of instruction cache conflicts by 20% on average compared to the best procedure reordering algorithm
Keywords
cache storage; graph theory; instruction sets; memory architecture; performance evaluation; storage allocation; C++ applications; Gnu applications; SPEC 95; calling frequencies; color-based mapping; conflict miss graph; conflict misses; edge weights; first generation cache conflict; instruction cache performance; link-time code reordering algorithm; memory performance; procedure-level temporal interaction; processor performance; temporal-based procedure reordering; Cache memory; Frequency; Hardware; Information analysis; Microprocessors; Performance analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
High-Performance Computer Architecture, 1998. Proceedings., 1998 Fourth International Symposium on
Conference_Location
Las Vegas, NV
Print_ISBN
0-8186-8323-6
Type
conf
DOI
10.1109/HPCA.1998.650563
Filename
650563
Link To Document