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
Link To Document