@InProceedings{strategies-2010,
   author = {Simon Marlow and Patrick Maier and Hans-Wolfgang Loidl and Mustafa K Aswad and Phil Trinder},
   title = {Seq no more: Better Strategies for Parallel {H}askell},
   booktitle = {Haskell '10: Proceedings of the Third ACM SIGPLAN Symposium on Haskell},
   year = {2010},
   abstract = {We present a complete redesign of Evaluation Strategies, a key
abstraction for specifying pure, deterministic parallelism in Haskell.
Our new formulation preserves the compositionality and modularity
benefits of the original, while providing significant new benefits.
First, we introduce an evaluation-order monad to provide clearer, more
generic, and more efficient specification of parallel evaluation.
Secondly, the new formulation resolves a subtle space management issue
with the original strategies, allowing parallelism (sparks) to be
preserved while reclaiming heap associated with superfluous
parallelism.  Related to this, the new formulation provides far better
support for speculative parallelism as the garbage collector now
prunes unneeded speculation.  Finally, the new formulation provides
improved compositionality: we can directly express parallelism
embedded within lazy data structures, producing more compositional
strategies, and our basic strategies are parametric in the
coordination combinator, facilitating a richer set of parallelism
combinators.

We give measurements over a range of benchmarks demonstrating that the
runtime overheads of the new formulation relative to the original are
low, and the new strategies even yield slightly better speedups on
average than the original strategies.
},
   url = {http://community.haskell.org/~simonmar/papers/strategies.pdf},
   location = {Baltimore, USA},
   publisher = {ACM}
}