GPU资源拓扑

更新时间:
复制为 MD 格式

操作系统控制台提供了两种GPU集群统一视图,用于查看集群GPU资源占用情况以及分析分布式训练集合通信。针对集群多机训练场景,帮助快速定位解决任务HANG、任务慢节点性能衰退、任务失败等常见问题。如比较典型的任务HANG或者性能衰退问题场景下,通常由于每个任务涉及节点较多,需要逐个节点切换,查看资源监控大盘或查询日志,无法做到快速确认是问题节点。通过GPU资源拓扑,可提供一个统一的视图以发现问题、查看资源情况。

功能介绍

GPU资源拓扑提供的能力:

  • 资源拓扑视图:集群GPU资源繁忙、空闲状态,作业占用资源详情。

  • 集群通信视图:任务集合通信拓扑分析、通信数据流向分析、通信异常。

配置开启GPU资源拓扑

支持环境

资源类型:支持ACK GPU集群

GPU卡:NVIDIA GPU

NCCL版本:v2.22.23

该功能要求SysOM组件版本为3.9.1,若低于3.9.1请先更新SysOM组件版本。

配置并开启功能

您可以通过创建并应用一个自定义配置模板,为指定的ACK GPU集群开启或关闭GPU资源拓扑功能。

  1. 登录SysOM控制台,在左侧导航栏选择 组件管理

  2. 单击创建配置

  3. 创建配置面板中,设置以下参数:

    • 配置名称:输入一个便于识别的名称,例如 GPU资源拓扑

    • 开启GPU拓扑功能:确保此复选框处于勾选状态。image

      重要

      开启GPU资源拓扑会将Sysom Agent的内存限制上调100MB(如默认是350MB,上调后为450MB)。

  4. 单击确定,完成配置模板的创建。

应用配置到目标集群

此步骤将上一步创建的配置模板应用到您的GPU集群,使功能正式生效。

  1. 在左侧导航栏中,选择 资源管理 > 已纳管

  2. 单击集群,找到您要操作的ACK GPU集群,在其右侧操作列单击 变更组件image.png

  3. 在 配置模板 下拉列表中,选择您在步骤一中创建的配置模板(例如 GPU资源拓扑)。image.png

  4. 单击提交,等待组件变更任务完成。任务完成后,GPU资源拓扑功能即在目标集群生效。image.png

关闭GPU资源拓扑

如果您需要关闭此功能,可以修改配置模板并重新应用。

  1. 组件管理页面,找到您之前创建的配置模板,单击修改

  2. 取消勾选开启GPU拓扑功能,然后单击确定image.png

  3. 重复应用配置到目标集群的操作,将修改后的配置模板重新应用到集群。变更完成后,功能即被关闭。

GPU资源拓扑说明

点击GPU性能与诊断 > GPU资源拓扑,在集群选项中可以查看目标ACK GPU集群ID

image.png

实例列表

实例列表下拉框分别支持任务列表、机器列表、POD列表三项,并可选择目标任务、机器或者POD查询拓扑关系。若没有选择任何实例列表,且未指定任何查询对象,则默认展示GPU集群中所有拓扑关系。

image.png

  • 任务列表:列表会显示选中集群中包含的所有任务,可以选择指定任务,查询拓扑关系。

    image.png

  • 机器列表:列表会显示选中集群中包含的所有机器,可以选择指定机器,查询拓扑关系。image.png

  • POD列表:列表会显示选中集群中包含的所有POD,可以选择指定POD,查询拓扑关系。

    image.png

资源拓扑视图

当单击查询后,会展示指定查询对象的GPU拓扑关系图,未指定对象则为GPU集群所有拓扑关系。在如下拓扑图中:image.png

  • 圆形节点表示一台机器、内部的方块表示机器上的GPU卡,根据GPU卡资源使用情况,方块会存在不同着色。

  • GPU卡与GPU卡之间的连线,表示卡间通信

  • 鼠标放到节点内的GPU卡上,会展示GPU的监控指标,如GPU利用率、显存使用情况,xid计数,nvlink带宽、pcie收发字节数等指标

  • 鼠标悬停在线上,会展示GPU之间的send、recv收发计数,注意(节点内GPU间如连接类型为P2P,收发不支持计数,仅支持表示集合通信中的数据传递方向,跨节点GPU之间的通信,连接类型为NET情况下,支持收发计数)。

    image.png

  • 鼠标放到节点上,悬浮展示实例ID。

    image.png

集合通信拓扑视图

  • 集合通信拓扑相关参数说明:

    • 通信组:在分布式任务中,是一组参与集合通信的进程/节点的集合。它定义了哪些设备(如 GPU)或节点需要参与特定的通信操作

    • Channel:是通信的逻辑或物理通道,用于管理数据传输的路径和资源,也是一组通信资源(如 CUDA 流、内存缓冲区),每个 Channel 可以绑定多个 GPU,并支持多个通信流(Streams)并行操作

    • 拓扑类型:描述节点或设备之间的物理或逻辑连接关系(如树形、环形、网格等)。它是集合通信算法选择和性能优化的关键依据

  • 拓扑视图选项选择集合通信拓扑,选择通信组、channel、拓扑类型,点击查询,查询到的数据为指定通信组、channel、拓扑的GPU间通信关系,这有利于分析训练任务的多卡通信问题:如多卡间通信拓扑是否符合预期(假设预期为ring拓扑、但实际为tree拓扑)、GPU间通信计数是否符合预期(如在任务HANG住情况下,GPU间收、发是否一致、或者查看是否在同一个拓扑中,是否存在某些GPU间的收发计数远低于其他GPU间收发计数导致的性能问题)。

    image.png

  • 鼠标放在节点上、GPU上、连线上,支持展示GPU指标、NCCL版本、通信计数。

    image.png