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...
Gespeichert in:
Hauptverfasser: | , |
---|---|
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 |