ack-mps-control

更新时间:
复制 MD 格式

ack-mps-control 组件在 ACK 集群中以容器化方式部署 NVIDIA MPS(Multi-Process Service)Control Daemon,让多个 CUDA 应用共享同一张 GPU,提升 GPU 利用率与应用吞吐量。

组件介绍

NVIDIA MPS 是 NVIDIA 提供的 GPU 共享技术,支持多个 CUDA 应用并发使用同一张 GPU,适用于多用户环境或需同时运行多个小任务的场景。

使用说明

  • 请勿删除 MPS Control Daemon 组件的 Pod,否则会导致节点上的 GPU 应用不可用:MPS Client(使用 MPS 功能的 GPU 应用)需与 MPS Control Daemon 交互,该 Daemon 一旦重启,相关 MPS Client 会异常退出。

  • MPS Control Daemon 以容器化方式部署,容器需具备 privileged 权限,存在一定安全风险,请评估后再决定是否使用该组件。

  • 部署 MPS Control Daemon 的 DaemonSet 带有 nodeSelector ack.node.gpu.schedule=mps。若集群中已部署共享 GPU 调度组件,为节点打上 ack.node.gpu.schedule=mps 标签后,该节点会同时开启共享 GPU 调度与 MPS 隔离能力。

  • MPS Control Daemon 组件 Pod 使用 priorityClassName: system-node-critical 提升优先级,避免节点资源不足时被驱逐,导致业务程序无法使用 MPS。

  • 节点开启 MPS 能力后,在该节点上运行的 GPU 应用 Pod 需配置 hostIPC: true

变更记录

版本号

变更内容

变更时间

变更影响

0.2.0

将 nvidia-mps 工作目录切换为 /var/run/nvidia-gpu/nvidia-mps

20260316

本次升级会造成节点 GPU 业务中断。

0.1.0

支持以容器方式启动 nvidia-mps-control-daemon 服务。

20241104

本次升级会造成节点 GPU 业务中断。