A "minimal disruption" skeleton experiment: seamless map & reduce embedding in OCaml

被引:19
作者
Danelutto, M. [1 ]
Di Cosmo, R. [2 ]
机构
[1] Univ Pisa, Dept Comp Sci, Largo B Pontecorvo 3, I-56127 Pisa, Italy
[2] Univ Paris Diderot, Sorbonne Paris Cite, INRIA Paris Rocquencourt, CNRS,PPS,UMR 7126, F-75205 Paris, France
来源
PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON COMPUTATIONAL SCIENCE, ICCS 2012 | 2012年 / 9卷
关键词
structured parallel programming; algorithmic skeletons; map; reduce; PARALLEL;
D O I
10.1016/j.procs.2012.04.202
中图分类号
TP301 [理论、方法];
学科分类号
080201 [机械制造及其自动化];
摘要
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 efficiency 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.
引用
收藏
页码:1837 / 1846
页数:10
相关论文
共 18 条
[1]
Aldinucci M, 2007, SCALABLE COMPUT-PRAC, V8, P325
[2]
[Anonymous], 2005, P 10 ACM SIGPLAN S P, DOI DOI 10.1145/1065944.1065981
[3]
[Anonymous], NATO ASI SERIES F
[4]
A View of the Parallel Computing Landscape [J].
Asanovic, Krste ;
Bodik, Rastislav ;
Demmel, James ;
Keaveny, Tony ;
Keutzer, Kurt ;
Kubiatowicz, John ;
Morgan, Nelson ;
Patterson, David ;
Sen, Koushik ;
Wawrzynek, John ;
Wessel, David ;
Yelick, Katherine .
COMMUNICATIONS OF THE ACM, 2009, 52 (10) :56-67
[5]
CAN PROGRAMMING BE LIBERATED FROM VON NEUMANN STYLE - FUNCTIONAL STYLE AND ITS ALGEBRA OF PROGRAMS [J].
BACKUS, J .
COMMUNICATIONS OF THE ACM, 1978, 21 (08) :613-641
[6]
Cesarini Francesco, 2009, Erlang Programming: A Concurrent Approach to Software Development
[7]
Ciechanowicz P., 2010, Proceedings of the 2010 IEEE 12th International Conference on High Performance Computing and Communications (HPCC 2010), P108, DOI 10.1109/HPCC.2010.23
[8]
Honeycomb rectangular disks [J].
Teng, YH ;
Tan, JJM ;
Hsu, LH .
PARALLEL COMPUTING, 2005, 31 (3-4) :371-388
[9]
Danelutto M., 1998, P ACM WORKSH ML ITS
[10]
Mapreduce: Simplified data processing on large clusters [J].
Dean, Jeffrey ;
Ghemawat, Sanjay .
COMMUNICATIONS OF THE ACM, 2008, 51 (01) :107-113