参数面网络故障处理流程如图1所示,以acjob任务(使用Ascend Operator)为例。
任务运行过程中,正常运行的容器将ckpt存入远端存储,Ascend Operator持续监测Pod数量及状态、volcano-scheduler监测Pod状态。
Ascend Device Plugin检测到参数面网络故障,并保存在device-info-cm中。
参数面网络故障中芯片网络相关故障导致Pod状态变成Failed。Volcano检测Pod状态,当Pod为Failed状态时,触发重调度处理。
Volcano检测到device-info-cm中写入总线设备相关故障或存在ErrorCqe故障,触发重调度处理。
Ascend Operator重新创建Pod。
volcano-scheduler重新调度Pod。
Pod在新节点重新拉起后,从远端存储拉取之前保存的ckpt,继续训练。
默认删除任务的所有Pod,若用户使用Pod级别任务重调度功能,则只删除故障Pod,重新创建并拉起该Pod。