组件调用流程
断点续训组件调用流程如图1所示。
名称 |
类型 |
功能说明 |
---|---|---|
AI平台 |
用户提供 |
通过用户的AI平台在K8s集群中创建训练任务 |
MindCluster NodeD |
MindX DL提供,已开源 |
用于上报节点心跳 |
MindCluster Ascend Device Plugin |
MindX DL提供,已开源 |
用于芯片的发现与上报,故障检查与上报,执行芯片的热恢复 |
MindCluster Volcano |
MindX DL提供,已开源 |
负责正常调度基于芯片的训练任务,检查故障并重调度故障的训练任务 |
MindCluster HCCL Controller或MindCluster Ascend Operator |
MindX DL提供,MindCluster HCCL Controller已开源;MindCluster Ascend Operator未开源 |
|
MindCluster Ascend Docker Runtime |
MindX DL提供,已开源 |
负责为训练容器挂载芯片、驱动SO等文件 |
NPU |
- |
NPU芯片,AI平台中的训练资源 |
组件调用流程说明
- MindCluster Ascend Device Plugin发现和上报节点或芯片故障、健康状态。
- MindCluster NodeD更新节点心跳,以便MindCluster Volcano可以准确判断节点故障类型。
- MindCluster Volcano根据MindCluster Ascend Device Plugin提供的芯片信息,确定芯片是否正常。
- MindCluster Volcano会周期性检查节点、芯片、参数面网络和业务面故障情况,一旦发现故障立即重调度故障任务。
- MindCluster Volcano按照亲和性规则选择节点和芯片,并调度训练任务到符合要求的节点上。
- MindCluster Ascend Device Plugin根据Pod上MindCluster Volcano指定的芯片ID来分配芯片,并将芯片IP信息写到容器上。
- 容器启动之前,MindCluster Ascend Docker Runtime为训练容器自动挂载NPU相关设备,驱动so等文件和目录。
- MindCluster HCCL Controller获取训练任务容器上的芯片信息,自动生成分布式训练任务需要的通信集合信息。MindCluster Ascend Operator将训练任务需要的相关环境变量(如集合通信信息和训练配置信息等)写入容器中。
父主题: 实现原理和方案