Optimising shared reduction variables in MPI programs

0Citations
Citations of this article
2Readers
Mendeley users who have this article in their library.

This article is free to access.

Abstract

CFL (Communication Fusion Library) is an experimental C++ library which supports shared reduction variables in MPI programs. It uses overloading to distinguish private variables from replicated, shared variables, and automatically introduces MPI communication to keep replicated data consistent. This paper concerns a simple but surprisingly effective technique which improves performance substantially: CFL operators are executed lazily in order to expose opportunities for run-time, context-dependent, optimisation such as message aggregation and operator fusion. We evaluate the idea using both toy benchmarks and a ‘production’ code for simulating plankton population dynamics in the upper ocean. The results demonstrate the library’s software engineering benefits, and show that performance close to that of manually optimised code can be achieved automatically in many cases.

Cite

CITATION STYLE

APA

Field, A. J., Kelly, P. H. J., & Hansen, T. L. (2002). Optimising shared reduction variables in MPI programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 2400, pp. 630–639). Springer Verlag. https://doi.org/10.1007/3-540-45706-2_87

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free