Loading...
Please wait, while we are loading the content...
Similar Documents
Dynamic Optimization of IA-32 Applications Under DynamoRIO
| Content Provider | CiteSeerX |
|---|---|
| Researcher | Garnett, Timothy |
| Abstract | The ability of compilers to optimize programs statically is diminishing. The advent and increased use of shared libraries, dynamic class loading, and runtime binding means that the compiler has, even with difficult to accurately obtain profiling data, less and less knowledge of the runtime state of the program. Dynamic optimization systems attempt to fill this gap by providing the ability to optimize the application at runtime when more of the system's state is known and very accurate profiling data can be obtained. This thesis presents two uses of the DynamoRIO runtime introspection and modification system to optimize applications at runtime. The first is a series of optimizations for interpreters running under DynamoRIO's logical program counter extension. The optimizations include extensions to DynamoRIO to allow the interpreter writer add a few annotations to the source code of his interpreter that enable large amounts of optimization. For interpreters instrumented as such, improvements in performance of 20 to 60 percent were obtained. The second use is a proof of concept for accelerating the performance of IA-32 applications running on the Itanium processor by dynamically translating hot trace paths into Itanium IA-64 assembly through DynamoRIO while allowing the less frequently executed potions of the application to run in Itanium's native IA-32 hardware emulation. This transformation yields speedups of almost 50 percent on small loop intensive benchmarks. |
| File Format | |
| Access Restriction | Open |
| Subject Keyword | Ia-32 Application Dynamic Optimization Shared Library Source Code Logical Program Counter Extension Dynamic Optimization System Modification System Accurate Profiling Data Itanium Ia-64 Assembly Enable Large Amount Runtime Binding Dynamorio Runtime Introspection Runtime State Native Ia-32 Hardware Emulation Hot Trace Path Small Loop Intensive Benchmark Itanium Processor Interpreter Writer Dynamic Class Loading Second Use |
| Content Type | Text |
| Resource Type | Thesis |