作者
Cosmin Radoi, Stephen J Fink, Rodric Rabbah, Manu Sridharan
发表日期
2014/10/15
图书
Proceedings of the 2014 ACM International Conference on Object Oriented Programming Systems Languages & Applications
页码范围
909-927
简介
We present an approach for automatic translation of sequential, imperative code into a parallel MapReduce framework. Automating such a translation is challenging: imperative updates must be translated into a functional MapReduce form in a manner that both preserves semantics and enables parallelism. Our approach works by first translating the input code into a functional representation, with loops succinctly represented by fold operations. Then, guided by rewrite rules, our system searches a space of equivalent programs for an effective MapReduce implementation. The rules include a novel technique for handling irregular loop-carried dependencies using group-by operations to enable greater parallelism. We have implemented our technique in a tool called Mold. It translates sequential Java code into code targeting the Apache Spark runtime. We evaluated Mold on several real-world kernels and found that …
引用总数
201520162017201820192020202120222023202455813586766
学术搜索中的文章
C Radoi, SJ Fink, R Rabbah, M Sridharan - Proceedings of the 2014 ACM International …, 2014