Title
Part: An Asynchronous Parallel Abstraction For Speculative Pipeline Computations
Abstract
The ubiquity of multicore computers has forced programming language designers to rethink how languages express parallelism and concurrency. This has resulted in new language constructs and new combinations or revisions of existing constructs. In this line, we extended the programming languages Encore (actor-based), and Clojure (functional) with an asynchronous parallel abstraction called ParT, a data structure that can dually be seen as a collection of asynchronous values (integrating with futures) or a handle to a parallel computation, plus a collection of combinators for manipulating the data structure. The combinators can express parallel pipelines and speculative parallelism. This paper presents a typed calculus capturing the essence of ParT, abstracting away from details of the Encore and Clojure programming languages. The calculus includes tasks, futures, and combinators similar to those of Orc but implemented in a non-blocking fashion. Furthermore, the calculus strongly mimics how ParT is implemented, and it can serve as the basis for adaptation of ParT into different languages and for further extensions.
Year
DOI
Venue
2016
10.1007/978-3-319-39519-7_7
COORDINATION MODELS AND LANGUAGES
Field
DocType
Volume
Data structure,Pipeline (computing),Asynchronous communication,Combinatory logic,Computer science,Concurrency,Parallel computing,Theoretical computer science,Clojure,Constructed language,Multi-core processor
Conference
9686
ISSN
Citations 
PageRank 
0302-9743
4
0.44
References 
Authors
11
3
Name
Order
Citations
PageRank
Kiko Fernandez-Reyes1221.55
Dave Clarke241626.19
Daniel S. McCain340.78