节点故障

节点故障的故障处理流程如图1所示,以acjob任务(使用Ascend Operator)为例。

图1 节点故障恢复

各步骤说明如下:

  1. 任务运行过程中,Ascend Operator持续监测Pod数量及状态、ClusterD持续监测device-info-cmnode-Info-cm
  2. NodeDAscend Device Plugin分别上报故障信息到node-Info-cmdevice-info-cm中。
  3. ClusterD读取node-Info-cmdevice-info-cm中信息并上报给VolcanoVolcano根据ClusterD上报信息删除使用了故障节点的任务的所有Pod。
  4. Ascend Operator重新创建所有Pod,并写入新的环境变量。
  5. volcano-scheduler为新Pod选择合适的节点。
  6. Pod在新节点重新拉起,从远端存储拉取之前保存的ckpt,继续训练。

默认删除使用了故障节点的任务的所有Pod,若用户使用Pod级别重调度功能,则只删除故障节点上的故障Pod,重新创建并拉起该Pod。