故障说明

断点续训基于故障检测能力获取集群和训练业务的故障状态,根据检测结果进行故障处理。当前,断点续训特性主要提供以下几个方面的故障检测能力:昇腾硬件故障、训练业务故障、其他故障发送方的故障。

MindCluster集群调度组件Ascend Device Plugin提供NPU芯片故障检测能力及NPU参数面网络故障检测能力,NodeD提供服务器节点故障、总线设备网络故障检测能力,ClusterD提供公共故障检测能力,Volcano提供业务面容器异常检测能力,故障检测整体架构如下图所示。

  1. 计算服务器上的Ascend Device Plugin通过驱动获取NPU芯片故障以及参数面网络故障后,将故障信息上报到管理服务器。
  2. 计算服务器上的NodeD通过驱动获取服务器节点故障、总线设备网络故障信息后,将故障信息上报到管理服务器。
  3. 计算服务器上的K8s监测训练容器状态,训练容器异常后上报到K8s中,管理服务器上的Volcano通过K8s获取训练容器的故障信息。
  4. 管理服务器上的ClusterD通过公共故障接口获取公共故障后,将接收到的信息进行汇总写入cluster-info-device-cm。
  5. (可选)管理服务器上的ClusterD将汇总收集集群内所有Ascend Device PluginNodeD上报的故障信息。

支持的故障模式

当前已支持200+故障的检测。支持的故障类型请参见表1,详细的故障说明请参见典型故障.xlsx

表1 故障类型说明

故障类型

故障说明

节点故障

包括节点健康状态和节点硬件故障。

说明:

若节点的硬件故障导致节点宕机或重启,则NodeD无法检测到具体的故障类型并上报。

芯片故障

DCMI接口上报的芯片故障和设备网络探测工具hccn_tool检测到的芯片网络故障。故障码说明请参见芯片故障码参考文档

参数面网络故障

包括芯片网络相关故障和总线设备故障。
  • 芯片网络相关故障:芯片之间进行参数交换的专用网络出现故障,如NPU网口故障。
  • 总线设备故障:Atlas A3 训练系列产品的总线设备发生故障。

业务面故障

训练任务异常退出,导致Pod的Status变为Failed状态。

说明:
可执行kubectl describe pod {pod名称} -n {NAMESPACE} |grep Status:命令,查看当前Pod的Status是否为Failed状态。回显示例如下:
Status:       Failed

公共故障

公共故障指的是其他故障发现者(非MindCluster组件)提供的故障,公共故障包括以下几种类型:NPU故障、节点故障、网络故障和存储故障。

总线设备网络故障

总线设备网络故障是针对超节点内部(包括节点内和节点间)的HCCS网络提供的NPU网络故障检测。

性能劣化故障

MindCluster结合MindStudio提供的profiling能力对集群中的性能劣化故障(慢节点)提供诊断功能。该功能提供动态使能打点和打点数据持久化功能、可动态启停,无需重启任务进行诊断,对训练无损耗。

ConfigMap说明