昇腾社区首页
中文
注册

SubscribeRankTable

功能说明

接收客户端订阅RankTable请求。服务端为每一个任务分配一个消息队列,并侦听消息队列是否存在待发送的消息,若存在则通过gRPC stream发送给客户端。

函数原型

rpc SubscribeRankTable(ClientInfo) returns (stream RankTableStream) {}

输入参数说明

参数

类型(Protobuf定义)

说明

ClientInfo

message ClientInfo{

string jobId = 1;

string role = 2;

}

ClientInfo.jobId:任务ID。

ClientInfo.role:客户端角色。

返回值说明

返回值

类型(Protobuf定义)

说明

Stream

grpc stream

该接口返回gRPC stream(返回值的具体数据结构基于客户端选择的编程语言)。

客户端可以调用stream的Receive方法(具体方法名基于客户端选择的编程语言)接收服务端推送的数据。

发送数据说明

返回值

类型(Protobuf定义)

说明

RankTableStream

message RankTableStream{

string jobId = 1;

string rankTable = 2;

}

RankTableStream.jobId:任务ID。

RankTableStream.rankTable:RankTable信息,各字段的详细说明如表1所示。

global-ranktable文件说明

ClusterD会生成global-ranktable在RankTable字段作为返回消息。global-ranktable中部分字段来自于hccl.json文件,关于hccl.json文件的详细说明请参见hccl.json文件说明

  • 示例如下。
    {
        "version": "1.0",
        "status": "completed",
        "server_group_list": [
            {
                "group_id": "2",
                "deploy_server": "0",
                "server_count": "1",
                "server_list": [
                    {
                        "device": [
                            {
                                "device_id": "x",
                                "device_ip": "xx.xx.xx.xx",
                                "device_logical_id": "x",
                                "rank_id": "x"
                            }
                        ],
                        "server_id": "xx.xx.xx.xx",
                        "server_ip": "xx.xx.xx.xx"
                    }
                ]
            }
        ]
    }
  • Atlas A3 训练系列产品示例如下。
    {
        "version": "1.2",
        "status": "completed",
        "server_group_list": [
            {
                "group_id": "2",
                "deploy_server": "1",
                "server_count": "1",
                "server_list": [
                    {
                        "device": [
                            {
                                "device_id": "0",
                                "device_ip": "xx.xx.xx.xx",
                                "super_device_id": "xxxxx",
                                "device_logical_id": "0",
                                "rank_id": "0"
                            }
                        ],
                        "server_id": "xx.xx.xx.xx",
                        "server_ip": "xx.xx.xx.xx"
                    }
                ],
                "super_pod_list": [
                    {
                        "super_pod_id": "0",
                        "server_list": [
                            {
                                "server_id": "xx.xx.xx.xx"
                            }
                        ]
                    }
                ]
            }
        ]
    }
表1 global-ranktable字段说明

字段

说明

version

版本

status

状态

server_group_list

服务组列表

group_id

任务组编号

server_count

服务器数量

server_list

服务器列表

server_id

节点的IP

server_ip

Pod IP

device_id

NPU的设备ID

device_ip

NPU的设备IP

super_device_id

Atlas A3 训练系列产品NPU的设备ID

rank_id

NPU对应的训练rank ID

device_logical_id

NPU的逻辑ID

super_pod_list

超节点列表

super_pod_id

逻辑超节点ID