A “Minimal Disruption” Skeleton Experiment: Seamless Map & Reduce Embedding in OCaml
2012; Elsevier BV; Volume: 9; Linguagem: Inglês
10.1016/j.procs.2012.04.202
ISSN1877-0509
AutoresMarco Danelutto, Roberto Di Cosmo,
Tópico(s)Advanced Data Storage Technologies
ResumoWe discuss the implementation of a minimalist parallel library in OCaml. The library provides parallel map and fold (reduce) higher order functions and targets standard cache coherent shared memory multi-cores. Our Parmap.parmap and Parmap.parfold functions may be used to seamlessly replace OCaml List map and fold standard functions preserving their full functional semantics while achieving nearly optimal speedup on standard multi-core architectures. We discuss the design of the Parmap module, the main implementation features and we present some experimental results assessing the effciency of the Parmap parallel functions. Overall, Parmap represents a perfect incarnation of the "propagate the concept with minimal disruption" principle introduced in Cole's algorithmic skeleton manifesto.
Referência(s)