配置超额分配比率
了解超额分配比率
HAMi 允许你为受支持的共享资源设置资源超额分配比率。对于 NVIDIA 后端,常用的参数是 vGPU 核心和内存缩放。超额分配的目的是提高设备利用率,但不会增加单个工作负载可用的物理容量。
例如,如果 vGPU 核心超额分配比率设置为 2,那么单个 GPU 卡在逻辑上可分配的总核心数为 200%。然而,单个 Pod 请求的 GPU 核心不能超过 100%, 因为这会超出实际可用资源。你可以将 100% 的 vGPU 核心分配给两个 Pod,这可能会产生以下场景:
-
如果 Pod A 处于繁忙状态而 Pod B 处于空闲状态,则 Pod A 可以使用最多 100% 的 vGPU 核心。
-
如果 Pod A 处于空闲状态而 Pod B 处于繁忙状态,则 Pod B 可以使用最多 100% 的 vGPU 核心。
-
如果 Pod A 和 Pod B 同时处于繁忙状态,vGPU 核心将采用时间片方式进行调度。每个 Pod 轮流访问 GPU,因此每个 Pod 的有效利用率约为 50%。
关键参数
- NVIDIA Device Core Scaling:NVIDIA 设备计算资源的超额分配比率。
- NVIDIA Device Memory Scaling:NVIDIA 设备内存资源的超额分配比率。
配置比率
前往 管理员 -> Marketplace -> 集群插件,切换到目标集群,并更新 Alauda Build of HAMi。
根据你使用的后端和产品版本修改插件表单参数。对于 NVIDIA 后端示例,请配置 NVIDIA Device Core Scaling 和 NVIDIA Device Memory Scaling。
注意事项
-
当设置 vGPU 核心的超额分配比率后,多个应用可能会合计请求超过 100% 的 vGPU 核心。 如果所有应用都以满负载运行,它们将竞争 GPU 总计 100% 的计算能力。因此,与使用专用 GPU 相比,每个应用的有效性能会更低。 如果某个应用变为空闲,其他处于活动状态的应用可以利用释放出来的计算能力。
-
当设置 vGPU 内存的超额分配比率后,多个应用可能会合计请求超过 100% 的 vGPU 内存。 如果请求的内存全部分配完毕,某些应用可能会遇到
CUDA out of memory错误。 请谨慎使用内存超额分配,因为它可能导致应用失败。