Pod级别重调度

Pod级别重调度即每次故障只停止故障相关的Pod,重新创建并重调度故障相关的Pod后,重启训练任务。如果当前故障不能恢复,则回退至Job级重调度模式。相比于Job级别重调度,Pod级别重调度会减少部分资源调度、Pod创建的时间。

了解Pod级别重调度的关键配置步骤,请参见配置Pod级别重调度

使用约束

支持的产品型号和AI框架

表1 重调度支持的产品和框架

产品类型

硬件形态

训练框架

Atlas 训练系列产品

  • Atlas 800 训练服务器(型号 9000)
  • Atlas 800 训练服务器(型号 9010)
    说明:

    Atlas 800 训练服务器的芯片工作模式为SMP模式,且每个Pod申请的NPU数量为1、2时,不支持使用重调度模式。查询和设置NPU芯片工作模式的详细介绍请参见《Atlas 800 训练服务器 iBMC用户指南(型号 9000)》中的“查询和设置NPU芯片工作模式(npuworkmode)章节。

  • MindSpore
  • TensorFlow
  • PyTorch

Atlas A2 训练系列产品

  • Atlas 800T A2 训练服务器
  • Atlas 200T A2 Box16 异构子框
  • Atlas 900 A2 PoD 集群基础单元
  • MindSpore
  • TensorFlow
  • PyTorch

Atlas A3 训练系列产品

  • Atlas 900 A3 SuperPoD 超节点

  • Atlas 800T A3 超节点服务器
  • MindSpore
  • TensorFlow
  • PyTorch

A200T A3 Box8 超节点服务器

A200T A3 Box8 超节点服务器

  • MindSpore
  • TensorFlow
  • PyTorch

重调度原理

训练过程中如果出现了软硬件故障,将导致训练状态异常。Pod级重调度首先销毁故障的训练容器,并通知其他训练容器中的管理进程销毁所有训练进程,然后隔离故障设备,再重新将训练容器调度启动。训练容器重新启动后,通知所有容器中的管理进程重新拉起训练进程恢复训练。

  1. 检测到故障后,首先删除当前任务所有的Pod和容器。
  2. 隔离故障所在的设备,防止再次使用该设备。
  3. 重新创建和调度训练Pod和容器。
  4. 容器启动后,拉起训练进程恢复训练。