Abstract | ||
---|---|---|
This article aims at making iterative optimization practical and usable by speeding up the evaluation of a large range of optimizations. Instead of using a full run to evaluate a single program optimization, we take advantage of periods of stable performance, called phases. For that purpose, we propose a low-overhead phase detection scheme geared toward fast optimization space pruning, using code instrumentation and versioning implemented in a production compiler.Our approach is driven by simplicity and practicality. We show that a simple phase detection scheme can be sufficient for optimization space pruning. We also show it is possible to search for complex optimizations at run-time without resorting to sophisticated dynamic compilation frameworks. Beyond iterative optimization, our approach also enables one to quickly design self-tuned applications.Considering 5 representative SpecFP2000 benchmarks, our approach speeds up iterative search for the best program optimizations by a factor of 32 to 962. Phase prediction is 99.4% accurate on average, with an overhead of only 2.6%. The resulting self-tuned implementations bring an average speed-up of 1.4. |
Year | DOI | Venue |
---|---|---|
2007 | 10.1007/978-3-540-71528-3_4 | T. HiPEAC |
Keywords | Field | DocType |
practical run-time evaluation,low-overhead phase detection scheme,multiple program optimizations,fast optimization space pruning,phase prediction,approach speed,single program optimization,best program optimizations,optimization space pruning,iterative search,iterative optimization,complex optimizations,dynamic compilation,program optimization | Program optimization,USable,Instrumentation (computer programming),Dynamic compilation,Program transformation,Computer science,Parallel computing,Real-time computing,Compiler,Single Compilation Unit,Software versioning | Journal |
Volume | ISSN | Citations |
1 | 0302-9743 | 11 |
PageRank | References | Authors |
0.69 | 35 | 4 |
Name | Order | Citations | PageRank |
---|---|---|---|
Grigori Fursin | 1 | 958 | 50.76 |
Albert Cohen | 2 | 1002 | 72.30 |
Michael O'Boyle | 3 | 405 | 19.81 |
Olivier Temam | 4 | 2474 | 148.79 |