Abstract
This paper presents an intermediate language level optimization framework for dynamic binary translation. Performance is important to a dynamic binary translation system, so there has been a growing interest in exploring new optimization algorithms. The framework proposed in this paper includes efficient profiling, hot code recognition and smart code cache management policies. Profiling is responsible for collecting runtime information, which will be used by hot code recognition and code cache management algorithms. We only focus on recognizing the hottest code, and assign priorities to basic blocks according to their hotness to facilitate code cache management.
- Evelyn Duesterwald, Vasanth Bala, "Software Profiling for Hot Path Prediction: Less is More", ACM SIGOPS Operating Systems Review, Volume 34, Issue 5, Dec. 2000. Google Scholar
Digital Library
- Thomas Ball, James R. Larus, "Efficient Path Profiling", 29th Annual IEEE/ACM International Symposium on Microarchitecture, p. 46, 1996. Google Scholar
Digital Library
- Thomas Ball, Peter Mataga, Mooly Sagiy, "Edge profiling versus path profiling: the showdown", Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, page 134--148, 1998. Google Scholar
Digital Library
- Joshi. R., Bond. M. D., Zilles. C., "Targeted path profiling: lower overhead path profiling for staged dynamic optimization systems", Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, page 134--148, 1998.Google Scholar
- M. Arnold and B. G. Ryder, "A framework for reducing the cost of instrumented code", In Proceedings of the Conference on Programming Language Design and Implementation, pages 168--179, June 2001. Google Scholar
Digital Library
- David Melski, Thomas W. Reps, "Interprodedural Path Profiling", Proceedings of the 8th International Conference on Compiler Construction, Pages 47--62, 1999. Google Scholar
Digital Library
- Hazelwood, K. Smith, J. E, "Exploring code cache eviction granularities in dynamic optimization systems", International Symposium on Code Generation and Optimization, 2004. CGO 2004., March 2004 Google Scholar
Digital Library
- Hazelwood, K. Smith, M. D., "Code cache management schemes for dynamic optimizers", Interaction between Compilers and Computer Architectures, 2002. Proceedings. Sixth Annual Workshop, 2002 Google Scholar
Digital Library
- S Zhou, BR Childers, ML Soffa, "Planning for Code Buffer Management in Distributed Virtual Execution Environments", Proceedings of the 1st ACM/USENIX international conference, 2005 Google Scholar
Digital Library
- K Scott, N Kumar, S Velusamy, B Childers, "Retargetable and Reconfigurable Software Dynamic Translation", International Symposium on Code Generation and Optimization, 2003. Google Scholar
Digital Library
- C. M. Merten, A. Trick, C. N. George, J. C. Gyllenhaal, and W.-M.W. Hwu. "A hardware-driven profiling scheme for identifying program hot spots to support runtime optimization." In Proc. of the 26th Int. Symp. on Computer Architecture. Atlanta, Georgia, 1999. Google Scholar
Digital Library
- David Ung and Cristina Cifuentes, "Optimising Hot Paths In a Dynamic Binary Translator", ACM SIGARCH Computer Architecture News, Volume 29, Pages: 55--65, 2001. Google Scholar
Digital Library
- M. Voss and R. Eigenmann, "A framework for remote dynamic program optimization", Proceedings of the ACM Workshop on Dynamic Optimization, 2000. Google Scholar
Digital Library
- S. Sathaye, P. Ledak, J. LeBlanc, S. Kosonocky, M. Gschwind, J. Fritts, Z. Filan, A. Bright, D. Appenzeller, E. Altman, and C. Agricola, "BOA: Targeting multigigahertz with binary translation." In Proc. of the 1999 Workshop on Binary Translation, Newport Beach, CA., October 1999.Google Scholar
- V. Bala, E. Duesterwald and S. Banerjia, "Dynamo: A Transparent Dynamic Optimization System", Proceedings of th ACM SIGPLAN 2000 conference on Programming language design and implementation, Vancouver, Canada, 2000. Google Scholar
Digital Library
Index Terms
An intermediate language level optimization framework for dynamic binary translation
Recommendations
Dynamic binary translation using run-time feedbacks
Software analysis, evolution and re-engineeringDynamic binary translation is the process of translating, modifying and rewriting executable (binary) code from one machine to another at run-time. This process of low-level re-engineering consists of a reverse engineering phase followed by a forward ...
Dynamic Re-Engineering of Binary Code with Run-Time Feedbacks
WCRE '00: Proceedings of the Seventh Working Conference on Reverse Engineering (WCRE'00)Dynamic binary translation is the process of translating and optimizing executable code from one machine to another at run-time, while the program is executing on the target machine. The translation technique is a process of low-level re-engineering ...
Optimising hot paths in a dynamic binary translator
In dynamic binary translation, code is translated "on the fly" at run-time, while the user perceives ordinary execution of the program on the target machine. Code fragments that are frequently executed follow the same sequence of flow control over a ...






Comments