Title
Design and Implementation of a Lightweight Dynamic Optimization System
Abstract
Many opportunities exist to improve micro-architectural performance due to perfor- mance events that are dicult to optimize at static compile time. Cache misses and branch mis-prediction patterns may vary for dierent micro-architectures using dierent inputs. Dynamic optimization provides an approach to address these and other performance events at runtime. This paper describes a software system of real implementation that detects per- formance problems of running applications and deploys optimizations to increase execution eciency. We discuss issues of detecting performance bottlenecks, generating optimized traces and redirecting execution from the original code to the dynamically optimized code. Our current system speeds up many of the CPU2000 benchmark programs having large numbers of D-Cache misses through dynamically deployed cache prefetching. For other applications that don't benefit from our runtime optimization, the average cost is only 2% of execution time. We present this lightweight system as an example of using existing hardware and software to deploy speculative optimizations to improve a program's runtime performance.
Year
Venue
Keywords
2004
J. Instruction-Level Parallelism
software systems
Field
DocType
Volume
Profile-guided optimization,Compile time,Cache,Computer science,Parallel computing,Programming idiom,Real-time computing,Software system,Average cost,Software,Execution time,Operating system
Journal
6
Citations 
PageRank 
References 
58
1.90
21
Authors
4
Name
Order
Citations
PageRank
Jiwei Lu123315.01
Howard Chen2786.41
Pen-chung Yew326954.73
Wei-Chung Hsu471958.87