Scenario Based Optimization: A Framework for Statically Enabling Online Optimizations

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 e...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Mars, Jason, Hundt, Robert
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 179
container_issue
container_start_page 169
container_title
container_volume
creator Mars, Jason
Hundt, Robert
description 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.
doi_str_mv 10.1109/CGO.2009.24
format Conference Proceeding
fullrecord <record><control><sourceid>acm_6IE</sourceid><recordid>TN_cdi_acm_books_10_1109_CGO_2009_24</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>4907661</ieee_id><sourcerecordid>acm_books_10_1109_CGO_2009_24</sourcerecordid><originalsourceid>FETCH-LOGICAL-a276t-4bfcaf592d5d09ed5b226fd380cc66040f96648acb16b8c1887f80a2007b1c823</originalsourceid><addsrcrecordid>eNqNjz1PwzAURS2hSkCbibFLByakpM-OP55HiKAgVcoAzJbt2JKBNFWSBX49rsoP4C13OFdX7xByQ6GiFPS22bUVA9AV4xek0ApBSS1qoSQsyHUmqDnjyC5JMU0fkE8IhJpekfWrDwc7pmHzYKfQbdrjnPr0Y-c0HFZkEe3XFIq_XJL3p8e35rnct7uX5n5fWqbkXHIXvY1Cs050oEMnHGMydjWC91ICh6il5Gi9o9Khp4gqItj8lXLUI6uXZH3eTSEEcxxTb8dvw3WWkDTTuzO1vjduGD4nQ8GctE3WNidtw7hxYwoxl2__Ua5_AT1PUwA</addsrcrecordid><sourcetype>Publisher</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype></control><display><type>conference_proceeding</type><title>Scenario Based Optimization: A Framework for Statically Enabling Online Optimizations</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Mars, Jason ; Hundt, Robert</creator><creatorcontrib>Mars, Jason ; Hundt, Robert</creatorcontrib><description>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.</description><identifier>ISBN: 9780769535760</identifier><identifier>ISBN: 0769535763</identifier><identifier>DOI: 10.1109/CGO.2009.24</identifier><identifier>LCCN: 2008942482</identifier><language>eng</language><publisher>Washington, DC, USA: IEEE Computer Society</publisher><subject>Application software ; compilation techniques ; Design optimization ; dynamic optimization ; Environmental management ; Hardware ; Mars ; Microarchitecture ; Monitoring ; Online Communities/Technical Collaboration ; online optimization ; Runtime environment ; Scenario based optimization ; Search engines ; Software and its engineering -- Software notations and tools -- Compilers ; Theory of computation -- Design and analysis of algorithms -- Online algorithms -- Online learning algorithms ; Theory of computation -- Models of computation -- Interactive computation ; Theory of computation -- Semantics and reasoning -- Program reasoning -- Program analysis ; Theory of computation -- Semantics and reasoning -- Program semantics ; Theory of computation -- Theory and algorithms for application domains -- Machine learning theory -- Online learning theory</subject><ispartof>2009 International Symposium on Code Generation and Optimization, 2009, p.169-179</ispartof><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/4907661$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,776,780,785,786,2051,27904,54898</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/4907661$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Mars, Jason</creatorcontrib><creatorcontrib>Hundt, Robert</creatorcontrib><title>Scenario Based Optimization: A Framework for Statically Enabling Online Optimizations</title><title>2009 International Symposium on Code Generation and Optimization</title><addtitle>CGO</addtitle><description>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.</description><subject>Application software</subject><subject>compilation techniques</subject><subject>Design optimization</subject><subject>dynamic optimization</subject><subject>Environmental management</subject><subject>Hardware</subject><subject>Mars</subject><subject>Microarchitecture</subject><subject>Monitoring</subject><subject>Online Communities/Technical Collaboration</subject><subject>online optimization</subject><subject>Runtime environment</subject><subject>Scenario based optimization</subject><subject>Search engines</subject><subject>Software and its engineering -- Software notations and tools -- Compilers</subject><subject>Theory of computation -- Design and analysis of algorithms -- Online algorithms -- Online learning algorithms</subject><subject>Theory of computation -- Models of computation -- Interactive computation</subject><subject>Theory of computation -- Semantics and reasoning -- Program reasoning -- Program analysis</subject><subject>Theory of computation -- Semantics and reasoning -- Program semantics</subject><subject>Theory of computation -- Theory and algorithms for application domains -- Machine learning theory -- Online learning theory</subject><isbn>9780769535760</isbn><isbn>0769535763</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>2009</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNqNjz1PwzAURS2hSkCbibFLByakpM-OP55HiKAgVcoAzJbt2JKBNFWSBX49rsoP4C13OFdX7xByQ6GiFPS22bUVA9AV4xek0ApBSS1qoSQsyHUmqDnjyC5JMU0fkE8IhJpekfWrDwc7pmHzYKfQbdrjnPr0Y-c0HFZkEe3XFIq_XJL3p8e35rnct7uX5n5fWqbkXHIXvY1Cs050oEMnHGMydjWC91ICh6il5Gi9o9Khp4gqItj8lXLUI6uXZH3eTSEEcxxTb8dvw3WWkDTTuzO1vjduGD4nQ8GctE3WNidtw7hxYwoxl2__Ua5_AT1PUwA</recordid><startdate>20090101</startdate><enddate>20090101</enddate><creator>Mars, Jason</creator><creator>Hundt, Robert</creator><general>IEEE Computer Society</general><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope></search><sort><creationdate>20090101</creationdate><title>Scenario Based Optimization</title><author>Mars, Jason ; Hundt, Robert</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a276t-4bfcaf592d5d09ed5b226fd380cc66040f96648acb16b8c1887f80a2007b1c823</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>2009</creationdate><topic>Application software</topic><topic>compilation techniques</topic><topic>Design optimization</topic><topic>dynamic optimization</topic><topic>Environmental management</topic><topic>Hardware</topic><topic>Mars</topic><topic>Microarchitecture</topic><topic>Monitoring</topic><topic>Online Communities/Technical Collaboration</topic><topic>online optimization</topic><topic>Runtime environment</topic><topic>Scenario based optimization</topic><topic>Search engines</topic><topic>Software and its engineering -- Software notations and tools -- Compilers</topic><topic>Theory of computation -- Design and analysis of algorithms -- Online algorithms -- Online learning algorithms</topic><topic>Theory of computation -- Models of computation -- Interactive computation</topic><topic>Theory of computation -- Semantics and reasoning -- Program reasoning -- Program analysis</topic><topic>Theory of computation -- Semantics and reasoning -- Program semantics</topic><topic>Theory of computation -- Theory and algorithms for application domains -- Machine learning theory -- Online learning theory</topic><toplevel>online_resources</toplevel><creatorcontrib>Mars, Jason</creatorcontrib><creatorcontrib>Hundt, Robert</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Mars, Jason</au><au>Hundt, Robert</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Scenario Based Optimization: A Framework for Statically Enabling Online Optimizations</atitle><btitle>2009 International Symposium on Code Generation and Optimization</btitle><stitle>CGO</stitle><date>2009-01-01</date><risdate>2009</risdate><spage>169</spage><epage>179</epage><pages>169-179</pages><isbn>9780769535760</isbn><isbn>0769535763</isbn><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.</abstract><cop>Washington, DC, USA</cop><pub>IEEE Computer Society</pub><doi>10.1109/CGO.2009.24</doi><tpages>11</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISBN: 9780769535760
ispartof 2009 International Symposium on Code Generation and Optimization, 2009, p.169-179
issn
language eng
recordid cdi_acm_books_10_1109_CGO_2009_24
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Application software
compilation techniques
Design optimization
dynamic optimization
Environmental management
Hardware
Mars
Microarchitecture
Monitoring
Online Communities/Technical Collaboration
online optimization
Runtime environment
Scenario based optimization
Search engines
Software and its engineering -- Software notations and tools -- Compilers
Theory of computation -- Design and analysis of algorithms -- Online algorithms -- Online learning algorithms
Theory of computation -- Models of computation -- Interactive computation
Theory of computation -- Semantics and reasoning -- Program reasoning -- Program analysis
Theory of computation -- Semantics and reasoning -- Program semantics
Theory of computation -- Theory and algorithms for application domains -- Machine learning theory -- Online learning theory
title Scenario Based Optimization: A Framework for Statically Enabling Online Optimizations
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-27T03%3A32%3A13IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-acm_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Scenario%20Based%20Optimization:%20A%20Framework%20for%20Statically%20Enabling%20Online%20Optimizations&rft.btitle=2009%20International%20Symposium%20on%20Code%20Generation%20and%20Optimization&rft.au=Mars,%20Jason&rft.date=2009-01-01&rft.spage=169&rft.epage=179&rft.pages=169-179&rft.isbn=9780769535760&rft.isbn_list=0769535763&rft_id=info:doi/10.1109/CGO.2009.24&rft_dat=%3Cacm_6IE%3Eacm_books_10_1109_CGO_2009_24%3C/acm_6IE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_id=info:pmid/&rft_ieee_id=4907661&rfr_iscdi=true