参数面网络故障
NPU的参数面网络故障包括芯片网络相关故障和灵衢总线设备超节点故障。芯片网络相关故障指每个NPU上均有一张独立的网卡用作参数通信,参数面网络出现故障时,将导致训练任务中断或者训练任务性能较差的问题。灵衢总线设备超节点发生故障后,将根据故障级别进行相应的重调度处理。

参数面网络故障不会直接触发任务重调度,如果需要对参数面网络故障进行故障处理,需要同时开启业务面故障无条件重试能力。当参数面故障导致训练任务异常中断时才触发任务重调度。
芯片网络和灵衢总线设备超节点故障的检测由设备管理组件Ascend Device Plugin负责,详细原理如图1所示。
关键步骤说明
芯片网络故障:
- NPU定时检测和网关地址的通信是否正常,探测周期为2.5秒,通过故障管理框架上报结果。
- RoCE驱动实时监测NPU网口Link状态,通过故障管理框架上报Linkdown或Linkup事件。
- Ascend Device Plugin通过DCMI接口从故障管理框架获取信息,通过轮询的方式查询网关探测结果,并实时订阅网口Linkdown或Linkup事件。统计网关探测异常持续时间、Linkdown持续时间,如果大于RoCE网络超时时间(默认为30秒、可配置)则标记为NPU网络故障。
灵衢总线设备超节点故障:
- 灵衢总线设备超节点将设备发生的故障写入本地队列中。
- 灵衢超节点查询接口通过查询上述队列,将故障缓存至查询接口,并进行汇总处理。
- Ascend Device Plugin通过订阅或轮询的方式调用接口获取灵衢总线设备超节点相关故障,并写入device-info-cm进行上报。
故障上报机制
- 芯片发生网络故障时,NPU故障管理框架获取到故障信息,将该信息上传给NPU驱动,NPU驱动收集到故障信息后,通过DCMI接口上报给Ascend Device Plugin。Ascend Device Plugin通过DCMI接口获取芯片健康状态。当前提供如下两种获取模式:
- 故障订阅模式。默认开启该模式,Ascend Device Plugin启动时会先调用DCMI故障订阅接口注册监测,故障发生时驱动通过该接口将故障事件上报给Ascend Device Plugin,故障恢复时通过该接口将恢复事件上报给Ascend Device Plugin。
- 故障轮询模式。每隔固定时间通过故障查询接口查询芯片故障状态,当设备驱动不支持订阅能力时将切换该模式。
- 灵衢总线设备超节点发生故障时,Ascend Device Plugin通过灵衢超节点查询接口获取故障信息,当前故障查询提供两种模式:
- 故障订阅模式:默认开启该模式,在Ascend Device Plugin启动过程中向灵衢超节点查询接口注册故障处理回调,故障发生后该回调被调用后将故障上报给Ascend Device Plugin,故障恢复时通过该接口上报恢复事件。
- 故障轮询模式:Ascend Device Plugin每隔5分钟调用一次全量故障查询接口。
Ascend Device Plugin上报机制
Ascend Device Plugin获取到参数面网络故障后,通过ConfigMap的形式上报给K8s,Ascend Device Plugin的故障上报机制如图2所示。
参数面网络故障通过device-info-cm上报,与芯片故障同时上报,写入ConfigMap的不同字段中。参数面网络故障不支持优雅容错模式,因此只需要将故障信息写入device-info-cm中即可。其中字段说明见表1。
父主题: 故障发现