[发明专利]多个GPU动态分配方法及系统有效
| 申请号: | 202110177762.9 | 申请日: | 2021-02-09 |
| 公开(公告)号: | CN112527513B | 公开(公告)日: | 2021-05-28 |
| 发明(设计)人: | 蔡飞;顾海林 | 申请(专利权)人: | 南京飞灵智能科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 南京协行知识产权代理事务所(普通合伙) 32493 | 代理人: | 郑立发 |
| 地址: | 210000 江苏省南京市建邺区*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | gpu 动态分配 方法 系统 | ||
本发明属于GPU虚拟化领域,具体涉及一种多个GPU动态分配方法及系统,通过虚拟GPU设备插件将多个GPU中每一块的显存资源抽象为预设份额,从而将物理GPU进行虚拟化,并对虚拟化后的每GPU进行节点注释,从而能根据使用需求对有节点注释的容器完成对GPU的分配,从而可帮助用户在有限数量的物理GPU背景下,满足多人独占GPU的需求,使得资源充分利用并有效降低硬件投入成本。
技术领域
本发明涉及GPU虚拟化领域,具体涉及一种多个GPU动态分配方法。
背景技术
随着近几年云计算、机器学习人工智能的兴起,GPU以成为必不可少的加速硬件,同时kubernetes+docker架构的普及,docker中使用GPU普遍存在于各个解决方案中。
现有技术中,GPU挂载到容器中使用,是独占的模式,无法让用户共享使用同一块GPU,即便是NVIDIA提供的虚拟GPU(vGPU)解决方案,也局限于借助虚拟机实现,无法与kubernetes融合在一起。
上述问题是目前亟待解决的。
发明内容
本发明所要解决的技术问题是提供一种多个GPU动态分配方法及系统。
本发明解决其技术问题所采用的技术方案是:提供一种多个GPU动态分配方法,包括:
依据虚拟GPU设备插件将多个GPU中每一块的显存资源抽象为预设份额,从而将物理GPU进行虚拟化;
获取过滤条件以及绑定条件;
依据过滤条件,过滤出满足调度需求的节点;
依据绑定条件将对应的容器绑定到过滤后的node对应的虚拟化GPU上,并进行节点注释;
依据设备插件对具有节点注释的容器完成对多个GPU的分配。
在其中一个实施例中, 所述依据设备插件对具有节点注释的容器完成对多个GPU的分配的方法包括:
获取当前节点上所有处于等待状态的节点;
过滤出等待状态的节点中有申请资源的节点;
过滤出等待状态的节点中已经被调度程序扩展器进行绑定过的节点;
过滤出还未被分配的节点;
将未分配的节点根据绑定(Bind)时间进行升序排序;
从未分配的节点中遍历挑选第一个要申请的资源和此次分配(Allocate)传入相等的节点,从而完成对GPU的分配。
在其中一个实施例中,所述从未分配的节点中遍历挑选第一个要申请的资源和此次分配(Allocate)传入相等的节点,从而完成对GPU的分配的方法还包括:
通过NvidiagRPC服务模块的注册(Register)功能,连接kubelet并向kubelet注册该插件;
依据NvidiagRPC服务模块提供启动和停止功能,初始化并启动gRPC服务;
使用分配(Allocate)功能,调用GPU调度程序分配资源并将分配结果设置到容器中,从而完成对GPU的分配。
在其中一个实施例中,在所述依据设备插件对具有节点注释的容器完成对多个GPU的分配之后还包括:
在对应的具有对具有节点注释的容器中的虚拟化GPU使用完成后,通过NvidiagRPC服务模块的停止功能,停止gRPC 服务并释放相应资源。
在其中一个实施例中,多个GPU动态分配方法还包括:
监控虚拟GPU的使用状况;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京飞灵智能科技有限公司,未经南京飞灵智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110177762.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种多井位流场再造规模压裂方法
- 下一篇:信息通知方法、装置、设备及存储介质





