Rate This Document
Findability
Accuracy
Completeness
Readability

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.

Figure 1 Hyper MPI software architecture

Table 1 describes the modules in the software architecture of Hyper MPI.

Table 1 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.