Skip to main content

Run-Time Fusion of MPI Calls in a Parallel C++ Library

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2017))

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

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. O. Beckmann, P. H. J. Kelly: Efficient Interprocedural Data Placement Optimisation in a Parallel Library, LCR’ 98

    Google Scholar 

  3. O. Beckmann, P. H. J. Kelly: Runtime Interprocedural Data Placement Optimisation for LazyPar allel Libraries (extended abstract), EuroPar’ 97

    Google Scholar 

  4. 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).

    Google Scholar 

  5. 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.

    Google Scholar 

  6. J. Woods and W. Barkmann, Simulation Plankton Ecosystems using the Lagrangian Ensemble Method, Philosophical Transactions of the Royal Society, B343, pp. 27–31.

    Google Scholar 

  7. 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.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics