GPU-HPN拓扑感知调度

更新时间:2025-04-10 02:16:56

GPU设备的ACS集群支持将多个GPU Pod调度到同一个GPU-HPN节点,Pod之间可以通过NVLink等方式实现GPU之间数据通信。为了保障GPU设备之间的通信效率和公平性,ACS在设备调度时会遵循不同机型的Partition约束。本文介绍ACS GPUPartition调度机制以及使用场景案例。

前提条件

仅支持gpu-hpn计算类型(compute-class)的Pod和对应类型的节点。

背景介绍

节点中GPU设备之间通过一条或多条通道相互连接通信,ACS支持不同GPU规格的PodGPU-HPN节点上同时运行。为了保障GPU的通讯效率和公平性,避免Pod之间互相干扰,ACS会参考GPU的拓扑情况进行调度,针对不同的GPU数量需求划为多个分区(partition),为其分配最优结果。

下图展示了一台8卡节点,每四张卡为一个分组,组内卡之间直通互联,分组之间通过PCIe连接。

image

针对不同规格的Pod,ACSPartition划分如下。

Pod申请的GPU数量

可选的设备分配结果

Pod申请的GPU数量

可选的设备分配结果

8

[0,1,2,3,4,5,6,7]

4

[0,1,2,3], [4,5,6,7]

2

[0,1], [2,3], [4,5], [6,7]

1

[0], [1], [2], [3], [4], [5], [6], [7]

随着不断有Pod在节点上创建删除,GPU设备可能出现Partition碎片导致Pod Pending无法调度,您可以参考存量Pod的调度结果,结合业务优先级情况驱逐部分Pod,以满足Pending Pod的资源需求。

查询GPU-HPN节点的Partition

ACS不同型号GPU-HPN节点的Partition情况和卡型有所不同。GPU-HPN节点的具体卡型请提交工单咨询。

查询Pod的调度结果

设备分配结果

对于GPU-HPN类型的Pod,您可以在Pod Annotation中查看到设备分配结果,格式如下。

apiVersion: v1
kind: Pod
metadata:
  annotations:
    alibabacloud.com/device-allocation: '{"gpus": {"minor": [0,1,2,3]}}'

Partition碎片的调度失败提示

Pod不可调度时会处于Pending状态,通过kubectl describe pod命令,可以看到类似0/5 nodes are available: xxx的信息,其中Insufficient Partitioned GPU Devices表示节点因为设备资源碎片导致调度失败,示例如下。

kubectl describe pod pod-demo

预期输出,省略其他内容:

...
Events:
  Type     Reason            Age    From               Message
  ----     ------            ----   ----               -------
  Warning  FailedScheduling  26m    default-scheduler  0/5 nodes are available: 2 Node(s) Insufficient Partitioned GPU Devices, 1 Node(s) xxx, 2 Node(s) xxx.

常见问题

如何规划节点资源和策略,避免Partition碎片

  • 根据业务PodGPU需求数量,划分不同的节点池,例如将8卡大任务和1卡小任务规划到不同的节点池。

  • 当集群内出现因碎片导致的Pending Pod时,可以利用重调度等机制,驱逐部分低优先级的小任务,腾挪空闲资源供Pending Pod使用。

使用自定义调度器时,关于Partition有哪些注意事项

自定义调度器为Pod分配节点后,ACS会负责Pod在对应节点上的设备分配,在设备分配阶段,ACS会尽量集中调度避免碎片。

自定义调度器只需关注节点GPU整体容量,建议对于GPU资源优先采用Node集中调度策略(MostAllocated),可以有效减少Partition碎片的出现。

  • 本页导读 (0)
  • 前提条件
  • 背景介绍
  • 查询GPU-HPN节点的Partition
  • 查询Pod的调度结果
  • 设备分配结果
  • Partition碎片的调度失败提示
  • 常见问题
  • 如何规划节点资源和策略,避免Partition碎片
  • 使用自定义调度器时,关于Partition有哪些注意事项