Skip to main content
Log in

Compile-Time Planning for Overhead Reduction in Software Dynamic Translators

  • Published:
International Journal of Parallel Programming Aims and scope Submit manuscript

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

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

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

    Google Scholar 

  2. Ebcioglu K., Altman E. (1997). DAISY: Dynamic Compilation for 100% Architecture Compatibility, International Symposium on Computer Architecture, pp. 26–37

  3. Ung D., Cifuentes C. (2000). Machine-Adaptable Dynamic Binary Translation. ACM Workshop on Dynamic Optimization, pp. 41–51

  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–24

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

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

  7. M. Voss and R. Eigenmann (2000). A Framework for Remote Dynamic Program Optimization, ACM Workshop on Dynamic Optimization, pp. 32–40

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

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

  10. 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).

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

  12. K. Scott and J. Davidson, Safe Virtual Execution using Software Dynamic Translation, Annual Computer Security Application Conference, pp. 209–218 (2002).

  13. C. Cifuentes, B. Lewis, and D. Ung, Walkabout: A Retargetable Dynamic Binary Translation Framework, Workshop on Binary Translation (2002).

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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Naveen Kumar.

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10766-005-3573-7

Keywords

Navigation