Skip to main content

Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries

  • Chapter

Abstract

Parallel numerical software based on the message passing model is enormously complicated. This paper introduces a set of techniques to manage the complexity, while maintaining high efficiency and ease of use. The PETSc 2.0 package uses object-oriented programming to conceal the details of the message passing, without concealing the parallelism, in a high-quality set of numerical software libraries. In fact, the programming model used by PETSc is also the most appropriate for NUMA shared-memory machines, since they require the same careful attention to memory hierarchies as do distributed-memory machines. Thus, the concepts discussed are appropriate for all scalable computing systems. The PETSc libraries provide many of the data structures and numerical kernels required for the scalable solution of PDEs, offering performance portability.

Keywords

  • Message Passing Interface
  • Message Passing
  • Krylov Subspace
  • Application Code
  • Ghost Point

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-1-4612-1986-6_8
  • Chapter length: 40 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   109.00
Price excludes VAT (USA)
  • ISBN: 978-1-4612-1986-6
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   139.00
Price excludes VAT (USA)
Hardcover Book
USD   169.00
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Gagan Agrawal, Alan Sussman, and Joel Saltz. Compiler and runtime support for unstructured and block structured problems. In Proceedings of Supercomputing ‘83, pages 578–587, 1993.

    Google Scholar 

  2. Brett M. Averick, Richard G. Carter, and Jorge J. Moré. The MINPACK-2 test problem collection. Technical Report ANL/MCSTM-150, Argonne National Laboratory, 1991.

    Google Scholar 

  3. Satish Balay, William Gropp, Lois Curfman McInnes and Barry Smith. PETSc 2.0 User’s Manual. Technical Report ANL-95/11, Argonne National Laboratory, November 1995.

    Google Scholar 

  4. Satish Balay, William Gropp, Lois Curfman McInnes, and Barry Smith. PETSc home page. http://www.mcs.anl.gov/petsc/petsc.html, December 1996.

    Google Scholar 

  5. A. M. Bruaset and H. P. Langtangen. A Comprehensive set of Tools for Solving Partial Differential Equations: Diffpack. In M. Dæhlen and A. Tveito, editors, Numerical Methods and Software Tools in Industrial Mathematics, pages 63–92. Birkhäuser, 1997.

    Google Scholar 

  6. Greg Burns, Raja Daoud and James Vaigl. LAM: An open cluster environment for MPI. In John W. Ross, editor, Proceedings of Supercomputing Symposium ‘84, pages 379–386. University of Toronto, 1994.

    Google Scholar 

  7. William Gropp, Ewing Lusk, Nathan Doss and Anthony Skjellum. A high-performace, portable implementation of the MPI message passing interface standard. Parallel Computing, 22:789–828, 1996.

    MATH  CrossRef  Google Scholar 

  8. William Gropp, Ewing Lusk, Nathan Doss and Anthony Skjellum. MPICH home page. http://www.mcs.anl.gov/mpi/mpich/index.html, December 1996.

    Google Scholar 

  9. William Gropp, Ewing Lusk and Anthony Skjellum. Using MPI: Portable Parallel Programming with the Message Passing Interface. MIT Press, 1994.

    Google Scholar 

  10. R. W. Hockney and C. R. Jesshope. Parallel Computers 2. Adam Hilger, 1988.

    MATH  Google Scholar 

  11. Scott A. Hutchinson, John N. Shadid and Ray S. Tuminaro. Aztec User’s Guide Version 1.1. Technical Report SAND95/1559, Sandia National Laboratories, October 1995.

    CrossRef  Google Scholar 

  12. Mark T. Jones and Paul E. Plassmann. BlockSolve v1.1: Scalable library software for the parallel solution of sparse linear systems. Technical Report ANL-92/46, Argonne National Laboratory, 1992.

    Google Scholar 

  13. Mark T. Jones and Paul E. Plassmann. A parallel graph coloring heuristic. SIAM J. Sci. Comput., 14(3):654–669, 1993.

    MathSciNet  MATH  CrossRef  Google Scholar 

  14. Jorge J. Moré, Danny C. Sorenson, Burton S. Garbow, and Kenneth E. Hillstrom. The MINPACK project. In Wayne R. Cowell, editor, Sources and Development of Mathematical Software, pages 88–111, 1984.

    Google Scholar 

  15. MPI: A message-passing interface standard. International J. Super-computing Applications, 8(3/4), 1994.

    Google Scholar 

  16. NAS Parallel Benchmarks home page. http://www.nas.nasa.gov/NAS/NPB/index.html, December 1996.

    Google Scholar 

  17. J. V. W. Reynders, J. C. Cummings, P. J. Rinker, M. Tholburn, M. Srikant S. Banerjee, S. Karmesin, S. Atlas, K. Keahey and W. F. Humphrey. POOMA: A Frame Work for Scientific Computing Applications on Parallel Architectures, chapter 14. 1996.

    Google Scholar 

  18. Barry F. Smith and William D. Gropp. The design of data-structureneutral libraries for the iterative solution of sparse linear systems. Scientific Programming, 5:329–336, 1996.

    Google Scholar 

  19. Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker and Jack Dongarra. MPI• The Complete Reference. MIT Press, 1995.

    Google Scholar 

  20. Thinking Machines Corporation. Users Manual for CM-Fortran. Thinking Machines Corporation, 1993.

    Google Scholar 

  21. M. D. Tidriri. Krylov methods for compressible flows. Technical Report 95–48, ICASE, June 1995.

    Google Scholar 

  22. D. Whitfield and L. Taylor. Discretized Newton-relaxation solution of high resolution flux-difference split schemes. In Proceedings of the AIAA Tenth Computational Fluid Dynamics Conference, pages 134–145, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and Permissions

Copyright information

© 1997 Springer Science+Business Media New York

About this chapter

Cite this chapter

Balay, S., Gropp, W.D., McInnes, L.C., Smith, B.F. (1997). Efficient Management of Parallelism in Object-Oriented Numerical Software Libraries. In: Arge, E., Bruaset, A.M., Langtangen, H.P. (eds) Modern Software Tools for Scientific Computing. Birkhäuser, Boston, MA. https://doi.org/10.1007/978-1-4612-1986-6_8

Download citation

  • DOI: https://doi.org/10.1007/978-1-4612-1986-6_8

  • Publisher Name: Birkhäuser, Boston, MA

  • Print ISBN: 978-1-4612-7368-4

  • Online ISBN: 978-1-4612-1986-6

  • eBook Packages: Springer Book Archive