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 Marlow | 1 | 996 | 55.48 |
Ryan Newton | 2 | 802 | 70.80 |
Simon L. Peyton Jones | 3 | 5036 | 381.19 |