[发明专利]一种GPU资源调度方法在审
| 申请号: | 202010576793.7 | 申请日: | 2020-06-22 |
| 公开(公告)号: | CN111796932A | 公开(公告)日: | 2020-10-20 |
| 发明(设计)人: | 徐山川;王滨;王臣汉 | 申请(专利权)人: | 贝式计算(天津)信息技术有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
| 代理公司: | 北京卓唐知识产权代理有限公司 11541 | 代理人: | 卜荣丽 |
| 地址: | 100027 北京市朝*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 gpu 资源 调度 方法 | ||
本发明涉及通信应用技术领域,公开了一种GPU资源调度方法,包括步骤:S1、首先从集群中收集GPU的基本信息,并提供gpu‑usages接口,进入步骤S2;S2、创建GPU应用,并向Kubernetes调度器发送应用请求,进入步骤S3;S3、Kubernetes调度器在接收到该应用请求后会遍历集群中所有的GPU应用,进入步骤S4;S4、通过gpu‑usages接口计算满足该应用的调度需求的GPU,进入步骤S5;S5、GPU管理器按照应用上GPU所在机器将指定的GPU资源绑定到该应用中。实现了单个GPU在多个应用中按照GPU显存和GPU算力百分比的共享,大大提升了单个GPU的利用效率,降低了GPU应用的成本。
技术领域
本发明涉及通信应用技术领域,具体而言,涉及一种GPU资源调度方法。
背景技术
随着设备性能的爆炸式的增长,以及虚拟化技术的逐渐普及,如何在已有的物理设备上实现多台虚拟化设备的资源动态分配、灵活调度、提高资源利用率,以满足用户在日常工作中需求迫在眉睫。
采用Kubernetes对企业服务器集群进行管理极大的降低了企业的运维成本、提升了资源的利用率,但目前为止Kubernetes对每个机器的资源管理主要是对CPU、内存、存储以及其他硬件的管理。由于目前越来越多的企业采用GPU进行机器学习的模型训练和在线服务,对GPU资源的高效管理显得愈发重要。
现有技术的缺陷:对GPU资实体GPU卡为单位进行资源分配,无法实现多个应用共享GPU资源,这会导致源是以即使单个应用没有充分使用所分配的计算资源也无法将这种独占的资源分配给其他应用,使得GPU资源无法得到充分利用。
发明内容
本发明的主要目的在于提供一种GPU资源调度方法,以解决目前的单个应用使GPU资源无法得到充分利用问题。
为了实现上述目的,本发明提供了如下技术:
一种GPU资源调度方法,包括步骤:
S1、首先从集群中收集GPU的基本信息,并提供gpu-usages接口,进入步骤S2;
S2、创建GPU应用,并向Kubernetes调度器发送应用请求,进入步骤S3;
S3、Kubernetes调度器在接收到该应用请求后会遍历集群中所有的GPU应用,进入步骤S4;
S4、通过gpu-usages接口计算满足该应用的调度需求的GPU,进入步骤S5;
S5、GPU管理器按照应用上GPU所在机器将指定的GPU资源绑定到该应用中。
进一步地,步骤S2中,创建GPU应用过程中,应用提供其所需要的显存值以及算力值。
进一步地,步骤S1中,收集GPU的基本信息包括GPU的型号、显存和GPU核心。
进一步地,步骤S4中,若集群中没有满足该应用的调度需求的GPU,则进入步骤S6,S6、GPU资源的隔离。
进一步地,S6包括步骤S60和S61,S60、发现应用程序要求的显存超出了预先设定值,或者大于集群中所有GPU显存值,则返回显存分配失败;S61、对执行线程进行包装,周期性检查该程序对GPU的核心使用率,超过设定的使用核心值,或者大于集群中所有GPU显存值,则把当前执行线程划入等待执行线程中。
进一步地,在步骤S2中,创建GPU应用过程中,还应该提供其所需要的GPU的型号和GPU的个数。
进一步地,在步骤S4中,取满足需求的第一个GPU,在应用上标记GPU所在的机器的名字以及GPU在机器中的编号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝式计算(天津)信息技术有限公司,未经贝式计算(天津)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010576793.7/2.html,转载请声明来源钻瓜专利网。





