You need to enable JavaScript to run this app.
文档中心
容器服务

容器服务

复制全文
下载 pdf
容器共享 mGPU
通过 mGPU 实现算力分配策略
复制全文
下载 pdf
通过 mGPU 实现算力分配策略
本文主要介绍配置 mGPU 算力分配策略的方法,以及在工作负载中使用该策略进行调度的操作。
使用须知
使用 mGPU 算力分配策略时,对集群、GPU 组件等有如下要求和限制。更多 mGPU 使用须知,请参见 配置 mGPU 调度
项目
要求
Kubernetes 版本
不低于 v1.20.15-vke.6 版本。
集群 Kubernetes 版本的查看方法,请参见 FAQ;版本发布记录,请参见 Kubernetes 版本发布记录
说明
低于 v1.20.15-vke.6 版本的集群中已有 mGPU 相关业务,且希望使用 mGPU 算力分配策略时,请提交 工单申请 获取技术支持,升级 Kubernetes 版本。
mgpu 组件版本
不低于 v0.0.3 版本。组件版本升级方法,请参见 组件升级组件版本发布记录,请参见 组件发布记录
算力分配策略说明
mGPU 支持如下三种算力分配策略。
Value 取值
说明
fixed-share(默认值)
固定配额。每个容器都有固定的算力配额,在容器运行过程中即使 GPU 还有剩余算力,也无法超过固定算力配额。
guaranteed-burst-share
固定争抢。每个容器都有保底的算力配额,但只要 GPU 还有空闲算力,就可以被容器使用。
native-burst-share
争抢模式。可设置算力配额,设置的值越高,可争抢到的配额越高,但不保证每个容器都能争抢到与已设置的算力配额相同的配额。
alt
前提条件
已完成 mGPU 相关配置。详情请参见 配置 mGPU 调度
操作步骤
步骤一:配置节点算力分配策略
  1. 在左侧导航栏中选择 集群,单击目标集群名称,进入集群管理页面。
  1. 为 mGPU 相关的节点池或节点,配置算力分配策略。
  • 配置节点池
    配置节点
    1. 在集群管理页面的左侧导航栏中,选择 节点管理 > 节点池
    1. 节点池 页面,找到已完成 mGPU 相关配置的节点池,单击对应 操作 列下的 编辑
    注意
    您也可以在满足配置 mGPU 算力分配策略环境要求(Kubernetes 版本、mgpu 组件版本等)的集群中,创建新的 mGPU 相关 GPU 计算型节点池,同时配置算力分配策略。此时无需重启节点。详细操作,请参见 mGPU 使用方法
    1. 高级配置 处,配置标签键为vke.volcengine.com/mgpu-compute-policy,标签值为fixed-shareguaranteed-burst-sharenative-burst-share。表示在该节点池中的节点上,配置算力分配策略。
    注意
    • 您可以通过开启或关闭节点池的 节点标签及污点自动更新 功能,控制是否同步标签到节点池中的存量节点中。关闭该功能时,可能导致存量节点上的 GPU 算力分配策略与预期不符,请谨慎配置。
    • 更改节点池中节点的 mGPU 算力分配策略后,需要重启节点池中的所有 mGPU 相关节点使策略生效。
    • 不设置算力分配策略时(即不设置vke.volcengine.com/mgpu-compute-policy节点标签),则默认按fixed-share策略分配算力。
步骤二:配置工作负载
本文以创建无状态负载(Deployment)为例进行介绍,详细创建步骤参见 创建无状态负载
通过控制台配置
  1. 在集群管理页面的左侧导航栏中,选择 工作负载 > 无状态负载
  1. 无状态负载 页面,创建无状态负载或更新已有的负载。其中,在 高级配置 步骤的 实例配置 处,使用注解配置 Pod 的算力分配策略。
  • 配置 实例注解 的注解键为vke.volcengine.com/mgpu-compute-policy,注解值为fixed-shareguaranteed-burst-sharenative-burst-share,表示该工作负载使用对应的算力分配策略。
注意
  • 工作负载未配置算力分配策略的注解时,默认按fixed-share策略调度。
  • 请确保集群中存在与工作负载具有相同策略的 GPU 计算型节点,例如工作负载的调度策略为fixed-share,那么集群中必须存在fixed-share策略的 GPU 计算型节点,否则会由于无合适调度的资源,导致工作负载调度失败。
通过 kubectl 命令行配置
说明
spec.template.metadata字段下通过注解vke.volcengine.com/mgpu-compute-policy配置对应 Pod 的算力分配策略。
通过 YAML 创建工作负载,并实现算力分配策略的示例,如下所示:
apiVersion: apps/v1
kind: Deployment
metadata:
name: mgpu-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: mgpu-deployment
template:
metadata:
labels:
app: mgpu-deployment
annotations:
vke.volcengine.com/mgpu-compute-policy: guaranteed-burst-share # 工作负载的算力分配策略,不配置时默认采用 fixed-share 策略
spec:
containers:
- name: mgpu-container
image: doc-cn-beijing.cr.volces.com/vke/gpu-burn:1.0
command: ["/bin/sh"]
args: ["-c", "sleep infinity"]
resources:
requests: # 与 limits 保持一致
vke.volcengine.com/mgpu-memory: 4096
vke.volcengine.com/mgpu-core: 30
limits:
vke.volcengine.com/mgpu-memory: 4096 # GPU 显存,单位为 MiB,此处表示 GPU 显存为 4 GiB
vke.volcengine.com/mgpu-core: 30 # GPU 算力百分比,此处表示配置 30% 的 GPU 算力
ports:
- containerPort: 80
注意
  • 工作负载未配置算力分配策略的注解时,默认按fixed-share策略调度。
  • 请确保集群中存在与工作负载具有相同策略的 GPU 计算型节点,例如工作负载的调度策略为fixed-share,那么集群中必须存在fixed-share策略的 GPU 计算型节点,否则会由于无合适调度的资源,导致工作负载调度失败。
结果验证
查看 GPU 显卡信息
mGPU 提供 mGPU Client(mgpu-cli),支持开发者在终端查看 mGPU 相关信息。
  1. 登录 Pod 所在节点。您可以通过 ECS Terminal 登录,详细操作,请参见 ECS Terminal
  1. 执行如下命令,查看节点 GPU 物理显卡信息。
  • mgpu-cli device info -a
  • 系统返回如下,在本例中compute_policy显示为1,表示节点算力分配策略为guaranteed-burst-share
  • +-----------------------------------+-------------+
    | device_id | 0 |
    +-----------------------------------+-------------+
    | compute_free_weight | 100 |
    +-----------------------------------+-------------+
    | compute_free_weight_online | 70 |
    +-----------------------------------+-------------+
    | compute_load_balance_mode | 0 |
    +-----------------------------------+-------------+
    | compute_policy | 1 |
    +-----------------------------------+-------------+
    | compute_qos_enabled | 1 |
    +-----------------------------------+-------------+
    | compute_qos_enabled_native_burst | 1 |
    +-----------------------------------+-------------+
    | compute_timeslice | 200 |
    +-----------------------------------+-------------+
    | compute_timeslice_native_burst | 4096 |
    +-----------------------------------+-------------+
    | compute_total_weight_native_burst | 30 |
    +-----------------------------------+-------------+
    | device_major | 510 |
    +-----------------------------------+-------------+
    | instance_deploy_mode | 1 |
    +-----------------------------------+-------------+
    | instance_major | 509 |
    +-----------------------------------+-------------+
    | online_offline_switch | 2 |
    +-----------------------------------+-------------+
    | user_instance_major | 511 |
    +-----------------------------------+-------------+
    | vmem_free_bytes | 23359324160 |
    +-----------------------------------+-------------+
    | vmem_limit | 4096 MiB |
    +-----------------------------------+-------------+
  • 指标名称
    指标含义
    compute_free_weight_online
    设备未分配的算力百分比,本例中为 70%。
    compute_load_balance_mode
    容器使用该设备时的负载均衡模式。
    compute_policy
    算力调度策略:
    • 0:表示fixed-share
    • 1:表示guaranteed-burst-share
    • 2:表示native-burst-share
    compute_timeslice
    算力时间片百分比。
    device_major
    /dev/mgpuX主设备号。
    instance_major
    /dev/mgpuXinstY/dev/mgpuXctl-$(container_id)主设备号。
    vmem_free_bytes
    该设备剩余的显存容量,单位: byte。
查看 mGPU 监控
您可以通过云原生观测功能监控 mGPU 的各项监控指标。更多详情,请参见 AI 资源观测
最近更新时间:2026.07.07 19:29:03
这个页面对您有帮助吗?
有用
有用
无用
无用