昇腾社区首页
中文
注册

组件调用流程

断点续训组件调用流程如图1所示。

图1 架构原理
表1 组件说明

名称

类型

功能说明

AI平台

用户提供

通过用户的AI平台在K8s集群中创建训练任务

MindCluster NodeD

MindX DL提供,已开源

用于上报节点心跳

MindCluster Ascend Device Plugin

MindX DL提供,已开源

用于芯片的发现与上报,故障检查与上报,执行芯片的热恢复

MindCluster Volcano

MindX DL提供,已开源

负责正常调度基于芯片的训练任务,检查故障并重调度故障的训练任务

MindCluster HCCL ControllerMindCluster Ascend Operator

MindX DL提供,MindCluster HCCL Controller已开源;MindCluster Ascend Operator未开源

  • MindCluster HCCL Controller负责生成分布式通信集合配置文件
  • MindCluster Ascend Operator负责为不同AI框架的分布式训练任务提供相应的环境变量

MindCluster Ascend Docker Runtime

MindX DL提供,已开源

负责为训练容器挂载芯片、驱动SO等文件

NPU

-

NPU芯片,AI平台中的训练资源

组件调用流程说明

  1. MindCluster Ascend Device Plugin发现和上报节点或芯片故障、健康状态。
  2. MindCluster NodeD更新节点心跳,以便MindCluster Volcano可以准确判断节点故障类型。
  3. MindCluster Volcano根据MindCluster Ascend Device Plugin提供的芯片信息,确定芯片是否正常。
  4. MindCluster Volcano会周期性检查节点、芯片、参数面网络和业务面故障情况,一旦发现故障立即重调度故障任务。

    Volcano可通过3或者4两种方式发现故障,并重调度故障任务。

  5. MindCluster Volcano按照亲和性规则选择节点和芯片,并调度训练任务到符合要求的节点上。
  6. MindCluster Ascend Device Plugin根据Pod上MindCluster Volcano指定的芯片ID来分配芯片,并将芯片IP信息写到容器上。
  7. 容器启动之前,MindCluster Ascend Docker Runtime为训练容器自动挂载NPU相关设备,驱动so等文件和目录。
  8. MindCluster HCCL Controller获取训练任务容器上的芯片信息,自动生成分布式训练任务需要的通信集合信息。MindCluster Ascend Operator将训练任务需要的相关环境变量(如集合通信信息和训练配置信息等)写入容器中。