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ženo v:
Podrobná bibliografie
Vydáno v:Procedia computer science Ročník 9; číslo n/a; s. 1837 - 1846
Hlavní autoři: Danelutto, M., Di Cosmo, R.
Médium: Journal Article Konferenční příspěvek
Jazyk:angličtina
Vydáno: Elsevier B.V 01.01.2012
Elsevier
Edice:Procedia Computer Science
Témata:
ISSN:1877-0509, 1877-0509
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
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