Abstract
Software dynamic translation (SDT) is a technology for modifying programs as they are running. The overhead of monitoring and modifying a running program’s instructions is often substantial in SDT systems. As a result, SDT can be impractically slow, especially in SDT systems that do not or can not employ dynamic optimization to offset overhead. This is unfortunate since SDT has many advantages in modern computing environments and interesting uses of SDT continue to emerge. In this paper, we describe techniques to reduce the overhead of SDT. In particular, we present a compile-time planning technique to reduce the overhead due to indirect branch handling. Our results show that this technique is very effective and can improve SDT performance by up to 36%, with an average of 20%.
Similar content being viewed by others
References
A. Chernoff M. Herdeg R. Hookway C. Reeve N. Rubin T. Tye S.B. Yadavalli J. Yates (April 1998) ArticleTitleFX!32: A Profile-Directed Binary Translator IEEE Micro. 18 IssueID2 56–64
Ebcioglu K., Altman E. (1997). DAISY: Dynamic Compilation for 100% Architecture Compatibility, International Symposium on Computer Architecture, pp. 26–37
Ung D., Cifuentes C. (2000). Machine-Adaptable Dynamic Binary Translation. ACM Workshop on Dynamic Optimization, pp. 41–51
Dehnert J., Grant B.K, Banning J.P., Johnson R., Kistler T., Klaiber A., Mattson J. (March 2003) The Transmeta Code Morphing Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Real-life Challenges, International Symposium on Code Generation and Optimization, pp. 15–24
V. Bala, E. Duesterwald, and S. Banerjia, Dynamo: A Transparent Dynamic Optimization System, ACM Conference on Programming Language Design and Implementation, pp. 1–12 (2000).
K. Ebcioglu, E. Altman, S. Sathaye, and M. Gschwind, Optimizations and Oracle Parallelism with Dynamic Translation, International Symposium on Microarchitecture, pp. 284–295 (1999).
M. Voss and R. Eigenmann (2000). A Framework for Remote Dynamic Program Optimization, ACM Workshop on Dynamic Optimization, pp. 32–40
Witchel E., Rosenblum M., Embra: Fast and Flexible Machine Simulation, ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, pp. 68–79 (1996).
B. Cmelik and D. Keppel, Shade: A Fast Instruction-set Simulator for Execution Profiling, ACM SIGMETRICS Conference on the Measurement and Modeling of Computer Systems, pp. 128–137 (1994).
M. Rosenblum, Virtual Platform: A Virtual Machine Monitor for Commodity PCs, Hot Chips 11 (1999) (http://www.hotchips.org/archives/hc11/3_Tue/hc99.s6.1.Rosenblum.pdf).
K. Scott, N. Kumar, S. Velusamy, B. R. Childers, J. W. Davidson, and M. L. Soffa, Retargetable and Reconfigurable Software Dynamic Translation, International Symposium on Code Generation and Optimization, pp. 36–47 (March 2003).
K. Scott and J. Davidson, Safe Virtual Execution using Software Dynamic Translation, Annual Computer Security Application Conference, pp. 209–218 (2002).
C. Cifuentes, B. Lewis, and D. Ung, Walkabout: A Retargetable Dynamic Binary Translation Framework, Workshop on Binary Translation (2002).
D. Bruening, T. Garnett, and S. Amarasinghe, An Infrastructure for Adaptive Dynamic Optimization, International Symposium on Code Generation and Optimization, pp. 265–275 (March 2003).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kumar, N., Bruce R., C., Williams, D. et al. Compile-Time Planning for Overhead Reduction in Software Dynamic Translators. Int J Parallel Prog 33, 103–114 (2005). https://doi.org/10.1007/s10766-005-3573-7
Issue Date:
DOI: https://doi.org/10.1007/s10766-005-3573-7