Title
Composable asynchronous events
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.
Year
DOI
Venue
2011
10.1145/1993498.1993572
PLDI
Keywords
Field
DocType
natural abstraction boundary,composable abstraction,composable construction,asynchronous operation,complex asynchronous protocol,asynchronous event,composable callbacks,useful asynchronous abstraction,composable asynchronous event,first-class event abstraction,asynchronous communication,asynchrony,message passing
Programming language,Computer science,Asynchronous operation,Real-time computing,Theoretical computer science,Callback,Concurrent ML,Composability,Distributed computing,Asynchronous communication,Proactor pattern,Asynchronous method invocation,Modularity
Conference
Volume
Issue
ISSN
46
6
0362-1340
Citations 
PageRank 
References 
5
0.42
14
Authors
3
Name
Order
Citations
PageRank
Lukasz Ziarek129135.09
K. C. Sivaramakrishnan2689.12
Suresh Jagannathan343523.83