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 :
بازگشت