Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1109/CGO.2007.10acmconferencesArticle/Chapter ViewAbstractPublication PagescgoConference Proceedingsconference-collections
Article

Evaluating Indirect Branch Handling Mechanisms in Software Dynamic Translation Systems

Published: 11 March 2007 Publication History

Abstract

Software Dynamic Translation (SDT) systems are used for program instrumentation, dynamic optimization, security, intrusion detection, and many other uses. As noted by many researchers, a major source of SDT overhead is the execution of code which is needed to translate an indirect branch's target address into the address of the translated destination block. This paper discusses the sources of indirect branch (IB) overhead in SDT systems and evaluates several techniques for overhead reduction. Measurements using SPEC CPU2000 show that the appropriate choice and configuration of IB translation mechanisms can significantly reduce the IB handling overhead. In addition, cross-architecture evaluation of IB handling mechanisms reveals that the most efficient implementation and configuration can be highly dependent on the implementation of the underlying architecture.

References

[1]
{1} Vasanth Bala, Evelyn Duesterwald, and Sanjeev Banerjia. Dynamo: A transparent dynamic optimization system. In PLDI '00: Proceedings of the ACM SIGPLAN 2000 Conference on Programming Language Design and Implementation, pages 1-12, New York, NY, USA, June 2000. ACM Press.
[2]
{2} Derek Bruening. Efficient, Transparent, and Comprehensive Runtime Code Manipulation. PhD thesis, MIT, 2004.
[3]
{3} Derek Bruening and Saman Amarasinghe. Maintaining consistency and bounding capacity of software code caches. In CGO '05: Proceedings of the International Symposium on Code Generation and Optimization, pages 74-85, Washington, DC, USA, 2005. IEEE Computer Society.
[4]
{4} Derek Bruening, Timothy Garnett, and Saman Amarasinghe. An infrastructure for adaptive dynamic optimization. In CGO '03: Proceedings of the International Symposium on Code Generation and Optimization, pages 265-275, March 2003.
[5]
{5} Wen-Ke Chen, Sorin Lerner, Ronnie Chaiken, and David Gillies. Mojo: A dynamic optimization system. In Proceedings of the ACM Workshop on Feedback-Directed and Dynamic Optimization FDDO-3, December 2000.
[6]
{6} Bob Cmelik and David Keppel. Shade: A fast instruction-set simulator for execution profiling. In SIGMETRICS '94: Proceedings of the 1994 ACM SIGMETRICS Conference on Measurement and Modeling of Computer Systems, pages 128-137, New York, NY, USA, May 1994. ACM Press.
[7]
{7} Apple Computers. Apple website on rosetta, 2006.
[8]
{8} Advanced Micro Devices. AMD website on opterons, 2006.
[9]
{9} David R. Ditzel. Transmeta's Crusoe: Cool chips for mobile computing. In IEEE, editor, Hot Chips 12: Stanford University, Stanford, California, August 13-15, 2000, 1109 Spring Street, Suite 300, Silver Spring, MD 20910, USA, 2000. IEEE Computer Society Press.
[10]
{10} Evelyn Duesterwald and Vasanth Bala. Software profiling for hot path prediction: less is more. In ASPLOS-IX: Proceedings of the Ninth International Conference on Architectural Support for Programming Languages and Operating Systems, pages 202- 211, New York, NY, USA, 2000. ACM Press.
[11]
{11} Kemal Ebcioglu and Erik Altman. DAISY: Dynamic compilation for 100% architectural compatibility. In ISCA '97: Proceedings of the 24th Annual International Symposium on Computer Architecture, pages 26-37, New York, NY, USA, 1997. ACM Press.
[12]
{12} Kim Hazelwood and James E. Smith. Exploring code cache eviction granularities in dynamic optimization systems. In CGO '04: Proceedings of the International Symposium on Code Generation and Optimization, page 89, Washington, DC, USA, 2004. IEEE Computer Society.
[13]
{13} Kim Hazelwood and Michael D. Smith. Generational cache management of code traces in dynamic optimization systems. In MICRO 36: Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture, page 169-179, Washington, DC, USA, 2003. IEEE Computer Society.
[14]
{14} David Hiniker, Kim Hazelwood, and Michael D. Smith. Improving region selection in dynamic optimization systems. In MICRO 38: Proceedings of the 38th Annual IEEE/ACM International Symposium on Microarchitecture, pages 141-154, Washington, DC, USA, 2005. IEEE Computer Society.
[15]
{15} Intel. IA-32 Intel Architecture Optimization Reference Manual, 2005.
[16]
{16} Ho-Seop Kim and James E. Smith. Hardware support for control transfers in code caches. In MICRO 36: Proceedings of the 36th Annual IEEE/ACM International Symposium on Microarchitecture, page 253, Washington, DC, USA, 2003. IEEE Computer Society.
[17]
{17} Vladimir Kiriansky, Derek Bruening, and Saman Amarasinghe. Secure execution via program shepherding. In 11th USENIX Security Symposium, August 2002.
[18]
{18} Naveen Kumar, Bruce R. Childers, Daniel Williams, Jack W. Davidson, and Mary Lou Soffa. Compile-time planning for overhead reduction in software dynamic translators. International Journal of Parallel Programming, 33(2):103-114, 2005.
[19]
{19} Transitive Corporation Ltd. Transitive website, 2006.
[20]
{20} Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In PLDI '05: Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation, pages 190- 200, New York, NY, USA, 2005. ACM Press.
[21]
{21} Kevin Scott and Jack Davidson. Strata: A software dynamic translation infrastructure. In IEEE Workshop on Binary Translation , September 2001.
[22]
{22} Kevin Scott and Jack W. Davidson. Safe virtual execution using software dynamic translation. In Proceedings of the 18th Annual Computer Security Applications Conference, pages 209- 218, Las Vegas, NV, December 2002.
[23]
{23} Kevin Scott, N. Kumar, Bruce Childers, Jack W. Davidson, and Mary Lou Soffa. Overhead reduction techniques for software dynamic translation. In Proceedings of the 18th International Parallel and Distributed Processing Symposium, page 200. IEEE Computer Society, 2004.
[24]
{24} Kevin Scott, Naven Kumar, Siva Velusamy, Bruce Childers, Jack W. Davidson, and Mary Lou Soffa. Retargetable and reconfigurable software dynamic translation. In CGO '03: Proceedings of the International Symposium on Code Generation and Optimization, pages 36-47, Washington, DC, USA, 2003. IEEE Computer Society.
[25]
{25} Robert Sedgewick. Algorithms. Addison-Wesley, 1983.
[26]
{26} Jim Smith and Ravi Nair. Virtual Machines: Versatile Platforms for Systems and Processes. Morgan Kaufmann, 2005.
[27]
{27} Swaroop Sridhar, Jonathan S. Shapiro, and Prashanth P. Bungale. Hdtrans: A low-overhead dynamic translator. In Proceedings of the 2005 Workshop on Binary Instrumentation and Applications. IEEE Computer Society, September 2005.
[28]
{28} Standard Performance Evaluation Corporation. SPEC CPU2000 Benchmarks. http://www.specbench.org/osg/ cpu2000.
[29]
{29} Sun Microsystems. UltraSPARC-IIi User's Manual, 1997. User's Manual.
[30]
{30} David Ung and Cristina Cifuentes. Machine-adaptable dynamic binary translation. In Proceedings of the ACM Workshop on Dynamic Optimization Dynamo '00, 2000.
[31]
{31} Shukang Zhou, Bruce R. Childers, and Mary Lou Soffa. Planning for code buffer management in distributed virtual execution environments. In VEE '05: Proceedings of the 1st ACM/USENIX International Conference on Virtual Execution Environments, pages 100-109, New York, NY, USA, 2005. ACM Press.

Cited By

View all
  • (2017)VertxProceedings of the 2017 Workshop on Forming an Ecosystem Around Software Transformation10.1145/3141235.3141237(1-7)Online publication date: 3-Nov-2017
  • (2017)Low overhead dynamic binary translation on ARMACM SIGPLAN Notices10.1145/3140587.306237152:6(333-346)Online publication date: 14-Jun-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
  • Show More Cited By

Index Terms

  1. Evaluating Indirect Branch Handling Mechanisms in Software Dynamic Translation Systems

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CGO '07: Proceedings of the International Symposium on Code Generation and Optimization
    March 2007
    346 pages
    ISBN:0769527647

    Sponsors

    Publisher

    IEEE Computer Society

    United States

    Publication History

    Published: 11 March 2007

    Check for updates

    Qualifiers

    • Article

    Conference

    CGO07

    Acceptance Rates

    CGO '07 Paper Acceptance Rate 27 of 84 submissions, 32%;
    Overall Acceptance Rate 312 of 1,061 submissions, 29%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 14 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2017)VertxProceedings of the 2017 Workshop on Forming an Ecosystem Around Software Transformation10.1145/3141235.3141237(1-7)Online publication date: 3-Nov-2017
    • (2017)Low overhead dynamic binary translation on ARMACM SIGPLAN Notices10.1145/3140587.306237152:6(333-346)Online publication date: 14-Jun-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
    • (2016)Simulation and Analysis Engine for Scale-Out WorkloadsProceedings of the 2016 International Conference on Supercomputing10.1145/2925426.2926293(1-13)Online publication date: 1-Jun-2016
    • (2016)Optimizing Indirect Branches in Dynamic Binary TranslatorsACM Transactions on Architecture and Code Optimization10.1145/286657313:1(1-25)Online publication date: 5-Apr-2016
    • (2015)Bungee jumpsProceedings of the 48th International Symposium on Microarchitecture10.1145/2830772.2830781(370-382)Online publication date: 5-Dec-2015
    • (2014)Efficient code generation in a region-based dynamic binary translatorACM SIGPLAN Notices10.1145/2666357.259781049:5(3-12)Online publication date: 12-Jun-2014
    • (2014)Efficient code generation in a region-based dynamic binary translatorProceedings of the 2014 SIGPLAN/SIGBED conference on Languages, compilers and tools for embedded systems10.1145/2597809.2597810(3-12)Online publication date: 12-Jun-2014
    • (2013)SPIREACM SIGPLAN Notices10.1145/2517326.245151648:7(1-12)Online publication date: 16-Mar-2013
    • (2013)Performance analysis and predictability of the software layer in dynamic binary translators/optimizersProceedings of the ACM International Conference on Computing Frontiers10.1145/2482767.2482786(1-10)Online publication date: 14-May-2013
    • 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