Rate This Document
Findability
Accuracy
Completeness
Readability

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.

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

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.