故障信息

Ascend Device Plugin收集了内部的芯片故障、参数面网络故障和节点故障,将其作为对外的信息放在了K8sConfigMap中,一个ConfigMap放置一个节点的信息,以供外部查询和使用。

查询命令:kubectl describe cm -n kube-system mindx-dl-deviceinfo-${node_name}

Atlas A3 训练系列产品为例,查询结果回显示例如下;不同设备的回显参数可能不同,以实际为准。关键参数说明请参见表1
{"DeviceInfo":{"DeviceList":{"huawei.com/Ascend910":"Ascend910-0,Ascend910-1,Ascend910-2,Ascend910-3","huawei.com/Ascend910-Fault":"[{\"fault_type\":\"CardUnhealthy\",\"npu_name\":\"Ascend910-4\",\"large_model_fault_level\":\"SeparateNPU\",\"fault_level\":\"SeparateNPU\",\"fault_code\":\"A4028801,A8028801,80E18402,80E18401\"}]","huawei.com/Ascend910-NetworkUnhealthy":"","huawei.com/Ascend910-Unhealthy":"Ascend910-4"},"UpdateTime":1700545843},"SuperPodID":-2,"ServerIndex":-2,"CheckCode":"7e762f58333816da299481825f9a7c251a1a79428beb8d0c488fba9412e0dcf4"}
表1 参数说明

参数名

描述

huawei.com/Ascend910

当前节点可用的芯片名称信息,存在多个时用英文逗号拼接。

huawei.com/Ascend910-NetworkUnhealthy

当前节点网络不健康的芯片名称信息,存在多个时用英文逗号拼接。

huawei.com/Ascend910-Unhealthy

当前芯片不健康的芯片名称信息,存在多个时用英文逗号拼接。

huawei.com/Ascend910-Fault

数组对象,对象包含fault_type、npu_name、large_model_fault_level、 fault_level、fault_handling和fault_code等6个字段。

- fault_type

故障类型。

  • CardUnhealthy:芯片故障
  • CardNetworkUnhealthy:参数面网络故障(芯片网络相关故障)
  • NodeUnhealthy:节点故障

- npu_name

故障的芯片名称,节点故障时为空

- large_model_fault_level

故障处理类型,节点故障时取值为空。

  • NotHandleFault:不做处理
  • RestartRequest:推理场景需要重新执行推理请求,训练场景重新执行训练业务
  • RestartBusiness:需要重新执行业务
  • FreeRestartNPU:直接复位芯片并重新执行业务
  • RestartNPU:直接复位芯片并重新执行业务
  • SeparateNPU:隔离芯片
  • PreSeparateNPU:预隔离芯片,会根据训练任务实际运行情况判断是否重调度
说明:

large_model_fault_level、fault_handling和fault_level参数功能一致,推荐使用fault_handling。

- fault_level

- fault_handling

- fault_code

故障码,英文逗号拼接的字符串。芯片故障码的详细说明,可以通过芯片故障码参考文档获取对应的参考文档。

SuperPodID

超节点ID。

ServerIndex

当前节点在超节点中的相对位置。

说明:
  • 驱动上报的SuperPodID或ServerIndex的值为0xffffffff时,SuperPodID或ServerIndex的取值为-1。
  • 存在以下情况,SuperPodID或ServerIndex的取值为-2。
    • 当前设备不支持查询超节点信息。
    • 因驱动问题导致获取超节点信息失败。