昇腾社区首页
中文
注册

发现原理

芯片故障指的是NPU出现的基础软件类故障和芯片硬件类故障。断点续训特性中芯片故障的检测和上报由设备管理组件MindCluster Ascend Device Plugin负责。

NPU上报机制

NPU发生故障时,故障管理框架获取到故障信息,将该信息上传给NPU驱动的故障管理框架,NPU驱动的故障管理框架收集到故障信息后通过DCMI接口上报给MindCluster Ascend Device Plugin,如图1所示。

MindCluster Ascend Device Plugin通过DCMI接口获取芯片健康状态。当前提供如下两种获取模式:
  • 故障订阅模式。默认开启该模式,MindCluster Ascend Device Plugin启动时会先调用DCMI故障订阅接口注册监测,故障发生时驱动通过该接口将故障事件上报给MindCluster Ascend Device Plugin,故障恢复时通过该接口将恢复事件上报给MindCluster Ascend Device Plugin
  • 故障轮询模式。每隔固定时间通过故障查询接口查询芯片故障状态,当设备驱动不支持订阅能力时将切换该模式。
图1 芯片故障上报

MindCluster Ascend Device Plugin上报机制

MindCluster Ascend Device Plugin获取到芯片故障后,通过ConfigMap的形式上报给K8sMindCluster Ascend Device Plugin的故障上报机制如下:

图2 上报故障到K8s

对于不同故障处理模式,上报的路径会有一定差别。

  • 重调度模式,MindCluster Ascend Device Plugin获取到芯片故障后,将芯片故障信息写入该节点所属的Device-Info ConfigMap中,调度器可通过读取每个节点的Device-Info ConfigMap感知芯片故障。
  • 优雅容错模式:MindCluster Ascend Device Plugin获取到可恢复的芯片故障后,将芯片故障信息写入该任务所属的Reset-Info ConfigMap中,业务容器通过将Reset-Info ConfigMap挂载为文件的形式,读取文件感知芯片故障。