开发者
资源

任务运行过程中,重启device-plugin,NPU故障重调度未执行

问题现象描述

任务运行过程中,重启device-plugin后的一段时间内,若发生NPU故障,会概率性的导致NPU故障重调度不执行。

原因分析

重启device-plugin的过程中,会导致该node所拥有的NPU数量降到0;从而导致该node在MindCluster Volcano上被设置为notReady状态(直到下一个改变node状态的事件发生才会被设置为ready)。该节点的故障信息因此不会传递给ascend-volcano-plugin插件,从而导致该插件无法探查到NPU芯片的故障,导致NPU故障重调度不会被执行。

解决措施

可选择以下两种方式来解决该问题。

  • 由于该问题为MindCluster Volcano v1.4.0版本问题(开源社区版),可以通过删除MindCluster VolcanoPod方式解决。删除MindCluster VolcanoPod的命令如下(其中volcano-scheduler的Pod的名称需要根据实际情况填写)。
    kubectl delete pod -n volcano-system   volcano-scheduler-xxxxxxxxx
  • 如果使用的K8s是1.17及以上版本,可通过部署v1.7.0版本的MindCluster Volcano来解决该问题。