Abstract
This paper describes the design and implementation of a research dynamic binary translation system, StarDBT, which runs many real-world applications. StarDBT is a multi-platform translation system that is capable of translating application level binaries on either Windows or Linux OSes. A system-level variant of StarDBT can also run on a bare machine by translating the whole system code. We evaluate performance of a user-mode system using both SPEC2000 and some challenging Windows applications. StarDBT runs the SPEC2000 benchmark competitively to other state-of-the-art binary translators. For Windows applications that are typically multi-threaded GUI-based interactive applications with large code footprint, the StarDBT system provides acceptable performance in many cases. However, there are important scenarios in which dynamic translation still incurs significant runtime overhead, raising issues for further research. The major overheads are caused by the translation overhead of large volume of infrequently-executed code and by the emulation overhead for indirect branches.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Adams, K., Agesen, O.: A Comparison of Software and Hardware Techniques for Virtualization. In: 8th Int’l Symp. on Architecture Support for Programming Languages and Operating System, pp. 2–13 (2006)
Altman, E.R., Gschwind, M., Sathaye, S., Kosonocky, S., Bright, A., Fritts, J., Ledak, P., Appenzeller, D., Agricola, C., Filan, Z.: BOA: the Architecture of a Binary Translation Processor. IBM Research Report RC 21665 (2000)
Bala, V., Duesterwald, E., Banerjia, S.: Dynamo: A Transparent Runtime Optimization System. In: ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 1–12 (2000)
Baraz, L., Devor, T., Etzion, O., Goldenberg, S., Skalesky, A., Wang, Y., Zemach, Y.: IA-32 Execution Layer: A Two Phase Dynamic Translator Designed to Support IA-32 Applications on Itanium®-based Systems. In: 36th Int’l Symp. on Microarchitecture, pp. 191–202 (2003)
Breuning, D.L.: Efficient, Transparent, and Comprehensive Runtime Code Manipulation. Ph.D thesis, Massachusetts Institute of Technology (2004)
Chernoff, A., Hookway, R.: DIGITAL FX!32 Running 32-Bit x86 Applications on Alpha NT. In: USENIX (1997)
Cmelik, R.F., Ditzel, D.R., Kelly, E.J, Hunter, C.B., et al.: Combining Hardware and Software to Provide an Improved Microprocessor, US Patent 6,031,992 (2000)
Dehnert, J.C., Grant, B., Banning, J., Johnson, R., Kistler, T., Klaiber, A., Mattson, J.: The Transmeta Code Morphing Software: Using Speculation, Recovery, and Adaptive Retranslation to Address Real-Life Challenges. In: 1st Int’l Symp. on Code Generation and Optimizations, pp. 15–24 (2003)
Ebcioglu, K., Altman, E.R.: DAISY: Dynamic Compilation for 100% Architectural Compatibility. In: IBM Research Report RC 20538 (1996) Also: 24th Int’l Symp. on Computer Architecture (1997)
Edson, B., Wang, C., Wu, Y., Araujo, G.: Software-Based Transparent and Comprehensive Control-Flow Error Detection. In: 4th Int’l Symp. on Code Generation and Optimizations, pp.333–345 (2006)
Henning, J.L.: SPEC CPU 2000: Measuring CPU Performance in the New Millennium. IEEE Computer 33(7), 28–35 (2000)
Horspool, R.N., Marovac, N.: An Approach to the Problem of Detranslation of Computer Programs. Computer Journal (August 1980)
Klaiber, A.: The Technology Behind Crusoe Processors, Transmeta Technical Brief (2000)
Luk, C., Cohn, R., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V., Hazelwood, K.: Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation. In: ACM SIGPLAN Conf. on Programming Language Design and Implementation, pp. 190–200 (2005)
Qin, F., Wang, C., Li, Z., Kim, H.-S., Zhou, Y., Wu, Y.: LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks. In: 39th Int’l Symp. on Microarchitecture, pp. 135–148 (2006)
Scott, K., Kumar, N., Velusamy, S., Childers, B., Davidson, J., Soffa, M.: Retargetable and Reconfigurable Software Dynamic Translation. In: 1st Int’l Symp. on Code Generation and Optimizations, pp. 36–17 (2003)
Sridhar, S., Shapiro, J.S., Northup, E., Bungale, P.: HDTrams: An Open Source, Low-Level Dynamic Instrumentation System. In: 2nd Int’l Conf. on Virtual Execution Environments, pp. 175–185 (2006)
SYSMARK 2004, 2nd edn., http://www.bapco.com/products/sysmark2004/
Wu, Q., Reddi, V., Wu, Y., Lee, J., Conners, D., Brooks, D., Martonosi, M., Clark, D.:Dynamic Compilation Framework for Controlling Microprocessor Energy and Performance. In: 38th Int’l Symp. on Microarchitecture, pp. 271–282 (2005)
Ying, V., Wang, C., Wu, Y., Jiang, X.: Dynamic Binary Translation and Optimization of Legacy Library Code in a STM Compilation Environment, WBIA 2006 in conjunction with ASPLOS (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Wang, C. et al. (2007). StarDBT: An Efficient Multi-platform Dynamic Binary Translation System. In: Choi, L., Paek, Y., Cho, S. (eds) Advances in Computer Systems Architecture. ACSAC 2007. Lecture Notes in Computer Science, vol 4697. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-74309-5_3
Download citation
DOI: https://doi.org/10.1007/978-3-540-74309-5_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-74308-8
Online ISBN: 978-3-540-74309-5
eBook Packages: Computer ScienceComputer Science (R0)