本文主要介绍配置 mGPU 算力分配策略的方法,以及在工作负载中使用该策略进行调度的操作。
说明
mGPU 功能目前处于 公测 阶段。
使用 mGPU 算力分配策略时,对集群、GPU 组件等有如下要求和限制。更多 mGPU 使用须知,请参见 mGPU 使用方法。
项目 | 要求 |
---|---|
Kubernetes 版本 | 不低于 v1.20.15-vke.6 版本。 说明 低于 v1.20.15-vke.6 版本的集群中已有 mGPU 相关业务,且希望使用 mGPU 算力分配策略时,请提交 工单申请 获取技术支持,升级 Kubernetes 版本。 |
mgpu 组件版本 | 不低于 v0.0.3 版本。组件版本升级方法,请参见 组件升级;组件版本发布记录,请参见 组件发布记录。 |
mGPU 支持如下三种算力分配策略。
Value 取值 | 说明 |
---|---|
fixed-share(默认值) | 固定配额。每个容器都有固定的算力配额,在容器运行过程中即使 GPU 还有剩余算力,也无法超过固定算力配额。 |
guaranteed-burst-share | 固定争抢。每个容器都有保底的算力配额,但只要 GPU 还有空闲算力,就可以被容器使用。 |
native-burst-share | 争抢模式。可设置算力配额,设置的值越高,可争抢到的配额越高,但不保证每个容器都能争抢到与已设置的算力配额相同的配额。 |
已完成 mGPU 相关配置。详细操作,请参见 mGPU 使用方法。
注意
您也可以在满足配置 mGPU 算力分配策略环境要求(Kubernetes 版本、mgpu 组件版本等)的集群中,创建新的 mGPU 相关 GPU 计算型节点池,同时配置算力分配策略。此时无需重启节点。详细操作,请参见 mGPU 使用方法。
vke.volcengine.com/mgpu-compute-policy
、Value 为fixed-share
、guaranteed-burst-share
或native-burst-share
,表示在该节点池中的节点上,配置 Value 取值对应的算力分配策略。注意
vke.volcengine.com/mgpu-compute-policy
节点标签),则默认按fixed-share
策略分配算力。...
> 标签管理。vke.volcengine.com/mgpu-compute-policy
、Value 为fixed-share
、guaranteed-burst-share
或native-burst-share
的标签,表示在该节点上,配置 Value 取值对应的算力分配策略。注意
vke.volcengine.com/mgpu-compute-policy
属于系统标签,节点上添加系统标签后不允许修改 Value 值。vke.volcengine.com/mgpu-compute-policy
节点标签),则默认按fixed-share
策略分配算力。本文以创建无状态负载(Deployment)为例。
vke.volcengine.com/mgpu-compute-policy
、Value 为fixed-share
、guaranteed-burst-share
或native-burst-share
,表示该工作负载,使用 Value 取值对应的调度策略。注意
fixed-share
策略调度。fixed-share
,那么集群中必须存在fixed-share
策略的 GPU 计算型节点,否则不匹配调度策略,工作负载的 Pod 会一直处于 Pending 状态。说明
在spec.template.metadata
字段下添加 Annotations:vke.volcengine.com/mgpu-compute-policy
,并根据需求配置对应的调度策略值。
YAML示例如下:
apiVersion: apps/v1 kind: Deployment metadata: name: mgpu-deployment # Deployment 名称。 namespace: default # Deployment 所属命名空间。 spec: replicas: 2 # Pod 实例个数。 selector: matchLabels: app: mgpu-deployment template: spec: containers: - name: mgpu-container # 容器名称。 image: nginx:1.14.2 # 容器镜像地址。 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 metadata: annotations: vke.volcengine.com/mgpu-compute-policy: fixed-share #算力分配策略,不配置时默认采用 fixed-share 策略。 labels: app: mgpu-deployment
配置 mGPU 算力分配策略后,可查看 mGPU 的各项监控指标。详细操作,请参见 查看 mGPU 监控指标。