Back to Search Start Over

Synthesizing MPI Implementations from Functional Data-Parallel Programs

Authors :
Tristan Aubrey-Jones
Bernd Fischer
Source :
International Journal of Parallel Programming. 44:552-573
Publication Year :
2015
Publisher :
Springer Science and Business Media LLC, 2015.

Abstract

Distributed memory architectures such as Linux clusters have become increasingly common but remain difficult to program. We target this problem and present a novel technique to automatically generate data distribution plans, and subsequently MPI implementations in C++, from programs written in a functional core language. The main novelty of our approach is that we support distributed arrays, maps, and lists in the same framework, rather than just arrays. We formalize distributed data layouts as types, which are then used both to search (via type inference) for optimal data distribution plans and to generate the MPI implementations. We introduce the core language and explain our formalization of distributed data layouts. We describe how we search for data distribution plans using an adaptation of the Damas---Milner type inference algorithm, and how we generate MPI implementations in C++ from such plans.

Details

ISSN :
15737640 and 08857458
Volume :
44
Database :
OpenAIRE
Journal :
International Journal of Parallel Programming
Accession number :
edsair.doi...........04cffd992423a22318e6827aa648104b