Compile-Time Planning for Overhead Reduction in Software Dynamic Translators

  • Naveen Kumar
  • Childers Bruce R.
  • Daniel Williams
  • Jack W. Davidson
  • Mary Lou Soffa


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%.


Dynamic translation dynamic optimization instruction traces 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Chernoff, A., Herdeg, M., Hookway, R., Reeve, C., Rubin, N., Tye, T., Yadavalli, S.B., Yates, J. April 1998FX!32: A Profile-Directed Binary TranslatorIEEE Micro.185664Google Scholar
  2. 2.
    Ebcioglu K., Altman E. (1997). DAISY: Dynamic Compilation for 100% Architecture Compatibility, International Symposium on Computer Architecture, pp. 26–37Google Scholar
  3. 3.
    Ung D., Cifuentes C. (2000). Machine-Adaptable Dynamic Binary Translation. ACM Workshop on Dynamic Optimization, pp. 41–51Google Scholar
  4. 4.
    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–24Google Scholar
  5. 5.
    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).Google Scholar
  6. 6.
    K. Ebcioglu, E. Altman, S. Sathaye, and M. Gschwind, Optimizations and Oracle Parallelism with Dynamic Translation, International Symposium on Microarchitecture, pp. 284–295 (1999).Google Scholar
  7. 7.
    M. Voss and R. Eigenmann (2000). A Framework for Remote Dynamic Program Optimization, ACM Workshop on Dynamic Optimization, pp. 32–40Google Scholar
  8. 8.
    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).Google Scholar
  9. 9.
    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).Google Scholar
  10. 10.
    M. Rosenblum, Virtual Platform: A Virtual Machine Monitor for Commodity PCs, Hot Chips 11 (1999) ( Scholar
  11. 11.
    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).Google Scholar
  12. 12.
    K. Scott and J. Davidson, Safe Virtual Execution using Software Dynamic Translation, Annual Computer Security Application Conference, pp. 209–218 (2002).Google Scholar
  13. 13.
    C. Cifuentes, B. Lewis, and D. Ung, Walkabout: A Retargetable Dynamic Binary Translation Framework, Workshop on Binary Translation (2002).Google Scholar
  14. 14.
    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).Google Scholar

Copyright information

© Springer Science+Business Media, Inc. 2005

Authors and Affiliations

  • Naveen Kumar
    • 1
  • Childers Bruce R.
    • 1
    • 2
  • Daniel Williams
    • 2
  • Jack W. Davidson
    • 2
  • Mary Lou Soffa
    • 2
  1. 1.Department of Computer ScienceUniversity of PittsburghPittsburghUSA
  2. 2.Department of Computer ScienceUniversity of VirginiaCharlottesvilleUSA.

Personalised recommendations