Impact of the implementation of MPI point-to-point communications on the performance of two general sparse solvers
We examine the mechanics of the send and receive mechanism of MPI and in particular how we can implement message passing in a robust way so that our performance is not significantly affected by changes to the MPI system. This leads us to using the Isend/Irecv protocol which will entail sometimes significant algorithmic changes. We discuss this within the context of two different algorithms for sparse Gaussian elimination that we have parallelized. One is a multifrontal solver called MUMPS, the other is a supernodal solver called SuperLU. Both algorithms are difficult to parallelize on distributed memory machines. Our initial strategies were based on simple MPI point-to-point communication primitives. With such approaches, the parallel performance of both codes are very sensitive to the MPI implementation, the way MPI internal buffers are used in particular. We then modified our codes to use more sophisticated nonblocking versions of MPI communication. This significantly improved the performance robustness (independent of the MPI buffering mechanism) and scalability, but at the cost of increased code complexity.
- Research Organization:
- Lawrence Berkeley National Lab. (LBNL), Berkeley, CA (United States)
- Sponsoring Organization:
- USDOE Director. Office of Science. Office of Advanced Computing Research. Division of Mathematical Information and Computational Science; National Science Foundation Cooperative Agreement ACI-9619020 and Grant ACI-9813362; France-Berkeley Fund, Engineering and Physical Sciences Research Council Grant GR/M78502
- DOE Contract Number:
- DE-AC03-76SF00098
- OSTI ID:
- 861282
- Report Number(s):
- LBNL-48968; PACOEJ; R&D Project: 618310; BnR: KJ0102000; TRN: US200601%%759
- Journal Information:
- Parallel Computing, Vol. 29, Issue 7; Related Information: Journal Publication Date: 07/2003; ISSN 0167-8191
- Country of Publication:
- United States
- Language:
- English
Similar Records
Analysis, tuning and comparison of two general sparse solvers for distributed memory computers
Exploring MPI Communication Models for Graph Applications Using Graph Matching as a Case Study