A “Minimal Disruption” Skeleton Experiment: Seamless Map & Reduce Embedding in OCaml

We 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 Li...

Celý popis

Uložené v:
Podrobná bibliografia
Vydané v:Procedia computer science Ročník 9; číslo n/a; s. 1837 - 1846
Hlavní autori: Danelutto, M., Di Cosmo, R.
Médium: Journal Article Konferenčný príspevok..
Jazyk:English
Vydavateľské údaje: Elsevier B.V 01.01.2012
Elsevier
Edícia:Procedia Computer Science
Predmet:
ISSN:1877-0509, 1877-0509
On-line prístup:Získať plný text
Tagy: Pridať tag
Žiadne tagy, Buďte prvý, kto otaguje tento záznam!
Popis
Shrnutí:We 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.
ISSN:1877-0509
1877-0509
DOI:10.1016/j.procs.2012.04.202