• 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