| Efficient procedure mapping using cache line coloring |
| Full text |
Pdf
(1.70 MB)
|
| Source
|
ACM SIGPLAN Notices
archive
Volume 32 , Issue 5 (May 1997)
table of contents
Pages: 171 - 182
Year of Publication: 1997
ISSN:0362-1340
Also published in ...
|
|
Authors
|
|
Amir H. Hashemi
|
Dept. of Electrical and Computer Engineering, Northeastern University, Boston, MA
|
|
David R. Kaeli
|
Dept. of Electrical and Computer Engineering, Northeastern University, Boston, MA
|
|
Brad Calder
|
Dept. of Computer Science and Engineering, University of California, San Diego, La Jolla, CA
|
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 5, Downloads (12 Months): 38, Citation Count: 25
|
|
|
ABSTRACT
As the gap between memory and processor performance continues to widen, it becomes increasingly important to exploit cache memory eflectively. Both hardware and aoftware approaches can be explored to optimize cache performance. Hardware designers focus on cache organization issues, including replacement policy, associativity, line size and the resulting cache access time. Software writers use various optimization techniques, including software prefetching, data scheduling and code reordering. Our focus is on improving memory usage through code reordering compiler techniques.In this paper we present a link-time procedure mapping algorithm which can significantly improve the eflectiveness of the instruction cache. Our algorithm produces an improved program layout by performing a color mapping of procedures to cache lines, taking into consideration the procedure size, cache size, cache line size, and call graph. We use cache line coloring to guide the procedure mapping, indicating which cache lines to avoid when placing a procedure in the program layout. Our algorithm reduces on average the instruction cache miss rate by 40% over the original mapping and by 17% over the mapping algorithm of Pettis and Hansen [12].
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
L. Belady. A study of replacement algorithms for a virtualstorage computer. IBM Systems Journal, 5(2):78-101, 1966.
|
 |
3
|
Brian N. Bershad , Dennis Lee , Theodore H. Romer , J. Bradley Chen, Avoiding conflict misses dynamically in large direct-mapped caches, Proceedings of the sixth international conference on Architectural support for programming languages and operating systems, p.158-170, October 05-07, 1994, San Jose, California, United States
|
 |
4
|
|
| |
5
|
Brad Calder , Dirk Grunwald , Amitabh Srivastava, The predictability of branches in libraries, Proceedings of the 28th annual international symposium on Microarchitecture, p.24-34, November 29-December 01, 1995, Ann Arbor, Michigan, United States
|
| |
6
|
B. Calder, D. Grunwald, and B. Zorn. Quantifying behavioral differences between C and G++ programs. Journal of Programming Languages, 2(4), 1994.
|
 |
7
|
|
 |
8
|
|
 |
9
|
|
| |
10
|
|
 |
11
|
|
 |
12
|
|
| |
13
|
|
| |
14
|
|
 |
15
|
|
| |
16
|
|
| |
17
|
A. Sampoga. Architectural Implications of C and C-t-4- Programming Models. MS Thesis, Northeastern University, August 1995.
|
 |
18
|
|
| |
19
|
|
| |
20
|
|
 |
21
|
|
 |
22
|
|
CITED BY 25
|
|
Nikolas Gloy , Trevor Blackwell , Michael D. Smith , Brad Calder, Procedure placement using temporal ordering information, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.303-313, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
|
|
|
|
|
A. B. Kahng , J. Lach , W. H. Mangione-Smith , S. Mantik , I. L. Markov , M. Potkonjak , P. Tucker , H. Wang , G. Wolfe, Watermarking techniques for intellectual property protection, Proceedings of the 35th annual conference on Design automation, p.776-781, June 15-19, 1998, San Francisco, California, United States
|
|
|
|
|
|
Alex Ramirez , Luiz André Barroso , Kourosh Gharachorloo , Robert Cohn , Josep Larriba-Pey , P. Geoffrey Lowney , Mateo Valero, Code layout optimizations for transaction processing workloads, ACM SIGARCH Computer Architecture News, v.29 n.2, p.155-164, May 2001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Christophe Guillon , Fabrice Rastello , Thierry Bidault , Florent Bouchez, Procedure placement using temporal-ordering information: dealing with code size expansion, Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems, September 22-25, 2004, Washington DC, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alex Ramírez , Josep-L. Larriba-Pey , Carlos Navarro , Josep Torrellas , Mateo Valero, Software trace cache, Proceedings of the 13th international conference on Supercomputing, p.119-126, June 20-25, 1999, Rhodes, Greece
|
|
|
Xianglong Huang , Stephen M. Blackburn , David Grove , Kathryn S. McKinley, Fast and efficient partial code reordering: taking advantage of dynamic recompilatior, Proceedings of the 2006 international symposium on Memory management, June 10-11, 2006, Ottawa, Ontario, Canada
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|