Design and implementation of a lightweight dynamic optimization system

Jiwei Lu, Howard Chen, Pen Chung Yew, Wei Chung Hsu

Research output: Chapter in Book/Report/Conference proceedingConference contribution

80 Scopus citations

Abstract

Many opportunities exist to improve micro-architectural performance due to performance events that are difficult to optimize at static compile time. Cache misses and branch mis-prediction patterns may vary for different micro-architectures using different 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 performance problems of running applications and deploys optimizations to increase execution efficiency. 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.

Original languageEnglish (US)
Title of host publicationJournal of Instruction-Level Parallelism
Volume6
StatePublished - Apr 2004

Fingerprint

Dive into the research topics of 'Design and implementation of a lightweight dynamic optimization system'. Together they form a unique fingerprint.

Cite this