详情页标题前

阿里云容器服务ACK共享GPU调度概述-云淘科技

详情页1

本文为您介绍阿里云共享GPU方案、共享GPU专业版的优势、共享GPU的基础版与专业版的功能对比及使用场景,帮助您了解和更好地使用共享GPU的能力。

视频介绍

背景介绍

阿里云容器服务 Kubernetes 版 ACK(Container Service for Kubernetes)开源了GPU共享调度之后,您能在阿里云、AWS、GCE和自己数据中心的容器集群上通过GPU共享调度框架实现多个容器运行在同一个GPU设备上的目标。ACK开源GPU共享调度降低了使用GPU的经济成本,但是如何能在节省经济成本同时也能让GPU上的容器运行更稳定呢?

隔离是一个关键的需求。如何限制运行在同一个GPU上的多个容器能够按照自己申请的资源使用量运行,避免因为其资源用量超标影响同一个GPU上的其他容器的正常工作,对此业界也做了很多探索。NVIDIA vGPU、MPS和vCUDA方案,都为更小颗粒度的使用GPU提供了可能。

基于以上的需求,阿里云容器服务团队提供共享GPU方案,既能够实现一个GPU供多个任务使用,同时也能够实现一个GPU上对各应用申请的显存实现隔离以及GPU的算力分割。

功能及优势

阿里云提供的共享GPU方案通过自主研发的宿主机内核驱动, 实现对NVIDIA GPU的底层nv驱动更有效的利用。共享GPU功能如下:

  • 更加开放:适配开源标准的Kubernetes和NVIDIA Docker方案。

  • 更加简单:优秀的用户体验。AI应用无需重编译,无需构建新的容器镜像进行CUDA库替换。

  • 更加稳定:针对NVIDIA设备的底层操作更加稳定和收敛,而CUDA层的API变化多端,同时一些Cudnn非开放的API也不容易捕获。

  • 完整隔离:同时支持GPU的显存和算力隔离。

阿里云提供的共享GPU方案是一套低成本、可靠、用户友好的规模化GPU调度和隔离方案,欢迎使用。

优势

说明

支持共享调度和显存隔离。

  • 单Pod单GPU卡共享调度和显存隔离,常用于支持模型推理场景。

  • 单Pod多GPU卡共享调度和显存隔离,常用于支持分布式模型训练代码的开发。

支持共享和隔离策略的灵活配置。

  • 支持按GPU卡的Binpack和Spread算法分配策略。

    • Binpack:多个Pod会优先集中共享使用同一GPU卡,适用于需要提升GPU卡利用率的场景。

    • Spread:多个Pod会尽量分散使用不同GPU卡,适用于GPU高可用场景。尽量避免将同一个应用的副本放置到同一个GPU设备。

  • 支持只共享不隔离策略,适配于已有深度学习应用内已自建应用层隔离能力的场景。

  • 同时支持多卡共享和显存隔离策略。

GPU资源全方位监控。

同时支持监控独占GPU和共享GPU。

计费介绍

共享GPU调度目前已实行收费。在使用共享GPU调度前,需开通云原生AI套件。具体收费信息,请参见云原生AI套件计费说明。

使用说明

目前共享GPU调度仅支持ACK集群Pro版。关于如何安装和使用共享GPU调度,请参考:

  • 安装共享GPU调度组件

  • 运行共享GPU调度示例

除此以外,还有一些进阶能力,您可以根据业务需求选择:

  • 通过共享GPU调度实现多卡共享

  • 通过共享GPU调度实现算力分配

  • 配置共享GPU调度节点选卡策略

  • 配置共享GPU调度仅共享不隔离策略

  • 关闭对应用的GPU隔离能力

  • 配置共享GPU调度cGPU算力调度策略

  • 更改共享GPU调度显存最小分配单位

相关概念

共享GPU调度 vs 独占GPU调度

共享GPU调度指的是多个Pod共同使用一张GPU卡,如下图:阿里云容器服务ACK共享GPU调度概述-云淘科技

独占GPU调度指的是一个Pod完整占用一张卡或多张卡。如下图:阿里云容器服务ACK共享GPU调度概述-云淘科技

显存隔离

如果没有GPU隔离模块参与,那么共享GPU调度仅能够保证多个Pod运行在一张GPU卡上,并不能解决Pod之间相互影响的问题。以下是一个显存使用的例子。

假设Pod1需要申请5 GiB显存使用,Pod2需要申请10 GiB显存使用。在没有GPU隔离模块的参与下,Pod1实际使用达到10 GiB,这会导致Pod2无法正常运行,相当于Pod1非法使用了5 GiB显存。有了GPU隔离模块后,当Pod1试图使用的GPU显存大于申请的值时,隔离模块将让Pod1失败退出。阿里云容器服务ACK共享GPU调度概述-云淘科技

节点选卡策略Binpack和Spread

在共享GPU调度中,如果节点存在多张GPU卡,从节点中挑选GPU卡分配给Pod时,有两种策略可以考虑:

  • Binpack:默认策略,调度系统先分配完节点的一张GPU卡后,再分配节点上另一张GPU卡,避免节点出现GPU资源碎片。

  • Spread:调度系统会尽量将Pod分散到这个节点的各个GPU上,避免一张GPU卡坏掉后,影响的业务过多。

以下示例表示,某个节点有2张GPU卡,每张卡有15 GiB显存,Pod1申请2 GiB显存,Pod2申请3 GiB显存。阿里云容器服务ACK共享GPU调度概述-云淘科技

单卡共享 vs 多卡共享

  • 单卡共享:一个Pod仅申请一张GPU卡,占用该GPU部分资源。

  • 多卡共享:一个Pod申请多张GPU卡,每张GPU提供部分资源,且每张GPU提供的资源量相同。

阿里云容器服务ACK共享GPU调度概述-云淘科技

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158866.html

(0)
上一篇 2023年12月10日 上午1:28
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云RDS数据库基础系列升级为集群系列-云淘科技

    您可以将RDS MySQL 8.0、5.7的基础系列实例升级为集群系列,以获得容灾能力,以及更高的灵活性和可靠性。 应用场景 如果您追求可靠的容灾能力、灵活的部署、细粒度的监控,或者希望通过备节点做读写分离,可将基础系列实例升级为集群系列实例。MySQL集群系列实例支持备节点可读、任意备节点都可切换为主节点、按需增删节点、多可用区容灾、节点粒度的监控、集群节…

    阿里云数据库 2023年12月9日
  • 阿里云容器服务ACK共享GPU调度专业版-云淘科技

    本文为您介绍共享GPU调度专业版的相关概念,如何开启共享GPU调度专业版以及如何使用共享GPU调度专业版,帮助您了解和更好地使用共享GPU调度专业版。 阿里云容器服务Kubernetes版ACK(Container Service for Kubernetes)开源了GPU共享调度之后,您能在阿里云、AWS、Google Compute Engine和自己数…

    阿里云容器服务 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云容器服务ACK共享GPU调度专业版-云淘科技

    本文为您介绍共享GPU调度专业版的相关概念,如何开启共享GPU调度专业版以及如何使用共享GPU调度专业版,帮助您了解和更好地使用共享GPU调度专业版。 阿里云容器服务Kubernetes版ACK(Container Service for Kubernetes)开源了GPU共享调度之后,您能在阿里云、AWS、Google Compute Engine和自己数…

    阿里云容器服务 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。