【技术实现步骤摘要】
多个GPU动态分配方法及系统
本专利技术涉及GPU虚拟化领域,具体涉及一种多个GPU动态分配方法。
技术介绍
随着近几年云计算、机器学习人工智能的兴起,GPU以成为必不可少的加速硬件,同时kubernetes+docker架构的普及,docker中使用GPU普遍存在于各个解决方案中。现有技术中,GPU挂载到容器中使用,是独占的模式,无法让用户共享使用同一块GPU,即便是NVIDIA提供的虚拟GPU(vGPU)解决方案,也局限于借助虚拟机实现,无法与kubernetes融合在一起。上述问题是目前亟待解决的。
技术实现思路
本专利技术所要解决的技术问题是提供一种多个GPU动态分配方法及系统。本专利技术解决其技术问题所采用的技术方案是:提供一种多个GPU动态分配方法,包括:依据虚拟GPU设备插件将多个GPU中每一块的显存资源抽象为预设份额,从而将物理GPU进行虚拟化;获取过滤条件以及绑定条件;依据过滤条件,过滤出满足调度需求的节点;依据绑定条件将对应的容器 ...
【技术保护点】
1.一种多个GPU动态分配方法,其特征在于,包括:/n依据虚拟GPU设备插件将多个GPU中每一块的显存资源抽象为预设份额,从而将物理GPU进行虚拟化;/n获取过滤条件以及绑定条件;/n依据过滤条件,过滤出满足调度需求的节点;/n依据绑定条件将对应的容器绑定到过滤后的node对应的虚拟化GPU上,并进行节点注释;/n依据设备插件对具有节点注释的容器完成对多个GPU的分配。/n
【技术特征摘要】
1.一种多个GPU动态分配方法,其特征在于,包括:
依据虚拟GPU设备插件将多个GPU中每一块的显存资源抽象为预设份额,从而将物理GPU进行虚拟化;
获取过滤条件以及绑定条件;
依据过滤条件,过滤出满足调度需求的节点;
依据绑定条件将对应的容器绑定到过滤后的node对应的虚拟化GPU上,并进行节点注释;
依据设备插件对具有节点注释的容器完成对多个GPU的分配。
2.如权利要求1所述的多个GPU动态分配方法,其特征在于,所述依据设备插件对具有节点注释的容器完成对多个GPU的分配的方法包括:
获取当前节点上所有处于等待状态的节点;
过滤出等待状态的节点中有申请资源的节点;
过滤出等待状态的节点中已经被调度程序扩展器进行绑定过的节点;
过滤出还未被分配的节点;
将未分配的节点根据绑定时间进行升序排序;
从未分配的节点中遍历挑选第一个要申请的资源和此次分配传入相等的节点,从而完成对GPU的分配。
3.如权利要求2所述的多个GPU动态分配方法,其特征在于,所述从未分配的节点中遍历挑选第一个要申请的资源和此次分配传入相等的节点,从而完成对GPU的分配的方法包括:
通过NvidiagRPC服务模块的注册功能,连接kubelet并向kubelet注册该插件;
依据NvidiagRPC服务模块提供启动和停止功能,初始化并启动gRPC服务;
使用分配功能,调用GPU调度程序分配资源并将分配结果设置到容器中,从而完成对GPU的分配。
4.如权利要求3所述的多个GPU动态分配方法,其特征在于,在所述依据设备插件对具有节点注释的容器完成对多个GPU的分配之...
【专利技术属性】
技术研发人员:蔡飞,顾海林,
申请(专利权)人:南京飞灵智能科技有限公司,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。