Profile-directed optimization of event-based programs

Events are used as a fundamental abstraction in programs ranging from graphical user interfaces (GUIs) to systems for building customized network protocols. While providing a flexible structuring and execution paradigm, events have the potentially serious drawback of extra execution overhead due to...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:SIGPLAN notices 2002-05, Vol.37 (5), p.106-116
Hauptverfasser: Rajagopalan, Mohan, Debray, Saumya K., Hiltunen, Matti A., Schlichting, Richard D.
Format: Artikel
Sprache:eng
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 116
container_issue 5
container_start_page 106
container_title SIGPLAN notices
container_volume 37
creator Rajagopalan, Mohan
Debray, Saumya K.
Hiltunen, Matti A.
Schlichting, Richard D.
description Events are used as a fundamental abstraction in programs ranging from graphical user interfaces (GUIs) to systems for building customized network protocols. While providing a flexible structuring and execution paradigm, events have the potentially serious drawback of extra execution overhead due to the indirection between modules that raise events and those that handle them. This paper describes an approach to addressing this issue using static optimization techniques. This approach, which exploits the underlying predictability often exhibited by event-based programs, is based on first profiling the program to identify commonly occurring event sequences. A variety of techniques that use the resulting profile information are then applied to the program to reduce the overheads associated with such mechanisms as indirect function calls and argument marshaling. In addition to describing the overall approach, experimental results are given that demonstrate the effectiveness of the techniques. These results are from event-based programs written for X Windows, a system for building GUIs, and Cactus, a system for constructing highly configurable distributed services and network protocols.
doi_str_mv 10.1145/543552.512543
format Article
fullrecord <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_miscellaneous_29465893</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>29465893</sourcerecordid><originalsourceid>FETCH-LOGICAL-c154t-6cd3df2447e7802f36a09741aa8abcadd1ee5e52e005880538a8b990313de3823</originalsourceid><addsrcrecordid>eNotkEFLAzEUhIMoWKtH7z15S30vydtmj1LUCgU96Dmkm7cS2W1qshX017uynmZghhn4hLhGWCIauiWjidSSUI3uRMyQyErECk7FDHSlJGoD5-KilA8A0KDsTNBLTm3sWIaYuRk4LNJhiH388UNM-0VqF_zF-0HufBmzQ07v2fflUpy1vit89a9z8fZw_7reyO3z49P6bisbJDPIqgk6tMqYFa8sqFZXHuqVQe-t3zU-BGQmJsUAZC2Qtt7u6ho06sDaKj0XN9PuePx55DK4PpaGu87vOR2LU7WpyNZ6LMqp2ORUSubWHXLsff52CO4PjpvguAmO_gV8GFYD</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>29465893</pqid></control><display><type>article</type><title>Profile-directed optimization of event-based programs</title><source>ACM Digital Library Complete</source><creator>Rajagopalan, Mohan ; Debray, Saumya K. ; Hiltunen, Matti A. ; Schlichting, Richard D.</creator><creatorcontrib>Rajagopalan, Mohan ; Debray, Saumya K. ; Hiltunen, Matti A. ; Schlichting, Richard D.</creatorcontrib><description>Events are used as a fundamental abstraction in programs ranging from graphical user interfaces (GUIs) to systems for building customized network protocols. While providing a flexible structuring and execution paradigm, events have the potentially serious drawback of extra execution overhead due to the indirection between modules that raise events and those that handle them. This paper describes an approach to addressing this issue using static optimization techniques. This approach, which exploits the underlying predictability often exhibited by event-based programs, is based on first profiling the program to identify commonly occurring event sequences. A variety of techniques that use the resulting profile information are then applied to the program to reduce the overheads associated with such mechanisms as indirect function calls and argument marshaling. In addition to describing the overall approach, experimental results are given that demonstrate the effectiveness of the techniques. These results are from event-based programs written for X Windows, a system for building GUIs, and Cactus, a system for constructing highly configurable distributed services and network protocols.</description><identifier>ISSN: 0362-1340</identifier><identifier>EISSN: 1558-1160</identifier><identifier>DOI: 10.1145/543552.512543</identifier><language>eng</language><ispartof>SIGPLAN notices, 2002-05, Vol.37 (5), p.106-116</ispartof><woscitedreferencessubscribed>false</woscitedreferencessubscribed><cites>FETCH-LOGICAL-c154t-6cd3df2447e7802f36a09741aa8abcadd1ee5e52e005880538a8b990313de3823</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>315,781,785,27926,27927</link.rule.ids></links><search><creatorcontrib>Rajagopalan, Mohan</creatorcontrib><creatorcontrib>Debray, Saumya K.</creatorcontrib><creatorcontrib>Hiltunen, Matti A.</creatorcontrib><creatorcontrib>Schlichting, Richard D.</creatorcontrib><title>Profile-directed optimization of event-based programs</title><title>SIGPLAN notices</title><description>Events are used as a fundamental abstraction in programs ranging from graphical user interfaces (GUIs) to systems for building customized network protocols. While providing a flexible structuring and execution paradigm, events have the potentially serious drawback of extra execution overhead due to the indirection between modules that raise events and those that handle them. This paper describes an approach to addressing this issue using static optimization techniques. This approach, which exploits the underlying predictability often exhibited by event-based programs, is based on first profiling the program to identify commonly occurring event sequences. A variety of techniques that use the resulting profile information are then applied to the program to reduce the overheads associated with such mechanisms as indirect function calls and argument marshaling. In addition to describing the overall approach, experimental results are given that demonstrate the effectiveness of the techniques. These results are from event-based programs written for X Windows, a system for building GUIs, and Cactus, a system for constructing highly configurable distributed services and network protocols.</description><issn>0362-1340</issn><issn>1558-1160</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2002</creationdate><recordtype>article</recordtype><recordid>eNotkEFLAzEUhIMoWKtH7z15S30vydtmj1LUCgU96Dmkm7cS2W1qshX017uynmZghhn4hLhGWCIauiWjidSSUI3uRMyQyErECk7FDHSlJGoD5-KilA8A0KDsTNBLTm3sWIaYuRk4LNJhiH388UNM-0VqF_zF-0HufBmzQ07v2fflUpy1vit89a9z8fZw_7reyO3z49P6bisbJDPIqgk6tMqYFa8sqFZXHuqVQe-t3zU-BGQmJsUAZC2Qtt7u6ho06sDaKj0XN9PuePx55DK4PpaGu87vOR2LU7WpyNZ6LMqp2ORUSubWHXLsff52CO4PjpvguAmO_gV8GFYD</recordid><startdate>20020501</startdate><enddate>20020501</enddate><creator>Rajagopalan, Mohan</creator><creator>Debray, Saumya K.</creator><creator>Hiltunen, Matti A.</creator><creator>Schlichting, Richard D.</creator><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20020501</creationdate><title>Profile-directed optimization of event-based programs</title><author>Rajagopalan, Mohan ; Debray, Saumya K. ; Hiltunen, Matti A. ; Schlichting, Richard D.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c154t-6cd3df2447e7802f36a09741aa8abcadd1ee5e52e005880538a8b990313de3823</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2002</creationdate><toplevel>online_resources</toplevel><creatorcontrib>Rajagopalan, Mohan</creatorcontrib><creatorcontrib>Debray, Saumya K.</creatorcontrib><creatorcontrib>Hiltunen, Matti A.</creatorcontrib><creatorcontrib>Schlichting, Richard D.</creatorcontrib><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>SIGPLAN notices</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Rajagopalan, Mohan</au><au>Debray, Saumya K.</au><au>Hiltunen, Matti A.</au><au>Schlichting, Richard D.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Profile-directed optimization of event-based programs</atitle><jtitle>SIGPLAN notices</jtitle><date>2002-05-01</date><risdate>2002</risdate><volume>37</volume><issue>5</issue><spage>106</spage><epage>116</epage><pages>106-116</pages><issn>0362-1340</issn><eissn>1558-1160</eissn><abstract>Events are used as a fundamental abstraction in programs ranging from graphical user interfaces (GUIs) to systems for building customized network protocols. While providing a flexible structuring and execution paradigm, events have the potentially serious drawback of extra execution overhead due to the indirection between modules that raise events and those that handle them. This paper describes an approach to addressing this issue using static optimization techniques. This approach, which exploits the underlying predictability often exhibited by event-based programs, is based on first profiling the program to identify commonly occurring event sequences. A variety of techniques that use the resulting profile information are then applied to the program to reduce the overheads associated with such mechanisms as indirect function calls and argument marshaling. In addition to describing the overall approach, experimental results are given that demonstrate the effectiveness of the techniques. These results are from event-based programs written for X Windows, a system for building GUIs, and Cactus, a system for constructing highly configurable distributed services and network protocols.</abstract><doi>10.1145/543552.512543</doi><tpages>11</tpages></addata></record>
fulltext fulltext
identifier ISSN: 0362-1340
ispartof SIGPLAN notices, 2002-05, Vol.37 (5), p.106-116
issn 0362-1340
1558-1160
language eng
recordid cdi_proquest_miscellaneous_29465893
source ACM Digital Library Complete
title Profile-directed optimization of event-based programs
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-18T12%3A03%3A06IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Profile-directed%20optimization%20of%20event-based%20programs&rft.jtitle=SIGPLAN%20notices&rft.au=Rajagopalan,%20Mohan&rft.date=2002-05-01&rft.volume=37&rft.issue=5&rft.spage=106&rft.epage=116&rft.pages=106-116&rft.issn=0362-1340&rft.eissn=1558-1160&rft_id=info:doi/10.1145/543552.512543&rft_dat=%3Cproquest_cross%3E29465893%3C/proquest_cross%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=29465893&rft_id=info:pmid/&rfr_iscdi=true