Kubernetes 下开源的 GPU 虚拟化项目

💡 原文中文,约4600字,阅读约需11分钟。
📝

内容提要

NVIDIA 的 k8s-device-plugin 和 gpu-operator 用于管理 Kubernetes 中的 GPU 资源,支持 MIG、Time-Slicing 和 MPS 等多种分配方式。MIG 可将 GPU 划分为独立实例,Time-Slicing 允许多个虚拟设备共享物理 GPU。gpu-manager 和 HAMi 通过 vCUDA 技术实现 GPU 资源的细粒度划分与共享。

🎯

关键要点

  • NVIDIA 的 k8s-device-plugin 和 gpu-operator 用于管理 Kubernetes 中的 GPU 资源。
  • k8s-device-plugin 自动发现和注册 GPU 设备,支持多种 GPU 型号。
  • gpu-operator 提供驱动管理、容器运行集成、设备发现等 GPU 全生命周期管理功能。
  • MIG 技术允许将 GPU 划分为多个独立实例,每个实例的计算、显存、带宽相互独立。
  • Time-Slicing 允许将物理 GPU 切分为多个虚拟设备,存在资源竞争问题。
  • MPS 技术允许多个进程共享同一物理 GPU,提高 GPU 利用率,提供更好的资源隔离。
  • gpu-manager 采用 vCUDA 技术实现 GPU 资源的细粒度划分与共享。
  • HAMi 也采用 vCUDA 技术,支持 MIG、Time-Slicing,并能管理其他 AI 加速卡。
➡️

继续阅读