GPU在离线混部使用说明
更新时间:2024-01-24
在线业务通常会受到时段不同、热点事件等影响,流量呈现明显的波峰波谷特征。为了保障在线业务的稳定,通常会预留较多的GPU资源。在流量处于波谷时,这些GPU资源都处于闲置状态,集群整体利用率偏低。
为此,CCE提供了GPU在离线混部功能,可将在线的AI负载和离线AI负载同时部署在同一集群中,当在线业务流量较高时,将GPU优先用于在线业务,在线业务流量较低时,将GPU用于离线的AI任务。实现保障在线业务稳定的同时,提升集群整体GPU资源利用率。
前提条件
您已成功安装CCE GPU Manager组件,否则GPU算力和显存的共享与隔离功能无法正常使用。您可在“集群>组件管理>云原生AI”中安装。
节点开启GPU在离线混部
控制台操作示例:
您可在集群——节点管理——Worker中点击显存共享设置,在显存共享设置中选择“开启显存共享+GPU在离线混部”,开启后标记为低优的离线业务将仅会被调度到这些节点上,不会影响其他节点上业务。
Yaml操作示例:
kubectl label node node-name-xxx cce.baidubce.com/cgpu.hybrid=true/false # XXX为节点名称,true为开启,false位关闭,默认关闭
离线任务开启GPU在离线混部
控制台操作示例
若您通过CCE控制台创建任务(操作步骤可参考云原生AI任务管理),您可在任务的基本信息中开启延迟容忍,开启后的任务将作为低优的离线任务运行在集群中,仅会被调度到开启GPU在离线混部的节点上。
当在线业务和离线任务被调度到同一张GPU卡上后,在线业务繁忙时,同一张卡上的离线任务将被Pending优先保障在线业务的SLA,在线业务空闲时,离线任务则继续运行,提升GPU卡利用率。
Yaml操作示例:
labels:
cce.baidubce.com/baidu-cgpu.affinity=offline # 给任务打上低优离线任务的标签