• DocumentCode
    1218041
  • Title

    Design and Engineering of a Dynamic Binary Optimizer

  • Author

    Duesterwald, Evelyn

  • Author_Institution
    IBM T. J. Watson Res. Center, Yorktown Heights, NY, USA
  • Volume
    93
  • Issue
    2
  • fYear
    2005
  • Firstpage
    436
  • Lastpage
    448
  • Abstract
    In today´s software, which increasingly utilizes dynamic class loading, shared libraries, and interconnected components, the power and reach of static compiler optimization is diminishing. An exciting new paradigm of transparent dynamic binary optimization is emerging, aimed at improving the performance of a program while it executes. Recently, several dynamic binary optimization systems have appeared in the literature. They all share a fundamental property: the ability to observe and modify instructions of the executing program immediately before they run. Importantly, recent advances allow this capability to be offered without having to pay the price of performance degradation. This paper describes the intricacies of a dynamic binary optimizer and how to build the core functionalities of observing and modifying executing instructions. We illustrate the major design decisions and tradeoffs and point to the important engineering challenges.
  • Keywords
    binary codes; instruction sets; optimising compilers; software engineering; dynamic binary optimization; dynamic class loading; interconnected components; shared libraries; static compiler optimization; Design engineering; Design optimization; Java; Joining processes; Optimizing compilers; Pipelines; Power engineering and energy; Program processors; Runtime; Software libraries; Adaptive systems; binary optimizations; dynamic optimization; runtime system;
  • fLanguage
    English
  • Journal_Title
    Proceedings of the IEEE
  • Publisher
    ieee
  • ISSN
    0018-9219
  • Type

    jour

  • DOI
    10.1109/JPROC.2004.840302
  • Filename
    1386661