断点续训针对芯片故障,支持按故障级别、故障频率和故障时间的配置进行处理。
faultCode.json、faultCustomization.json为系统配置文件,若用户无特殊需求,请勿随意修改。若用户需要修改故障码对应的故障级别,可以通过由faultCode.json和faultCustomization.json创建的mindx-dl-fault-config文件实现。
断点续训针对芯片故障的不同级别进行分级处理。若用户需要修改故障码的故障级别,操作指导请参见(可选)配置芯片故障级别。
Ascend Device Plugin从驱动获取到芯片故障码后,将根据故障码对设备及业务的影响将故障划分为以下8种级别,详细说明请参见表1。
故障处理策略 |
说明 |
重调度处理 |
优雅容错处理 |
---|---|---|---|
NotHandleFault |
对业务无影响的故障,无需处理 |
暂不处理 |
暂不处理 |
RestartRequest |
影响业务执行,需要重新执行业务请求 |
隔离设备,进行任务重调度 |
推理场景重执行推理请求,训练场景重新执行训练业务 |
RestartBusiness |
影响业务执行,需要重新执行业务 |
重新执行业务 |
|
FreeRestartNPU |
影响业务执行,待芯片空闲时需复位芯片 |
等待芯片空闲后复位芯片 |
|
RestartNPU |
影响业务执行,需立即复位芯片 |
立即停止训练业务,复位芯片后重新执行业务 |
|
SeparateNPU |
无法恢复,需要隔离芯片 |
隔离设备,进行任务重调度 |
|
PreSeparateNPU |
暂不影响业务,后续不再调度任务到该芯片 |
预隔离芯片 |
预隔离芯片 |
SubHealthFault |
根据任务yaml中配置的subHealthyStrategy参数取值进行处理,处理策略如下: |
当芯片出现亚健康故障时,需根据配置yaml策略决定是否忽略亚健康故障或进行重调度
说明:
如果后续芯片出现其他级别故障,此时 SubHealthFault 处理策略不影响其他级别的故障处理。 |
根据策略决定是否忽略亚健康故障或进行重调度 |
断点续训针对芯片故障的故障频率及时长进行处理。某些硬件类故障可能在一次训练任务中反复出现,导致训练任务中断反复进行重调度。集群调度组件针对这些故障对应的故障码,提供了提升故障级别的初始化配置文件faultCustomization.json。
当前faultCustomization.json文件中仅提供对可识别的硬件类故障进行初始化配置。
用户不手动修改faultCustomization.json文件时,Ascend Device Plugin按照faultCustomization.json的默认配置(默认值)进行故障处理。
一级参数名称 |
二级参数名称 |
说明 |
---|---|---|
GraceTolerance |
- |
优雅容错相关配置。
说明:
GraceTolerance及其子参数不存在或者超出取值范围,则使用默认值。 |
- |
WaitProcessReadCMTime |
使用优雅容错模式时,等待管理进程读取ConfigMap文件的时间,单位为秒,取值范围为5~90,默认值为30。 |
- |
WaitDeviceResetTime |
使用优雅容错模式时,等待芯片重启的最大时长,单位为秒,取值范围为60~180,默认值为150。 |
- |
WaitFaultSelfHealingTime |
使用优雅容错模式时,等待RestartBusiness级别故障恢复时间,单位为秒,取值范围为1~30,默认值为15。 |
FaultFrequency |
- |
自定义故障频率,即某一故障在时间窗口内出现次数达到次数上限时,根据配置的故障处理策略进行处理。
说明:
|
- |
EventId |
故障码ID。
说明:
每个故障码(EventId)只允许配置一个FaultFrequency参数,如果配置了多个,则只有第一条正确的会生效。 |
- |
TimeWindow |
时间窗口,即统计当前时间减去TimeWindow的时间至当前时间,这段时间范围内的故障次数,单位为秒,取值范围为60~864000。 |
- |
Times |
任务支持的断点续训最大次数,即同一个故障出现的次数上限,取值范围为1~100。如果在时间窗口内该故障出现次数大于或等于该值,则按照FaultHandling中定义的策略处理和上报。 |
- |
FaultHandling |
达到断点续训最大次数后故障的处理策略,支持配置不同级别的故障处理策略。
说明:
|
FaultDuration |
- |
自定义故障超时策略,当某一故障持续时间达到配置上限时,该故障会按照指定的故障处理策略进行处理。
说明:
|
- |
EventId |
故障ID。
说明:
每个故障码(EventId)只允许配置一个FaultDuration参数,如果配置了多个,则只有第一条正确的会生效。 |
- |
FaultTimeout |
|
- |
RecoverTimeout |
故障恢复时间超过该值,则上报故障恢复,单位为秒,取值范围为0~86400,默认值说明如下。
|
- |
FaultHandling |
超过故障持续时间后的故障处理策略,支持配置不同级别的故障处理策略。
说明:
超过故障持续时间后的故障处理策略,建议高于故障本身的故障处理策略,否则配置不生效。 |
注
|