Sun MPI is Sun Microsystems' implementation of MPI (message-passing interface), the industry-standard specification for writing message-passing programs. Message passing is a programming model that gives the programmer explicit control over interprocess communication.
The MPI specification was developed by the MPI Forum, a group of software developers, computer vendors, academics, and computer-science researchers whose goal was to develop a standard for writing message-passing programs that would be efficient, flexible, and portable.
The outcome, known as the MPI Standard, was first published in 1993; its most recent version (MPI-2) was published in July 1997. It was well received, and there are several implementations available publicly.
Sun MPI includes many useful features:
Integration with Platform Computing's Load Sharing Facility (LSF) Suite.
Integration with the Sun Cluster Runtime Environment (CRE).
Support for multithreaded programming.
Seamless use of different network protocols; for example, if you've compiled your code on a Sun HPC system that has a Scalable Coherent Interface (SCI) network, you can run it without change on a system that has an ATM network.
Multiprotocol support such that MPI picks the fastest available medium for each type of connection (such as shared memory, SCI, or ATM).
Communication via shared memory for fast performance on clusters of SMPs.
Finely tunable shared memory communication.
Optimized collectives for symmetric multiprocessors (SMPs).
Prism support - Users can develop, run, and debug programs in the Prism programming environment.
MPI I/O support for file I/O.
Implicit coscheduling - The Sun HPC spind daemon enables certain processes of a given MPI job on a shared-memory system to be scheduled at approximately the same time as other related processes. This coscheduling reduces the load on the processors, thus reducing the effect that MPI jobs have on each other.
Sun MPI is a library of message-passing routines, including all MPI 1.1-compliant routines and a subset of the MPI 2- compliant routines. Man pages for Sun MPI routines are available online, and the routines are listed in Appendix A, Sun MPI and Sun MPI I/O Routines. Chapter 2, The Sun MPI Library describes the Sun MPI library.
File I/O in Sun MPI comprises MPI 2-compliant routines for parallel file I/O. Chapter 4, Programming With Sun MPI I/O describes these routines. Their man pages are provided online, and the routines are listed in Appendix A, Sun MPI and Sun MPI I/O Routines.
The current release of Sun MPI is optimized to run with Sun HPC ClusterTools 3.0 software using C, C++, Fortran 77, or Fortran 90.
To get started developing, executing, and debugging a Sun MPI program, see Chapter 3, Getting Started. The Sun MPI 4.0 User's Guide: With LSF and Sun MPI 4.0 User's Guide: With CRE describe using Sun MPI in more detail.