MPI/Pro® is the leading commercial message passing middleware based on the MPI (Message Passing Interface) standard. MPI/Pro optimizes time-to-solution for parallel processing applications in key industrial and embedded applications. RunTime Computing Solutions offers MPI/Pro on a wide variety of operating systems and interconnects, including Linux and specialized embedded Real-Time Operating Systems (RTOSes), as well as TCP/IP, InfiniBand®, and RapidIO.
Recognizing that the MPI Standards deliver value to customers by providing a performance-portable specification, MPI/Pro achieves system scalability for applications while balancing performance criteria (latency versus overhead) and resource utilization to optimize application time-to-solution. For many applications, particularly those with complex and varied message size characteristics or those where overlapping of communication and computation is achievable in the application, time-to-solution is far more important than “micro benchmarks” such as zero message latency.
Thread-safe, multithreaded capable progress is a hallmark of MPI/Pro. MPI/Pro also supports polling-optimized, point-to-point communication options. Through runtime options, developers can choose the progress and message completion properties that optimize application runtime, rather than micro benchmarks.
A key value-add of MPI/Pro for High Performance Embedded Computing (HPEC) comes in the ability of RunTime Computing to provide specialized support for embedded networks, COTS hardware (e.g., VME, VPX, CompactPCI, ATCA), RapidIO, and other specialized HPEC requirements, as well as supporting standard environments including Linux, and TCP/IP over Ethernet. RunTime accelerates the adoption of COTS networks, operating systems, and development tools, while providing optimized performance for such environments. RunTime Computing also undertakes “NRE-based” engineering tasks to enable specialized platforms with high quality support for MPI, as well as the long development and support life cycles often associated with such systems.
Architecture of MPI/Pro
The creators of MPI/Pro were co-authors of the MPI standards (1 and 2) and also of the original MPICH freeware. MPI/Pro uses an interrupt-driven architecture and supports the progress rule to ensure scalability. Minimum time-to-solution, rather than lowest latency, is one of the key values of MPI/Pro. Lack of polling also leads to higher bandwidth and greater overlapping of communication and computation than are possible in polling or quasi-polling implementations. Customers can choose low latency and weak progress for applications with short message characteristics.
Complete MPI-2 Support
MPI/Pro has all of the functionality of MPI-2, including all of MPI 1.2 plus one-sided communication, dynamic process management, parallel file I/O and extended collective operations.