查看原文
其他

qGPU on TKE - 腾讯云发布下一代 GPU 容器共享技术

腾讯云团队 腾讯云原生 2022-03-18

徐蓓,腾讯云专家工程师,深耕云计算、Kubernetes、离在线混部、GPU 容器化领域,Kubernetes 社区积极贡献者。

宋吉科,腾讯云异构计算研发负责人,KVM上第一个 GPU 全虚拟化项目 KVMGT 作者,对 GPU 虚拟化有深入的研究。

zoey,腾讯云容器产品经理,专注资源管理、降本增效、云原生AI领域。

背景

qGPU 是腾讯云推出的 GPU 共享技术,支持在多个容器间共享 GPU卡,并提供容器间显存、算力强隔离的能力,从而在更小粒度的使用 GPU 卡的基础上,保证业务安全,达到提高 GPU 使用率、降低客户成本的目的。
qGPU on TKE 依托腾讯云 TKE 对外开源的 Nano GPU 调度框架[1],可实现对 GPU 算力与显存的细粒度调度,并支持多容器共享 GPU 与多容器跨 GPU 资源分配。同时依赖底层强大的 qGPU 隔离技术,可做到 GPU 显存和算力的强隔离,在通过共享使用 GPU 的同时,尽最大可能保证业务性能与资源不受干扰

功能优势

qGPU 方案通过对 NVIDIA GPU 卡上任务更有效的调度,达到给多个容器共享使用的目的,支持的功能如下:
灵活性:用户可以自由配置 GPU 的显存大小和算力占比
云原生:支持标准的 Kubernetes,兼容 NVIDIA Docker 方案
兼容性:镜像不修改/CUDA 库不替换/业务不重编,易部署,业务无感知
高性能:在底层对 GPU 设备进行操作,高效收敛,吞吐接近0损耗
强隔离:支持显存和算力的严格隔离,业务共享不受影响

技术架构

qGPU on TKE 使用 Nano GPU 调度框架,通过 Kubernetes 扩展调度机制,同时支持 GPU 算力与显存资源调度。并且依赖 Nano GPU 的容器定位机制,支持精细化 GPU 卡调度,同时支持多容器 GPU 卡共享分配与多容器 GPU 跨卡分配。
qGPU 直接采用英伟达 GPU 底层硬件特性进行调度,实现细粒度算力隔离,打破传统上 CUDA API 劫持方案的只能以 CUDA Kernel 为粒度进行算力隔离的限制,提供更好的 QoS 保证。

客户收益

  1. 多任务灵活共享 GPU,提升利用率

  2. GPU 资源强隔离,业务共享不受影响

  3. 完全面向 Kubernetes,业务使用零成本

未来规划

  1. 支持细粒度资源监控:qGPU on TKE 将支持对 Pod 和容器级的 GPU 使用率采集,实现更细粒度的资源监控和与 GPU 弹性能力的整合
  2. 持在离线混部:qGPU on TKE 将支持在线业务和离线业务的高低优先级混部,最大限度地提升 GPU 利用率
  3. 持 qGPU 算力池化:基于 qGPU 的 GPU 算力池化,实现 CPU、内存资源与异构计算资源解耦

内测申请

qGPU 已经开放免费内测,欢迎添加腾讯云原生小助手备注”qGPU内测申请“进行试用!

参考资料

[1]

Nano GPU 调度框架: 【https://github.com/nano-gpu】





  往期精选推荐  


点个“在看”每天学习最新技术

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存