Overall Process

Figure 1 Process for the communicator initialization phase

In the communicator initialization phase, HCCL goes through multiple processes shown in the preceding figure: 1. Initialize the environment variables and resources. 2. Obtain the cluster information of the entire communicator. There are usually two methods:

  • Creating a communicator based on the rank table file: Generate the rank table file (cluster information configuration file) through other methods and call the HCCL communicator creation API to read the corresponding file. For details about the format requirements of the rank table file, see Cluster Configuration.

    When configuring the communicator information using the rank table file, ensure that the file path and permission are correct and the file is consistent across all ranks in the cluster. HCCL will verify the rank table consistency across ranks during the connection setup on the parameter plane of the subsequent operators. If the requirements are not met, the service will be terminated.

  • Creating a communicator based on the root rank information, or creating a communicator in cluster negotiation mode: Call the HCCL's communicator creation API to set up a socket connection with the root rank using the NIC of the host. In this way, information is aggregated and distributed to generate cluster information.

When creating a communicator based on the root rank information, ensure that the configured NIC and port are correct. If some ranks do not send information to the root rank in time due to a fault, the operation in this phase will fail.

No matter which method is used to create a communicator, HCCL finally verifies the generated cluster information to check whether the cluster hardware configuration is abnormal, for example, whether the IP addresses are duplicate, whether IPv4 and IPv6 are used together, and whether the TLS configurations are consistent.