Profile-directed optimization of event-based programs

Mohan Rajagopalan, Saumya K Debray, Matti A. Hiltunen, Richard D. Schlichting

Research output: Chapter in Book/Report/Conference proceedingConference contribution

18 Citations (Scopus)

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.

Original languageEnglish (US)
Title of host publicationProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)
Pages106-116
Number of pages11
StatePublished - 2002
EventProceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI'02) - Berlin, Germany
Duration: Jun 17 2002Jun 19 2002

Other

OtherProceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI'02)
CountryGermany
CityBerlin
Period6/17/026/19/02

Fingerprint

Graphical user interfaces
Network protocols

ASJC Scopus subject areas

  • Computer Science(all)

Cite this

Rajagopalan, M., Debray, S. K., Hiltunen, M. A., & Schlichting, R. D. (2002). Profile-directed optimization of event-based programs. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI) (pp. 106-116)

Profile-directed optimization of event-based programs. / Rajagopalan, Mohan; Debray, Saumya K; Hiltunen, Matti A.; Schlichting, Richard D.

Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 2002. p. 106-116.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Rajagopalan, M, Debray, SK, Hiltunen, MA & Schlichting, RD 2002, Profile-directed optimization of event-based programs. in Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). pp. 106-116, Proceedings of the ACM SIGPLAN 2002 Conference on Programming Language Design and Implementation (PLDI'02), Berlin, Germany, 6/17/02.
Rajagopalan M, Debray SK, Hiltunen MA, Schlichting RD. Profile-directed optimization of event-based programs. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 2002. p. 106-116
Rajagopalan, Mohan ; Debray, Saumya K ; Hiltunen, Matti A. ; Schlichting, Richard D. / Profile-directed optimization of event-based programs. Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI). 2002. pp. 106-116
@inproceedings{24c40decebe444e1881bdd6c5189ff61,
title = "Profile-directed optimization of event-based programs",
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.",
author = "Mohan Rajagopalan and Debray, {Saumya K} and Hiltunen, {Matti A.} and Schlichting, {Richard D.}",
year = "2002",
language = "English (US)",
pages = "106--116",
booktitle = "Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)",

}

TY - GEN

T1 - Profile-directed optimization of event-based programs

AU - Rajagopalan, Mohan

AU - Debray, Saumya K

AU - Hiltunen, Matti A.

AU - Schlichting, Richard D.

PY - 2002

Y1 - 2002

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

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

UR - http://www.scopus.com/inward/record.url?scp=0036036095&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0036036095&partnerID=8YFLogxK

M3 - Conference contribution

SP - 106

EP - 116

BT - Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

ER -