Software Architecture
Hyper MPI adds and optimizes customized components based on the Modular Component Architecture (MCA) framework of Open MPI and the hierarchical structure of Open UCX.
- Similarities with Open MPI:
Hyper MPI consists of two software layers: UCX layer and OMPI layer, that is, Hyper Unified Communication X (HUCX) and Hyper MPI.
- Differences from Open MPI:
Different from Open MPI that uses the P2P communication framework, Hyper MPI uses X Unified Communication Group (XUCG) based on the UCX framework. The southbound interface of XUCG depends on the unified communication transport (UCT) layer and unified communication protocol (UCP) layer. The northbound interface supports the collective operation components of the Open MPI Modular Component Architecture (MCA).
Figure 1 shows the software architecture of Hyper MPI.
Table 1 describes the modules in the software architecture of Hyper MPI.
|
Software Layer |
Module |
Description |
|---|---|---|
|
Hyper MPI |
P2P |
P2P operation component in the MCA framework. |
|
COLL |
Collective operation component in the MCA framework. |
|
|
XUCG |
UCG |
Collective communication module. It is a new collective communication component in UCX, including the UCG communication framework and the UCG algorithm acceleration component. |
|
HUCX |
UCP |
Protocol layer API, which constructs the implementation of common protocols based on the UCT, including MPI, OpenSHMEM, and PGAS. |
|
UCT |
Communication transmission module, which is based on the underlying APIs of hardware and provides basic network sending and receiving operations. |
|
|
UCS |
Common services and tools, including a series of data structures, algorithms, and common system tools. |
