Filter-embedding semiring fusion for programming with MapReduce

被引:9
作者
Emoto, Kento [1 ]
Fischer, Sebastian [2 ]
Hu, Zhenjiang [2 ]
机构
[1] Univ Tokyo, Bunkyo Ku, Tokyo 113, Japan
[2] Natl Inst Informat, Tokyo, Japan
基金
日本学术振兴会;
关键词
MapReduce; List homomorphisms; Functional programming; Program transformation; Program calculation; Semiring computation; MODEL;
D O I
10.1007/s00165-012-0241-8
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We show that MapReduce, the de facto standard for large scale data-intensive parallel programming, can be equipped with a programming theory in calculational form. By integrating the generate-and-test programming paradigm and semirings for aggregation of results, we propose a novel parallel programming framework for MapReduce. The framework consists of two important calculation theorems: the shortcut fusion theorem of semiring homomorphisms bridges the gap between specifications and efficient implementations, and the filter-embedding theorem helps to develop parallel programs in a systematic and incremental way.
引用
收藏
页码:623 / 645
页数:23
相关论文
共 49 条
  • [41] Skillicorn DB, 1992, NATO ARW SOFTWARE PA, P92
  • [42] Takano A., 1995, Conference Record of FPCA '95. SIGPLAN-SIGARCH-WG2.8. Conference on Functional Programming Languages and Computer Architecture, P306, DOI 10.1145/224164.224221
  • [43] Takano A, 1998, ACM COMPUT SURV, V30
  • [44] A UNIFIED APPROACH TO PATH PROBLEMS
    TARJAN, RE
    [J]. JOURNAL OF THE ACM, 1981, 28 (03) : 577 - 593
  • [45] Thomas W., 1990, Handbook of Theoretical Computer Science, P133, DOI [10.1016/B978-0-444-88074-1.50009-3, DOI 10.1016/B978-0-444-88074-1.50009-3, 10.1016/b978-0-444-88074-1.50009-3]
  • [46] Wadler Philip, 1989, FUNCTIONAL PROGRAMMI, P347
  • [47] Yang He, 1988, 9th International Conference on Pattern Recognition (IEEE Cat. No.88CH2614-6), P718, DOI 10.1109/ICPR.1988.28338
  • [48] LONGEST SEGMENT PROBLEMS
    ZANTEMA, H
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 1992, 18 (01) : 39 - 66
  • [49] Zhenjiang Hu, 1998, Conference Record of POPL '98: 25th ACM SIGPLAN-SIGACT. Symposium on Principles of Programming Languages, P316