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 Lu | 1 | 233 | 15.01 |
Howard Chen | 2 | 78 | 6.41 |
Pen-chung Yew | 3 | 269 | 54.73 |
Wei-Chung Hsu | 4 | 719 | 58.87 |