You need to enable JavaScript to run this app.
GPU云服务器

GPU云服务器

复制全文
通过容器服务使用mGPU
配置mGPU算力分配策略
复制全文
配置mGPU算力分配策略

本文主要介绍配置 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 使用方法

步骤一:为 GPU 计算型节点配置算力分配策略

  1. 登录 容器服务控制台
  2. 在顶部导航栏中选择您业务所在的地域。
  3. 在左侧导航栏中选择 集群,单击目标集群名称。
  4. 为 mGPU 相关节点或节点池,配置算力分配策略。
    • 节点池
      1. 在集群管理页面的左侧导航栏单击 节点池
      2. 节点池 页面,找到已完成 mGPU 相关配置的节点池,单击对应 操作 列下的 编辑

        注意

        您也可以在满足配置 mGPU 算力分配策略环境要求(Kubernetes 版本、mgpu 组件版本等)的集群中,创建新的 mGPU 相关 GPU 计算型节点池,同时配置算力分配策略。此时无需重启节点。详细操作,请参见 mGPU 使用方法

      3. 更多配置 处设置 节点标签 的 key 为vke.volcengine.com/mgpu-compute-policy、Value 为fixed-shareguaranteed-burst-sharenative-burst-share,表示在该节点池中的节点上,配置 Value 取值对应的算力分配策略。
        详细的参数说明,请参见 管理节点池

        注意

        • 您可以通过开启或关闭节点池的 节点标签及污点自动更新 功能,控制是否同步标签到节点池中的存量节点中。关闭该功能时,可能导致存量节点上的 GPU 算力分配策略与预期不符,请谨慎配置。
        • 更改节点池中节点的 mGPU 算力分配策略后,需要重启节点池中的所有 mGPU 相关节点使策略生效。重启节点的操作,请参见 重启实例
        • 不设置算力分配策略时(即不设置vke.volcengine.com/mgpu-compute-policy节点标签),则默认按fixed-share策略分配算力。
        alt
    • 节点
      1. 在集群管理页面的左侧导航栏中,单击 节点
      2. 节点 页面,找到已完成 mGPU 相关配置的节点,选择对应 操作 列下的... > 标签管理
      3. 标签 页签,单击 添加标签,在节点标签列表的最后,添加 key 为vke.volcengine.com/mgpu-compute-policy、Value 为fixed-shareguaranteed-burst-sharenative-burst-share的标签,表示在该节点上,配置 Value 取值对应的算力分配策略。
        alt

        注意

        • 更改节点的 mGPU 算力分配策略后,需要重启节点使策略生效。重启节点的操作,请参见 重启实例
        • vke.volcengine.com/mgpu-compute-policy属于系统标签,节点上添加系统标签后不允许修改 Value 值。
        • 不设置算力分配策略时(即不设置vke.volcengine.com/mgpu-compute-policy节点标签),则默认按fixed-share策略分配算力。

步骤二:在工作负载中配置算力分配策略

本文以创建无状态负载(Deployment)为例。

通过控制台配置

  1. 在集群管理页面的左侧导航栏中,选择 工作负载 > 无状态负载
  2. 无状态负载 页面,创建无状态负载或更新已有的负载。详细操作,请参见 创建无状态负载更新无状态负载
    其中 高级配置 步骤的 实例注解 处,配置 mGPU 调度策略:
    alt
    设置 实例注解 的 key 为vke.volcengine.com/mgpu-compute-policy、Value 为fixed-shareguaranteed-burst-sharenative-burst-share,表示该工作负载,使用 Value 取值对应的调度策略。

    注意

    • 工作负载不设置 mGPU 调度策略相关的 实例注解 时,默认按fixed-share策略调度。
    • 请确保集群中存在与工作负载具有相同策略的 GPU 计算型节点,例如工作负载的调度策略为fixed-share,那么集群中必须存在fixed-share策略的 GPU 计算型节点,否则不匹配调度策略,工作负载的 Pod 会一直处于 Pending 状态。

通过 YAML 配置

说明

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 监控指标

最近更新时间:2024.09.13 17:38:52
这个页面对您有帮助吗?
有用
有用
无用
无用