| Edgar Gabriel, Graham E. Fagg, George Bosilca, Thara Angskun, Jack J. Dongarra, Jeffrey M. Squyres, Vishal Sahay, Prabhanjan Kambadur, Brian Barrett, Andrew Lumsdaine, Ralph H. Castain, David J. Daniel, Richard L. Graham, Timothy S. Woodall
Open MPI is a new, production-quality implementation of the Message Passing Interface (MPI-2) that focuses on component-based design. It provides a unique combination of features not available in previous open-source MPI implementations. The component architecture allows for stable third-party research and run-time composition of software add-ons. Open MPI addresses challenges in large-scale computing, including process control, resource exhaustion, latency, fault tolerance, and optimized collective operations. It supports multiple network protocols and devices, including TCP/IP, shared memory, Myrinet, Quadrics, and Infiniband. Open MPI also provides mechanisms for handling network transmission errors and process failures, such as checkpointing and adaptive failure handling.
The Open MPI design is centered around the MPI Component Architecture (MCA), which manages component frameworks and provides services to them. The MCA allows for the selection and use of modules based on run-time parameters. Open MPI includes several component frameworks, such as the Point-to-point Transport Layer (PTL), Point-to-point Management Layer (PML), Collective Communication (COLL), Process Topology (TOPO), and Reduction Operations. These frameworks provide various functionalities for parallel computing, including message fragmentation, scheduling, and re-assembly, as well as support for collective operations and parallel I/O.
Open MPI is implemented using an object-oriented approach with single inheritance and reference counting-based memory management. It offers three mechanisms for module discovery and management: static linking during configuration, shared library compilation, and binary distribution. Open MPI provides performance results showing that its collective operations are comparable to those of LAM/MPI for large message sizes, with slight overhead for short messages due to missing latency optimizations.
Open MPI is a new implementation of the MPI standard that provides functionality not available in any single, production-quality MPI implementation. It supports all of MPI-2, multiple concurrent user threads, and multiple options for handling process and network failures. The Open MPI group is working on establishing a proper legal framework to allow third-party developers to contribute source code to the project. The first full release of Open MPI is planned for the 2004 Supercomputing Conference, with an initial beta release planned for mid-2004.Open MPI is a new, production-quality implementation of the Message Passing Interface (MPI-2) that focuses on component-based design. It provides a unique combination of features not available in previous open-source MPI implementations. The component architecture allows for stable third-party research and run-time composition of software add-ons. Open MPI addresses challenges in large-scale computing, including process control, resource exhaustion, latency, fault tolerance, and optimized collective operations. It supports multiple network protocols and devices, including TCP/IP, shared memory, Myrinet, Quadrics, and Infiniband. Open MPI also provides mechanisms for handling network transmission errors and process failures, such as checkpointing and adaptive failure handling.
The Open MPI design is centered around the MPI Component Architecture (MCA), which manages component frameworks and provides services to them. The MCA allows for the selection and use of modules based on run-time parameters. Open MPI includes several component frameworks, such as the Point-to-point Transport Layer (PTL), Point-to-point Management Layer (PML), Collective Communication (COLL), Process Topology (TOPO), and Reduction Operations. These frameworks provide various functionalities for parallel computing, including message fragmentation, scheduling, and re-assembly, as well as support for collective operations and parallel I/O.
Open MPI is implemented using an object-oriented approach with single inheritance and reference counting-based memory management. It offers three mechanisms for module discovery and management: static linking during configuration, shared library compilation, and binary distribution. Open MPI provides performance results showing that its collective operations are comparable to those of LAM/MPI for large message sizes, with slight overhead for short messages due to missing latency optimizations.
Open MPI is a new implementation of the MPI standard that provides functionality not available in any single, production-quality MPI implementation. It supports all of MPI-2, multiple concurrent user threads, and multiple options for handling process and network failures. The Open MPI group is working on establishing a proper legal framework to allow third-party developers to contribute source code to the project. The first full release of Open MPI is planned for the 2004 Supercomputing Conference, with an initial beta release planned for mid-2004.