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