mindx_elastic.recover_manager.DLRecoverManager

DLRecoverManager类提供恢复训练的接口片上内存,提供进程级恢复和片上内存故障的进程级在线恢复相关接口。客户端以Python包形式import到客户端代码中。

DLRecoverManager类提供的接口可能抛出Exception异常,调用方自行捕获异常、处理异常。

__init__(self, info: pb.ClientInfo, server_addr: str, secure_conn: bool = True, cert_path: str = "")

构造DLRecoverManager,用于后续的通信。

表1 参数说明

参数

类型

说明

info

pb.ClientInfo

info.ip str类型,客户端ip(暂未使用,预留)。

info.port: str类型,客户端端口(暂未使用,预留)。

info.taskId: str类型,任务ID。

info.role: str类型,客户端角色。

server_addr

str

服务端地址

secure_conn

bool

是否开启安全连接,默认为True。

cert_path

str

安全证书地址,默认为""。

register(self, request: pb.ClientInfo) -> pb.Status

注册客户端,服务端为request指定的任务做恢复前的初始化操作。

表2 参数说明

参数

类型

说明

request

pb.ClientInfo

request.ip: str类型,客户端ip(暂未使用,预留)。

request.port: str类型,客户端端口(暂未使用,预留)。

request.taskId: str类型,任务ID。

request.role: str类型,客户端角色。

表3 返回值说明

返回值类型

说明

Status

Status.info:str类型,返回信息描述

Status.code: int类型,0表示成功,其他值表示失败。关于返回码的详细说明请参见返回码说明

start_subscribe(self)

客户端和服务端建立gRPC长链接,服务端将通过该长链接与客户端单向通信。比如发生故障时,服务端给客户端发送停止训练、全局故障rank信息等。

init_clusterd(self)

客户端初始化ClusterD服务端状态,保证后续任务正常注册、建立链接。