Skip to main navigation Skip to search Skip to main content

Composable asynchronous events

  • Purdue University

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

17 Scopus citations

Abstract

Although asynchronous communication is an important feature of many concurrent systems, building composable abstractions that leverage asynchrony is challenging. This is because an asynchronous operation necessarily involves two distinct threads of control - the thread that initiates the operation, and the thread that discharges it. Existing attempts to marry composability with asynchrony either entail sacrificing performance (by limiting the degree of asynchrony permitted), or modularity (by forcing natural abstraction boundaries to be broken). In this paper, we present the design and rationale for asynchronous events, an abstraction that enables composable construction of complex asynchronous protocols without sacrificing the benefits of abstraction or performance. Asynchronous events are realized in the context of Concurrent ML's first-class event abstraction. We discuss the definition of a number of useful asynchronous abstractions that can be built on top of asynchronous events (e.g., composable callbacks) and provide a detailed case study of how asynchronous events can be used to substantially improve the modularity and performance of an I/O-intensive highly concurrent server application.

Original languageEnglish
Title of host publicationPLDI'11 - Proceedings of the 2011 ACM Conference on Programming Language Design and Implementation
PublisherAssociation for Computing Machinery
Pages628-639
Number of pages12
ISBN (Print)9781450306638
DOIs
StatePublished - 2011
Event32nd ACM Conference on Programming Language Design and Implementation, PLDI 2011 - San Jose, United States
Duration: Jun 4 2011Jun 8 2011

Publication series

NameProceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI)

Conference

Conference32nd ACM Conference on Programming Language Design and Implementation, PLDI 2011
Country/TerritoryUnited States
CitySan Jose
Period06/4/1106/8/11

Keywords

  • asynchrony
  • composability
  • concurrent ml
  • first-class events
  • message-passing

Fingerprint

Dive into the research topics of 'Composable asynchronous events'. Together they form a unique fingerprint.

Cite this