Contact The DL Team Contact Us | Switch to tabbed view

top of pageABSTRACT

Dynamic binary optimizers store altered copies of original program instructions in software-managed code caches in order to maximize reuse of transformed code. Code caches store code blocks that may vary in size, reference other code blocks, and carry a high replacement overhead. These unique constraints reduce the effectiveness of conventional cache management policies. Our work directly addresses these unique constraints and presents several contributions to the code-cache management problem. First, we show that evicting more than the minimum number of code blocks from the code cache results in less run-time overhead than the existing alternatives. Such granular evictions reduce overall execution time, as the fixed costs of invoking the eviction mechanism are amortized across multiple cache insertions. Second, a study of the ideal lifetimes of dynamically generated code blocks illustrates the benefit of a replacement algorithm based on a generational heuristic. We describe and evaluate a generational approach to code cache management that makes it easy to identify long-lived code blocks and simultaneously avoid any fragmentation because of the eviction of short-lived blocks. Finally, we present results from an implementation of our generational approach in the DynamoRIO framework and illustrate that, as dynamic optimization systems become more prevalent, effective code cache-management policies will be essential for reliable, scalable performance of modern applications.
Advertisements



top of pageAUTHORS



Author image not provided  Kim Hazelwood

No contact information provided yet.

Bibliometrics: publication history
Publication years2000-2015
Publication count34
Citation Count1,211
Available for download24
Downloads (6 Weeks)109
Downloads (12 Months)1,707
Downloads (cumulative)13,351
Average downloads per article556.29
Average citations per article35.62
View colleagues of Kim Hazelwood


Author image not provided  Michael D. Smith

No contact information provided yet.

Bibliometrics: publication history
Publication years1989-2015
Publication count82
Citation Count1,695
Available for download39
Downloads (6 Weeks)59
Downloads (12 Months)780
Downloads (cumulative)26,728
Average downloads per article685.33
Average citations per article20.67
View colleagues of Michael D. Smith

top of pageREFERENCES

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
Altman, E. R., Gschwind, M., Sathaye, S., Kosonocky, S., Bright, A., Fritts, J., Ledak, P., Appenzeller, D., Agricola, C., and Filan, Z. 1999. BOA: The architecture of a binary translation processor. IBM Research Report RC 21665.
 
2
Altman, E., Ebcioğlu, K., Gschwind, M., and Sathaye, S. 2001. Advances and future challenges in binary translation and optimization. Proceedings of the IEEE.
 
3
4
 
5
Bahat, O. and Makowski, A. M. 2001. Optimal replacement policies for non-uniform cache objects with optimal eviction. In IEEE INFOCOM Conference on Computer Communications.
 
6
Bala, V., Duesterwald, E., and Banerjia, S. 1999. Transparent dynamic optimization. Tech. Rep. HPL-1999-77, Hewlett Packard. June.
7
 
8
Bruening, D., Duesterwald, E., and Amarasinghe, S. 2001. Design and implementation of a dynamic optimization framework for Windows. In 4th ACM Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4).
 
9
 
10
Chen, G., Kandemir, M., Vijaykrishnan, N., and Irwin, M. J. 2003. Energy-aware code cache management for memory-constrained Java devices. In IEEE International SOC Conference (ASIC/SOC'03).
 
11
Chen, H., Hsu, W.-C., Lu, J., and Yew, P.-C. 2004. Continuous adaptive object-code re-optimization framework. In Ninth Asia-Pacific Computer Systems Architecture Conference (ACSAC 2004). 241--255.
 
12
Chen, W.-K., Lerner, S., Chaiken, R., and Gillies, D. 2000. Mojo: A dynamic optimization system. In 4th ACM Workshop on Feedback-Directed and Dynamic Optimization. 81--90.
 
13
14
 
15
 
16
17
 
18
 
19
Hazelwood, K. 2004. Code cache management in dynamic optimization systems. Ph.D. thesis, Harvard University, Cambridge, MA.
 
20
 
21
 
22
 
23
Hinton, G., Sager, D., Upton, M., Boggs, D., Carmean, D., Kyker, A., and Roussel, P. 2001. The Microarchitecture of the Pentium 4 Processor. Intel Technology Journal.
 
24
25
 
26
London, K., Dongarra, J., Moore, S., Mucci, P., Seymour, K., and Spencer, T. 2001. End-user tools for application performance analysis using hardware counters. In 14th Conference on Parallel and Distributed Computing Systems.
27
28
 
29
Nethercote, N. and Seward, J. 2003. Valgrind: A program supervision framework. In Proceedings of the 3rd Workshop on Runtime Verification. http://valgrind.kde.org/.
 
30
Ramirez, A., Larriba-Pey, J.-L., and Valero, M. 2000. Trace cache redundancy: Red & blue traces. In 6th International Conference on High Performance Computer Architecture. 325--340.
 
31
 
32
Sahuquillo, J. and Pont, A. 1999. The filter cache: A run-time cache management approach. In 25th Euromicro Conference. 1416--1423.
 
33
34
35
36
37
38

top of pageCITED BY

20 Citations

 
 
 
 
 

top of pageINDEX TERMS

The ACM Computing Classification System (CCS rev.2012)

Note: Larger/Darker text within each node indicates a higher relevance of the materials to the taxonomic classification.

top of pagePUBLICATION

Title ACM Transactions on Architecture and Code Optimization (TACO) TACO Homepage table of contents archive
Volume 3 Issue 3, September 2006
Pages 263-294
Publication Date2006-09-01 (yyyy-mm-dd)
PublisherACM New York, NY, USA
ISSN: 1544-3566 EISSN: 1544-3973 doi>10.1145/1162690.1162692

top of pageREVIEWS


Reviews are not available for this item
Computing Reviews logo

top of pageCOMMENTS

Be the first to comment To Post a comment please sign in or create a free Web account

top of pageTable of Contents

ACM Transactions on Architecture and Code Optimization (TACO)

Volume 3 Issue 3, September 2006

Table of Contents
An approach toward profit-driven optimization
Min Zhao, Bruce R. Childers, Mary Lou Soffa
Pages: 231-262
doi>10.1145/1162690.1162691
Full text: PDFPDF

Although optimizations have been applied for a number of years to improve the performance of software, problems with respect to the application of optimizations have not been adequately addressed. For example, in certain circumstances, optimizations ...
expand
Managing bounded code caches in dynamic binary optimization systems
Kim Hazelwood, Michael D. Smith
Pages: 263-294
doi>10.1145/1162690.1162692
Full text: PDFPDF

Dynamic binary optimizers store altered copies of original program instructions in software-managed code caches in order to maximize reuse of transformed code. Code caches store code blocks that may vary in size, reference other code blocks, and carry ...
expand
A case for a complexity-effective, width-partitioned microarchitecture
Olivier Rochecouste, Gilles Pokam, André Seznec
Pages: 295-326
doi>10.1145/1162690.1162693
Full text: PDFPDF

The analysis of program executions reveals that most integer and multimedia applications make heavy use of narrow-width operations, i.e., instructions exclusively using narrow-width operands and producing a narrow-width result. Moreover, this usage is ...
expand
Block-aware instruction set architecture
Ahmad Zmily, Christos Kozyrakis
Pages: 327-357
doi>10.1145/1162690.1162694
Full text: PDFPDF

Instruction delivery is a critical component for wide-issue, high-frequency processors since its bandwidth and accuracy place an upper limit on performance. The processor front-end accuracy and bandwidth are limited by instruction-cache misses, multicycle ...
expand

Powered by The ACM Guide to Computing Literature


The ACM Digital Library is published by the Association for Computing Machinery. Copyright © 2016 ACM, Inc.
Terms of Usage   Privacy Policy   Code of Ethics   Contact Us

Useful downloads: Adobe Reader    QuickTime    Windows Media Player    Real Player
Did you know the ACM DL App is now available?
Did you know your Organization can subscribe to the ACM Digital Library?
The ACM Guide to Computing Literature
All Tags
Export Formats
 
 
Save to Binder