(19)国家知识产权局
(12)发明 专利
(10)授权公告 号
(45)授权公告日
(21)申请 号 202210627516.3
(22)申请日 2022.06.06
(65)同一申请的已公布的文献号
申请公布号 CN 114706690 A
(43)申请公布日 2022.07.05
(73)专利权人 浪潮通信技 术有限公司
地址 266107 山东省青岛市城阳区丹山工
业园湘潭路2号
(72)发明人 薛少宁 林巍
(74)专利代理 机构 北京路浩知识产权代理有限
公司 11002
专利代理师 肖艳
(51)Int.Cl.
G06F 9/50(2006.01)
G06F 9/48(2006.01)(56)对比文件
CN 111506404 A,2020.08.07
CN 112559164 A,2021.0 3.26
CN 112231049 A,2021.01.15
EP 387610 0 A2,2021.09.08
WO 2022062650 A1,202 2.03.31
WO 202120 3805 A1,2021.10.14
CN 111913794 A,2020.1 1.10
US 202016719 9 A1,2020.0 5.28
汤小春等.数据中心上异构资源的细粒度分
配算法研究. 《西北工业大 学学报》 .2020,(第0 3
期),
审查员 荆苏丹
(54)发明名称
一种Kubernetes容器共享GPU方法及系统
(57)摘要
本发明提供一种Kubernetes容器共 享GPU方
法及系统, 属于计算机技术领域, 包括: 在运行节
点上挂载图形处理器GPU, 获取每个运行节点的
GPU上报资源; 部署GPU扩展调度器; 为每个运行
节点部署GPU共享设备插件组件, 获取具有共享
GPU需求的运行节点; 基于 具有共享 GPU需求的运
行节点构建pod, 在pod中下 发GPU共享资源。 本发
明通过在Kubernetes中原有调度系统基础上增
加GPU扩展调度参数, 形 成GPU扩展调度器, 由GPU
共享设备插件组件实现在Kubernetes上pod在使
用GPU设备时显存级别的调度和绑定, 解决了
Kubernetes不能跨pod共享GPU的问题。
权利要求书2页 说明书8页 附图2页
CN 114706690 B
2022.09.16
CN 114706690 B
1.一种Kubernetes容器共享GPU方法, 其特 征在于, 包括:
确定容器编排引擎Kubernetes中的运行节点, 在所述运行节点上挂载图形处理器GPU,
获取每个运行节点的GPU上报资源;
在所述Kubernetes中部署GPU扩展调度器, 所述GPU扩展调度器包括GPU共享策略配置
参数;
为每个运行节点部署GPU共享设备插件组件, 获取具有共享GPU需求的运行节点, 确定
GPU共享资源;
调用所述Kubernetes, 基于所述具有共享GPU需求的运行节点构建容器组pod, 在所述
pod中下发所述GPU共享资源;
所述在所述Kubernetes中部署GPU扩展调度器, 所述GPU扩展调度器包括GPU共享策略
配置参数, 包括:
在所述Kubernetes中的原始调度器上添加GPU内存参数和GPU设备参数, 形成所述GPU
扩展调度器;
控制所述Kubernetes中的全局调度器获取每个运行节点上的单个GPU内存, 并控制 所
述GPU扩展调度器将GPU分配结果输入至控制器字段注解Pod Spec Annotation中。
2.根据权利要求1所述的Kubernetes容器共享GPU方法, 其特征在于, 所述确定容器编
排引擎Kuber netes中的运行节 点, 在所述运行节 点上挂载图形 处理器GPU, 获取每个运行节
点的GPU上报资源, 包括:
部署Kubernetes集群, 在所述Kubernetes集群中确定容器运行时, 获取支持GPU的所述
运行节点;
利用图形查看命令获取所述运行节点的GPU数量和GPU内存, 确定所述运行节点挂载
GPU设备。
3.根据权利要求1所述的Kubernetes容器共享GPU方法, 其特征在于, 所述为每个运行
节点部署GPU共享设备插件组件, 获取具有共享GPU需求的运行节点, 确 定GPU共享资源, 包
括:
基于守护进程控制器Daemo nSet, 为每 个运行节点部署所述GPU共享设备插 件组件;
确定为所述具有共享GPU需求的运行节点添加GPU共享节点标签, 获得所述GPU共享资
源。
4.根据权利要求3所述的Kubernetes容器共享GPU方法, 其特征在于, 所述为每个运行
节点部署GPU共享设备插件组件, 获取具有共享GPU需求的运行节点, 确定GPU共享资源之
后, 还包括:
将所述运行节点的GPU数量和GPU内存上报至控制器Kubelet;
由所述Kubelet将所述运行节点的GPU数量和GPU内存上报至集群接口服务器
Kubernetes API Server。
5.根据权利要求1所述的Kubernetes容器共享GPU方法, 其特征在于, 所述调用所述
Kubernetes, 基于所述具有共享GPU需求的运行节点构建控制器pod, 在所述pod中下发GPU
共享资源信息, 包括:
调用Kubernetes集群构建p od, 在pod部署脚 本注解中确定给p od的资源resources字段
添加所述GPU扩展调度器中的GPU内存参数和GPU设备参数;权 利 要 求 书 1/2 页
2
CN 114706690 B
2基于所述GPU扩展调度器, 绑定所述 运行节点和pod;
控制Kubelet接收绑定后运行节点和pod的关联事件, 由Kubelet在所述运行节点上创
建pod实体, 在所述pod实体中下发所述GPU共享资源信息 。
6.根据权利要求5所述的Kubernetes容器共享GPU方法, 其特征在于, 所述基于所述GPU
扩展调度器, 绑定所述 运行节点和pod, 包括:
基于资源调度策略binpack规则获取所述运行节点对应 的GPU, 分别将所述GPU的设备
地址信息存储于po d的注解annotation中, 以及所述pod对应的GPU内存存储于pod的GPU内
存应用时间注释中, 调用Kubernetes API Server;
利用所述Kubernetes API Server将所述 运行节点和所述pod进行绑定 。
7.一种Kubernetes容器共享GPU系统, 其特 征在于, 包括:
获取模块, 用于确定Kubernetes中的运行节点, 在所述运行节点上挂载GPU, 获取每个
运行节点的GPU上报资源;
部署模块, 用于在所述Kubernetes中部署GPU扩展调度器, 所述GPU扩展调度器包括GPU
共享策略配置参数;
确定模块, 用于为每个运行节点部署GPU共享设备插件组件, 获取具有共享GPU需求的
运行节点, 确定GPU共享资源;
调用模块, 用于调用所述Kubernetes, 基于所述具有共享GPU需求的运行节点构建pod,
在所述pod中下发所述GPU共享资源;
所述部署模块具体用于:
在所述Kubernetes中的原始调度器上添加GPU内存参数和GPU设备参数, 形成所述GPU
扩展调度器;
控制所述Kubernetes中的全局调度器获取每个运行节点上的单个GPU内存, 并控制 所
述GPU扩展调度器将GPU分配结果输入至控制器字段注解Pod Spec Annotation中。
8.一种电子设备, 包括存储器、 处理器及存储在所述存储器上并可在所述处理器上运
行的计算机程序, 其特征在于, 所述处理器执行所述程序时实现如权利要求1至6任一项所
述Kubernetes容器共享GPU方法。
9.一种非暂态计算机可读存储介质, 其上存储有计算机程序, 其特征在于, 所述计算机
程序被处 理器执行时实现如权利要求1至 6任一项所述Kubernetes容器共享GPU方法。权 利 要 求 书 2/2 页
3
CN 114706690 B
3
专利 一种Kubernetes容器共享GPU方法及系统
文档预览
中文文档
13 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 13:25:40上传分享