Title: A Calculational Framework for Parallel Programming with MapReduce
Speaker: Zhenjiang Hu (National Institute of Informatics, Japan)
Time: 14:30, Wednesday, July 25th, 2012
Venue: Room 337, 3rd Floor, Building 5#, State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences
Abstract: MapReduce, being inspired by the map and reduce primitives available in many functional languages, is the de facto standard for large scale data-intensive parallel programming.  Although it has succeeded in popularizing the use of the two primitives for hiding the details of parallel computation, little effort has been made to emphasize the programming methodology behind, which has been intensively studied in the functional programming and program calculation fields.  We show that MapReduce can be equipped with a programming theory in calculational form.  By integrating the generate-and-test programing 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.

This is a joint work with Kento Emoto and Sebastian Fischer.

Zhenjiang Hu is a professor of National Institute of Informatics (NII) in Japan. He received his BS and MS from Shanghai Jiaotong University in 1988 and 1991 respectively, and PhD degree from University of Tokyo in 1996. He
was a lecturer (1997-1999) and an associate professor (2000-2007) in University of Tokyo, before joining NII as a full professor in 2008. His main interest is in programming languages and software engineering in general, and functional programming, parallel programming and bidirectional model-driven software development in particular. He has been general/program chairs for many international conferences such as ICFP, APLAS, FLOPS, and ICMT.