DocumentCode :
3305545
Title :
Scenario Based Optimization: A Framework for Statically Enabling Online Optimizations
Author :
Mars, Jason ; Hundt, Robert
Author_Institution :
Univ. of Virginia, Charlottesville, VA
fYear :
2009
fDate :
22-25 March 2009
Firstpage :
169
Lastpage :
179
Abstract :
Online optimization allows the continuous restructuring and adaptation of an executing application using live information about its execution environment. The further advancement of performance monitoring hardware presents new opportunities for online optimization techniques. While managed runtime environments lend themselves nicely to online and dynamic optimizations, such techniques remain difficult to successfully achieve at the binary level. Binary level dynamic optimizers introduce virtual layers which at the binary level produces overhead that is often prohibitive. Another challenge comes from the lack of source level information that can significantly aid optimization.In this paper we present a new static/dynamic collaborative approach to online optimization that takes advantage of the strength of static optimization and the adaptive nature of dynamic optimization techniques. We call this hybrid optimization framework Scenario Based Optimization (SBO). Statically we multiversion and specialize functions for different dynamic scenarios that can be identified by monitoring micro-architectural events. Using these events to infer the current scenario, we dynamically reroute execution to the relevant code tuned to that scenario. We have implemented our static SBO infrastructure in GCC 4.3.1 and designed our dynamic introspection engine using the Perfmon2 infrastructure. To demonstrate the effectiveness of our scenario based optimization framework we have designed an SBO optimization we call the Online Aiding and Abetting of Aggressive Optimizations (OAAAO). Using SPEC2006 this optimization shows a speedup of 7% to 10% for a number of benchmarks and in our best case (h264ref) a 17% speedup over native execution compiled at the -O2 optimization level.
Keywords :
groupware; optimisation; program compilers; binary level dynamic optimizers; dynamic introspection engine; microarchitectural events monitoring; online aiding and abetting of aggressive optimizations; online optimization techniques; scenario based optimization; source level information; static-dynamic collaborative approach; virtual layers; Application software; Design optimization; Environmental management; Hardware; Mars; Microarchitecture; Monitoring; Online Communities/Technical Collaboration; Runtime environment; Search engines; Scenario based optimization; compilation techniques; dynamic optimization; online optimization;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Code Generation and Optimization, 2009. CGO 2009. International Symposium on
Conference_Location :
Seattle, WA
Print_ISBN :
978-0-7695-3576-0
Type :
conf
DOI :
10.1109/CGO.2009.24
Filename :
4907661
Link To Document :
بازگشت