[发明专利]基于kubernetes的GPU设备资源分配方法及系统在审
申请号: | 202210547160.2 | 申请日: | 2022-05-19 |
公开(公告)号: | CN114840344A | 公开(公告)日: | 2022-08-02 |
发明(设计)人: | 马春雨;吴春光;张远航;李钰磊;张里阳;刘晓敏;张玉 | 申请(专利权)人: | 银河麒麟软件(长沙)有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 湖南兆弘专利事务所(普通合伙) 43008 | 代理人: | 刘畅舟 |
地址: | 410205 湖南省长沙市长沙高新开发区*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 kubernetes gpu 设备 资源 分配 方法 系统 | ||
1.一种基于kubernetes的GPU设备资源分配方法,其特征在于,应用于kubernetes中的GPU计算节点,所述GPU计算节点包括至少2个真实GPU设备,以及GPU设备插件和kubelet设备管理器模块,所述kubelet设备管理器模块通过GPU设备插件和每个真实GPU设备连接,所述方法包括以下步骤:
S1)GPU设备插件获取每个真实GPU设备的设备信息,根据每个真实GPU设备的显存大小,为每个真实GPU设备生成至少两个逻辑设备;
S2)GPU设备插件获取每个真实GPU设备的负载情况和健康状况,将每个逻辑设备的设备ID和对应真实GPU设备的健康状况上报kubelet设备管理器模块,随后kubelet设备管理器模块将所述真实GPU设备和逻辑设备的信息发送到Kubernetes中的API Server;
S3)若含有GPU应用容器的Pod被调度到GPU计算节点,kubelet设备管理器模块获取对应的Pod ID、容器ID和绑定标记,及已分配的目标逻辑设备的设备ID,并一同发送给GPU设备插件;
S4)若目标逻辑设备的设备ID为一个,且绑定标记为第一值,GPU设备插件选择负载率最低的真实GPU设备,将目标逻辑设备分配给被选择的真实GPU设备,然后分配给对应的GPU应用容器,并调整其余逻辑设备和各真实GPU设备的对应关系,返回步骤S2)直到结束;否则执行步骤S5);
S5)若目标逻辑设备的设备ID为一个,且绑定标记为第二值,GPU设备插件根据Pod ID匹配真实GPU设备,若存在匹配结果,将所述目标逻辑设备分配给匹配到的真实GPU设备,然后分配给对应的GPU应用容器,并调整其余逻辑设备和各真实GPU设备的对应关系,返回步骤S2)直到结束。
2.根据权利要求1所述的基于kubernetes的GPU设备资源分配方法,其特征在于,步骤S1)之前还包括配置kubelet设备管理模块和GPU设备插件的步骤,具体包括:在kubernetes的设备管理协议中增加包含设备ID、Pod ID、容器ID和绑定标记的字段,根据修改后的设备管理协议配置kubelet设备管理模块和GPU设备插件,将GPU设备插件容器化部署到kubernetes中,将宿主机的所有GPU设备映射至所述GPU设备插件的容器。
3.根据权利要求1所述的基于kubernetes的GPU设备资源分配方法,其特征在于,步骤S4)具体包括以下步骤:
S41)根据目标逻辑设备的设备ID匹配到对应的原始真实GPU设备,获取原始真实GPU设备的负载率,若原始真实GPU设备的负载率在所有空余真实GPU设备中不是最小则执行步骤S42);若原始真实GPU设备的负载率在所有空余真实GPU设备中最小,将所述目标逻辑设备分配给原始真实GPU设备,然后分配给对应的GPU应用容器,将原始真实GPU设备的实际路径和权限反馈给kubelet设备管理器模块,返回步骤S2),所述空余真实GPU设备为存在未分配逻辑设备的真实GPU设备;
S42)选取所有空余真实GPU设备中负载率最小的真实GPU设备作为当前真实GPU设备,选取当前真实GPU设备的一个未分配逻辑设备,与目标逻辑设备交换,并将目标逻辑设备分配给当前真实GPU设备,然后分配给对应的GPU应用容器,将当前真实GPU设备的实际路径和权限反馈给kubelet设备管理器模块。
4.根据权利要求1所述的基于kubernetes的GPU设备资源分配方法,其特征在于,步骤S5)具体包括以下步骤:
S51)根据目标逻辑设备的设备ID对应的Pod ID匹配所有真实GPU设备,若存在匹配结果,且匹配到的真实GPU设备存在未分配逻辑设备,将匹配到的真实GPU设备作为当前真实GPU设备;
S52)根据目标逻辑设备的设备ID匹配到对应的原始真实GPU设备,若原始真实GPU设备不为当前真实GPU设备,选取当前真实GPU设备的一个未分配逻辑设备,与目标逻辑设备交换,将目标逻辑设备分配给当前真实GPU设备,然后分配给对应的GPU应用容器,将当前真实GPU设备的实际路径和权限反馈给kubelet设备管理器模块;若原始真实GPU设备为当前真实GPU设备,将目标逻辑设备分配给原始真实GPU设备,然后分配给对应的GPU应用容器,将原始真实GPU设备的实际路径和权限反馈给kubelet设备管理器模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于银河麒麟软件(长沙)有限公司,未经银河麒麟软件(长沙)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210547160.2/1.html,转载请声明来源钻瓜专利网。