Pod级别重调度
Pod级别重调度即每次故障只停止故障相关的Pod,重新创建并重调度故障相关的Pod后,重启训练任务。如果当前故障不能恢复,则回退至Job级重调度模式。相比于Job级别重调度,Pod级别重调度会减少部分资源调度、Pod创建的时间。
了解Pod级别重调度的关键配置步骤,请参见配置Pod级别重调度。
使用约束
- 在大集群训练任务中使用Pod级别重调度时,建议设置open files参数(可以打开的最大文件数目)足够大,设置过小可能导致Pod重调度出现异常。例如执行ulimit -n 100000命令,将open files参数设置为100000。
- 针对MindSpeed-LLM、MindSpeed等模型或训练脚本中定义的全局变量发生故障的场景,详细处理策略请参见FAQ。
- 当训练任务的annotation中hccl/rankIndex字段为0的Pod发生故障时,不触发Pod级别重调度和进程级别重调度,直接触发Job级别重调度。
- 请勿使用ConfigMap挂载RankTable文件,否则可能会导致任务重调度失败。
支持的产品型号和AI框架
产品类型 |
硬件形态 |
训练框架 |
---|---|---|
Atlas 训练系列产品 |
|
|
Atlas A2 训练系列产品 |
|
|
Atlas A3 训练系列产品 |
|
|
A200T A3 Box8 超节点 |
A200T A3 Box8 超节点 |
|
重调度原理
训练过程中如果出现了软硬件故障,将导致训练状态异常。Pod级别重调度首先销毁当前任务中故障的Pod和容器,并通知其他训练容器中的管理进程销毁所有训练进程,然后隔离故障设备,再重新将训练容器调度启动。待训练容器重新启动后,通知所有容器中的管理进程重新拉起训练进程恢复训练。
- 检测到故障后,仅删除当前任务中故障的Pod和容器,销毁所有训练进程。
- 隔离故障所在的设备,防止再次使用该设备。
- 重新创建和调度训练Pod和容器。
- 容器启动后,拉起训练进程恢复训练。
父主题: 故障处理