Towards systematic parallel programming over mapreduce

作者: Yu Liu , Zhenjiang Hu , Kiminori Matsuzaki

DOI: 10.1007/978-3-642-23397-5_5

关键词: HomomorphismParallel computingSimplicityProgramming paradigmParallelism (grammar)Parallel algorithmComputer scienceData-intensive computingVirtual machineJavaTheoretical computer science

摘要: MapReduce is a useful and popular programming model for data-intensive distributed parallel computing. But it still challenge to develop programs with systematically, since usually not easy derive proper divide-and-conquer algorithm that matches MapReduce. In this paper, we propose homomorphism-based framework named Screwdriver systematic MapReduce, making use of the program calculation theory list homomorphisms. implemented as Java library on top Hadoop. For any problem which can be resolved by two sequential functions satisfy requirements third homomorphism theorem, automatically transform initial an efficient program. Users need neither care about parallelism nor have deep knowledge addition simplicity our framework, such calculational approach enables us resolve many problems would nontrivial directly

参考文章(22)
Guy L. Steele, Parallel programming and parallel abstractions in fortress international symposium on functional and logic programming. pp. 1- 1 ,(2006) , 10.1007/11737414_1
Jeremy Gibbons, The Third Homomorphism Theorem Journal of Functional Programming. ,vol. 6, pp. 657- 665 ,(1996) , 10.1017/S0956796800001908
Richard S. Bird, An introduction to the theory of lists Proceedings of the NATO Advanced Study Institute on Logic of programming and calculi of discrete design. pp. 5- 42 ,(1987) , 10.1007/978-3-642-87374-4_1
Sergei Gorlatch, Systematic Extraction and Implementation of Divide-and-Conquer Parallelism international symposium on programming language implementation and logic programming. pp. 274- 288 ,(1996) , 10.1007/3-540-61756-6_91
Zhenjiang Hu, Hideya Iwasaki, Masato Takechi, Formal derivation of efficient parallel programs by construction of list homomorphisms ACM Transactions on Programming Languages and Systems. ,vol. 19, pp. 444- 461 ,(1997) , 10.1145/256167.256201
Ralf Lämmel, Google's MapReduce programming model — Revisited Science of Computer Programming. ,vol. 68, pp. 208- 237 ,(2007) , 10.1016/J.SCICO.2007.07.001
Zhenjiang Hu, Calculational parallel programming Proceedings of the fourth international workshop on High-level parallel programming and applications - HLPP '10. pp. 1- 2 ,(2010) , 10.1145/1863482.1863484