Presented by: Sameer Kulkarni Improving Both the Performance Benefits and Speed of Optimization Phase Sequence Searches- Kulkarni, Jantz and Whalley Presented by: Sameer Kulkarni Dept of Computer & Information Sciences University of Delaware
Terms used Phase Ordering Genetic Algorithms Performance measurements Benchmarks Search granularity
Introduction Function vs. program level Granularity Embedded Systems Emulation Cost benefits Hybrid Search
Ideal Solution? Oracle Perfect sequence at the very start Wise Man Solution Given the present code predict the best optimization solution
Wise Man Understand Compilers Optimizations Source Code ?
Possible Solutions Pruning the search space Genetic Algorithms Estimating running times Precompiled choices Have multiple images of the library and chose the best one depending on the architecture.
Genetic Algorithms Fast Searches for Effective Optimization Phase Sequences, Kulkarni et al. PLDI ‘04
Exhaustive vs Heuristic [2]
Related Work Genetic Algorithms Other Evolutionary Techniques HMMs (CGO 06) Other Statistical methods Optimization Space Exploration
Present work Granularity Function Level File Level Program Level Hybrid
Experimental Setup VPO (Very Portable Optimizer) Base Genetic Algorithm Redundancy elimination
VPO Single IR Simplified phase ordering Configurable/modifiable
Redundancy Elimination Identical Sequence Identical Active Sequence Identical Function instance Equivalent Function Instance
Improvement…? 120 days > 12.5 days
Granularities Studied… Function Level File Level Program Level Hybrid …all compared to batch compilation
Graphs, graphs and more graphs…
Search Requirements http://www.ittc.ku.edu/~kulkarni/research/papers/lctes59f-preprint.pdf
Are they any good? http://www.ittc.ku.edu/~kulkarni/research/papers/lctes59f-preprint.pdf
Performance ?? http://www.ittc.ku.edu/~kulkarni/research/papers/lctes59f-preprint.pdf
Future Work Other machine learning algorithms Reduce granularity Use a cluster to reduce search / learning time
Conclusion Reduced search overhead
Questions What is JikesRVM and what it is not bytecode to machine code Compilation : from website link, untar, run the java config command only once, create .ant.properties file. Run ant Checking that it is working: rvm check path How do you optimize, command line parameters. Different IRs and optimization on the IRs. For more information please go thru http://www.ugrad.cs.ubc.ca/~cs411/2006W2/handouts/jikes-IR-shane-brewer.pdf Some Code snippets Adding new CommandLine Parameters space sensitive