Title
A monad for deterministic parallelism
Abstract
We present a new programming model for deterministic parallel computation in a pure functional language. The model is monadic and has explicit granularity, but allows dynamic construction of dataflow networks that are scheduled at runtime, while remaining deterministic and pure. The implementation is based on monadic concurrency, which has until now only been used to simulate concurrency in functional languages, rather than to provide parallelism. We present the API with its semantics, and argue that parallel execution is deterministic. Furthermore, we present a complete work-stealing scheduler implemented as a Haskell library, and we show that it performs at least as well as the existing parallel programming models in Haskell.
Year
DOI
Venue
2011
10.1145/2034675.2034685
Haskell
Keywords
Field
DocType
new programming model,dataflow network,parallel execution,functional language,pure functional language,existing parallel programming model,deterministic parallelism,deterministic parallel computation,monadic concurrency,haskell library,complete work-stealing scheduler,parallel programming model,parallel,parallel computer,programming model
Programming language,Implicit parallelism,Programming paradigm,Functional programming,Concurrency,Computer science,Parallel computing,Theoretical computer science,Parallel programming model,Haskell,Declarative programming,Monad (functional programming)
Conference
Volume
Issue
ISSN
46
12
0362-1340
Citations 
PageRank 
References 
53
1.61
12
Authors
3
Name
Order
Citations
PageRank
Simon Marlow199655.48
Ryan Newton280270.80
Simon L. Peyton Jones35036381.19