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...
Uložené v:
| Vydané v: | Procedia computer science Ročník 9; číslo n/a; s. 1837 - 1846 |
|---|---|
| Hlavní autori: | , |
| 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!
|
| 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 |