Abstract
Modern instruction sets extend their load/store-instructions with cache hints, as an additional means to bridge the processor-memory speed gap. Cache hints are used to specify the cache level at which the data is likely to be found, as well as the cache level where the data is stored after accessing it. In order to improve a program’s cache behavior, the cache hint is selected based on the data locality of the instruction. We represent the data locality of an instruction by its reuse distance distribution. The reuse distance is the amount of data addressed between two accesses to the same memory location. The distribution allows to efficiently estimate the cache level where the data will be found, and to determine the level where the data should be stored to improve the hit rate. The Open64 EPIC-compiler was extended with cache hint selection and resulted in speedups of up to 36% in numerical and 23% in non-numerical programs on an Itanium multiprocessor.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
K. Beyls and E. H. D’Hollander. Reuse distance as a metric for cache behavior. In Proceedings of PDCS’01, 2001.
S. Ghosh. Cache Miss Equations: Compiler Analysis Framework for Tuning Memory Behaviour. PhD thesis, Princeton University, November 1999.
P. Grun, N. Dutt, and A. Nicolau. MIST: An algorithm for memory miss traffic management. In ICCAD, 2000.
IA-64 Application Developer’s Architecture Guide, May 1999.
P. Jain, S. Devadas, D. Engels, and L. Rudolph. Software-assisted replacement mechanisms for embedded systems. In CCAD’01, 2001.
G. Kane. PA-RISC 2.0 architecture. Prentice Hall, 1996.
V. Kathail, M. S. Schlansker, and B. R. Rau. HPL_PD architecture specification: Version 1.1. Technical Report HPL-93-80(R.1), Hewlett-Packard, February 2000.
Open64 compiler. rs http://sourceforge.net/projects/open64 URL.
T. Ozawa, Y. Kimura, and S. Nishizaki. Cache miss heuristics and preloading techniques for general-purpose programs. In MICRO’95.
K.R.E. The alpha 21264 microprocessor. IEEE Micro, pages 24–36, mar 1999.
J. Sanchez and A. Gonzalez. A locality sensitive multi-module cache with explicit management. In Proceedings of the 1999 Conference on Supercomputing.
H. Sharangpani and K. Arora. Itanium processor microarchitecture. IEEE Micro, 20(5):24–43, Sept./Oct. 2000.
G. Tyson, M. Farrens, J. Matthews, and A. R. Pleszkun. A modified approach to data cache management. In MICRO’95.
Z. Wang, K. McKinley, and A. Rosenberg. Improving replacement decisions in set-associative caches. In Proceedings of MASPLAS’01, April 2001.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Beyls, K., D’Hollander, E.H. (2002). Reuse Distance-Based Cache Hint Selection. In: Monien, B., Feldmann, R. (eds) Euro-Par 2002 Parallel Processing. Euro-Par 2002. Lecture Notes in Computer Science, vol 2400. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45706-2_35
Download citation
DOI: https://doi.org/10.1007/3-540-45706-2_35
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44049-9
Online ISBN: 978-3-540-45706-0
eBook Packages: Springer Book Archive