Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/1815695.1815724acmotherconferencesArticle/Chapter ViewAbstractPublication PagessystorConference Proceedingsconference-collections
research-article

Generating low-overhead dynamic binary translators

Published: 24 May 2010 Publication History

Abstract

Dynamic (on the fly) binary translation is an important part of many software systems. In this paper we discuss how to combine efficient translation with the generation of efficient code, while providing a high-level table-driven user interface that simplifies the generation of the binary translator (BT).
The translation actions of the BT are specified in high-level abstractions that are compiled into translation tables; these tables control the runtime program translation. This table generator allows a compact description of changes in the translated code.
We use fastBT, a table-based dynamic binary translator that uses a code cache and various optimizations for indirect control transfers to illustrate the design tradeoffs in binary translators. We present an analysis of the most challenging sources of overhead and describe optimizations to further reduce these penalties. Keys to the good performance are a configurable inlining mechanism and adaptive self-modifying optimizations for indirect control transfers.

References

[1]
Bala, V., Duesterwald, E., and Banerjia, S. Dynamo: a transparent dynamic optimization system. In PLDI '00 (Vancouver, BC, Canada, 2000), pp. 1--12.
[2]
Barham, P., Dragovic, B., Fraser, K., Hand, S., Harris, T., Ho, A., Neugebauer, R., Pratt, I., and Warfield, A. Xen and the art of virtualization. In SOSP '03 (New York, NY, USA, 2003), pp. 164--177.
[3]
Bellard, F. QEMU, a fast and portable dynamic translator. In ATEC '05 (Berkeley, CA, USA, 2005), pp. 41--41.
[4]
Bruening, D., and Amarasinghe, S. Maintaining consistency and bounding capacity of software code caches. In CGO '05 (Washington, DC, USA, 2005), pp. 74--85.
[5]
Bruening, D., Duesterwald, E., and Amarasinghe, S. Design and implementation of a dynamic optimization framework for Windows. In ACM Workshop Feedback-directed Dyn. Opt. (FDDO-4) (2001).
[6]
Bruening, D., Garnett, T., and Amarasinghe, S. An infrastructure for adaptive dynamic optimization. In CGO '03 (Washington, DC, USA, 2003), pp. 265--275.
[7]
Bruening, D., Kiriansky, V., Garnett, T., and Banerji, S. Thread-shared software code caches. In CGO '06 (Washington, DC, USA, 2006), pp. 28--38.
[8]
Bugnion, E. Dynamic binary translator with a system and method for updating and maintaining coherency of a translation cache. US Patent 6704925, March 2004.
[9]
Chernoff, A., Herdeg, M., Hookway, R., Reeve, C., Rubin, N., Tye, T., Yadavalli, S. B., and Yates, J. Fx!32: A profile-directed binary translator. IEEE Micro 18, 2 (1998), 56--64.
[10]
Deutsch, L. P., and Schiffman, A. M. Efficient implementation of the smalltalk-80 system. In POPL '84 (New York, NY, USA, 1984), pp. 297--302.
[11]
Devine, S. W., Bugnion, E., and Rosenblum, M. Virtualization system including a virtual machine monitor for a computer with a segmented architecture. US Patent 6397242.
[12]
Garg, M. Sysenter based system call mechanism in linux 2.6 (http://manugarg.googlepages.com/systemcallinlinux26.html).
[13]
Gill, S. The diagnosis of mistakes in programmes on the edsac. Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences 206, 1087 (1951), 538--554.
[14]
Hazelwood, K., and Smith, M. D. Managing bounded code caches in dynamic binary optimization systems. TACO '06 3, 3 (2006), 263--294.
[15]
Hiser, J., Kumar, N., Zhao, M., Zhou, S., Childers, B. R., Davidson, J. W., and Soffa, M. L. Techniques and tools for dynamic optimization. In IPDPS (2006).
[16]
Hiser, J. D., Williams, D., Hu, W., Davidson, J. W., Mars, J., and Childers, B. R. Evaluating indirect branch handling mechanisms in software dynamic translation systems. In CGO '07 (Washington, DC, USA, 2007), IEEE Computer Society, pp. 61--73.
[17]
Kistler, T., and Franz, M. Continuous program optimization: Design and evaluation. IEEE Trans. Comput. 50, 6 (2001), 549--566.
[18]
Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V. J., and Hazelwood, K. Pin: building customized program analysis tools with dynamic instrumentation. In PLDI '05 (New York, NY, USA, 2005), pp. 190--200.
[19]
May, C. Mimic: a fast system/370 simulator. In SIGPLAN '87: Papers of the Symposium on Interpreters and interpretive techniques (New York, NY, USA, 1987), pp. 1--13.
[20]
Nethercote, N., and Seward, J. Valgrind: a framework for heavyweight dynamic binary instrumentation. In PLDI'07 (New York, NY, USA, 2007), pp. 89--100.
[21]
Olszewski, M., Cutler, J., and Steffan, J. G. Judostm: A dynamic binary-rewriting approach to software transactional memory. In PACT '07 (Washington, DC, USA, 2007), pp. 365--375.
[22]
Payer, M., and Gross, T. Requirements for fast binary translation. In 2nd Workshop on Architectural and Microarchitectural Support for Binary Translation (2009).
[23]
Sridhar, S., Shapiro, J. S., and Bungale, P. P. HDTrans: a low-overhead dynamic translator. SIGARCH Comput. Archit. News 35, 1 (2007), 135--140.
[24]
Sridhar, S., Shapiro, J. S., Northup, E., and Bungale, P. P. HDTrans: an open source, low-level dynamic instrumentation system. In VEE '06 (New York, NY, USA, 2006), pp. 175--185.
[25]
Wen-Ke Chen, Sorin Lerner, R. C., and Gillies, D. M. Mojo: A dynamic optimization system. In ACM Workshop Feedback-directed Dyn. Opt. (FDDO-3) (2000).

Cited By

View all
  • (2024)An Instruction Inflation Analyzing Framework for Dynamic Binary TranslatorsACM Transactions on Architecture and Code Optimization10.1145/364081321:2(1-25)Online publication date: 15-Jan-2024
  • (2023)MFHBT: Hybrid Binary Translation System with Multi-stage Feedback Powered by LLVMAdvanced Parallel Processing Technologies10.1007/978-981-99-7872-4_18(310-325)Online publication date: 8-Nov-2023
  • (2020)Evaluation and Mitigation of Timing Side-Channel Leakages on Multiple-Target Dynamic Binary TranslatorsHigh Performance Computing Systems10.1007/978-3-030-41050-6_10(152-167)Online publication date: 14-Feb-2020
  • Show More Cited By

Index Terms

  1. Generating low-overhead dynamic binary translators

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    SYSTOR '10: Proceedings of the 3rd Annual Haifa Experimental Systems Conference
    May 2010
    211 pages
    ISBN:9781605589084
    DOI:10.1145/1815695
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 24 May 2010

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. binary translation
    2. dynamic instrumentation
    3. dynamic translation
    4. optimization

    Qualifiers

    • Research-article

    Conference

    SYSTOR '10

    Acceptance Rates

    Overall Acceptance Rate 108 of 323 submissions, 33%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)5
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 15 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)An Instruction Inflation Analyzing Framework for Dynamic Binary TranslatorsACM Transactions on Architecture and Code Optimization10.1145/364081321:2(1-25)Online publication date: 15-Jan-2024
    • (2023)MFHBT: Hybrid Binary Translation System with Multi-stage Feedback Powered by LLVMAdvanced Parallel Processing Technologies10.1007/978-981-99-7872-4_18(310-325)Online publication date: 8-Nov-2023
    • (2020)Evaluation and Mitigation of Timing Side-Channel Leakages on Multiple-Target Dynamic Binary TranslatorsHigh Performance Computing Systems10.1007/978-3-030-41050-6_10(152-167)Online publication date: 14-Feb-2020
    • (2017)Low overhead dynamic binary translation on ARMACM SIGPLAN Notices10.1145/3140587.306237152:6(333-346)Online publication date: 14-Jun-2017
    • (2017)GRIFFINACM SIGARCH Computer Architecture News10.1145/3093337.303771645:1(585-598)Online publication date: 4-Apr-2017
    • (2017)GRIFFINACM SIGPLAN Notices10.1145/3093336.303771652:4(585-598)Online publication date: 4-Apr-2017
    • (2017)GRIFFINACM SIGOPS Operating Systems Review10.1145/3093315.303771651:2(585-598)Online publication date: 4-Apr-2017
    • (2017)Low overhead dynamic binary translation on ARMProceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation10.1145/3062341.3062371(333-346)Online publication date: 14-Jun-2017
    • (2017)GRIFFINProceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3037697.3037716(585-598)Online publication date: 4-Apr-2017
    • (2014)SPTUProceedings of International Conference on Systems and Storage10.1145/2611354.2611368(1-12)Online publication date: 30-Jun-2014
    • Show More Cited By

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media