MPIRUN

Objective: Develop efficient support for multidisciplinary and multizonal applications that is portable over the NAS HPCCP testbed systems.

Approach: Multidisciplinary and multizonal applications are an important class of programs in the area of Computational Aerosciences. In these codes, two or more distinct parallel applications or copies of a single application are used to model a single problem. These parallel applications are usually implemented using message passing. All message passing libraries support simple applications consisting of a single program running on many processors (often called SPMD). However, support is lacking for applications where different programs are running on each processor. In the past, these applications have been implemented using extensions to the vendor supplied message passing library. For example, NAS has previously developed non-portable libraries for the iPSC/860 (the intercube library) and for the Paragon (the Map library). There are many portable message passing libraries, and some of these support the communication requirements of multidisciplinary and multizonal applications. One well known portable message passing library is Parallel Virtual Machine (PVM). Another is the new Message Passing Interface standard (MPI) developed by a group of researchers and developers from universities, government research laboratories (including NAS), and industry. PVM lacks support for fast communication operations involving sets of processors (i.e., collective communication) and efficient creation of new processor sets. This means that one must suffer a performance penalty for using PVM instead of the vendor supplied message passing library.

PVM is also not a standard, and therefore, it changes from time to time. MPI, however, does support fast collective communication and processor set creation. In addition, MPI does not suffer from any inherent performance penalties. The problem with MPI is that it only specifies message passing. There is currently no standard for loading MPI applications. To resolve this problem, MPIRUN was developed at NAS by the Parallel Systems group. MPIRUN is a portable program loader that can be used to develop MPI programs. By using MPIRUN it is possible to create complete multidisciplinary and multizonal applications that can be run on any parallel system.

Accomplishment: A member of the NAS Parallel Systems Development group has attended meetings of the MPI committee in order to ensure that support for multidisciplinary and multizonal applications would be present in the MPI standard. This was successful, and the standard was completed in April 1994. Portable MPI implementations also became available in April and were installed on the NAS HPCCP testbeds. The MPIRUN interface was developed, and implemented for all NAS HPCCP testbeds. The first beta release of MPIRUN was completed in August 1994. MPIRUN supports both C and FORTRAN, and has been installed on all NAS HPCCP testbed systems.

Significance: This work provides a mechanism to support the development of portable Multidisciplinary and Multizonal applications, and provides very good performance on machines that directly support MPI (e.g., the IBM SP-2).

Status/Plans: Further development and debugging of MPIRUN will continue until a final release version is ready. MPIRUN will also be ported to IBM Research's MPI implementation, MPIF, as soon as it becomes available. Current and future releases of MPIRUN will be available via NAS' WWW server and may be integrated in to Argonne/MS State's MPI implementation, MPICH. Finally, extensions to MPI and MPIRUN to allow dynamic load balancing will be investigated.

Point of Contact:


Return to the Table of Contents



curator: Larry Picha