Abstract
CFL (Communication Fusion Library) is a C++ library for MPI programmers. It uses overloading to distinguish private variables from replicated, shared variables, and automatically introduces MPI communication to keep such 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 in the context of a large-scale simulation of oceanic plankton ecology. The results demonstrate the software engineering benefits that accrue from the CFL abstraction and show that performance close to that of manually optimised code can be achieved automatically in many cases.
Thomas Hansen is now with Telcordia Inc, NJ
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Susan Atlas, Subhankar Banerjee, Julian C. Cummings, Paul J. Hinker, M. Srikant, John V. W. Reynders, and Marydell Tholburn. POOMA: A high performance distributed simulation environment for scientific applications. In Supercomputing ‘95, 1995.
O. Beckmann, P. H. J. Kelly: Efficient Interprocedural Data Placement Optimisation in a Parallel Library, LCR’ 98
O. Beckmann, P. H. J. Kelly: Runtime Interprocedural Data Placement Optimisation for LazyPar allel Libraries (extended abstract), EuroPar’ 97
O.B. Beckmann and P.H.J. Kelly, A Linear Algebra Formulation for Optimising Replication in Data Parallel Programs. In LCPC’99, Springer Verlag (2000).
R. Parsons and D. Quinlan. Run time recognition of task parallelism within the P++ parallel arraycl ass library. In Proceedings of the Scalable Parallel Libraries Conference, pages 77–86. IEEE Comput. Soc. Press, October 1993.
J. Woods and W. Barkmann, Simulation Plankton Ecosystems using the Lagrangian Ensemble Method, Philosophical Transactions of the Royal Society, B343, pp. 27–31.
S.J. Fink, S.B. Baden and S.R. Kohn, Efficient Run-time Support for Irregular Black-Structured Applications, Journal of Parallel and Distributed Programming, Vol 50, No. 1, pp 61–82, 1998.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Field, A.J., Hansen, T.L., Kelly, P.H.J. (2001). Run-Time Fusion of MPI Calls in a Parallel C++ Library. In: Midkiff, S.P., et al. Languages and Compilers for Parallel Computing. LCPC 2000. Lecture Notes in Computer Science, vol 2017. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45574-4_25
Download citation
DOI: https://doi.org/10.1007/3-540-45574-4_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42862-6
Online ISBN: 978-3-540-45574-5
eBook Packages: Springer Book Archive