一种高效调度GPU能力的负载均衡方法及系统技术方案

技术编号:27593304 阅读:15 留言:0更新日期:2021-03-10 10:11
本发明专利技术公开了一种高效调度GPU能力的负载均衡方法及系统,方法包括以下步骤:查询所有GPU卡的数量以及每张所述GPU卡的显存;根据目标进程组申请的显存大小进行初步筛选,筛选出可用显存资源满足该目标进程组申请的节点;进行二次筛选,从所述节点中筛选出可用显存资源满足该目标进程组申请的GPU卡;进行三次筛选,从所述GPU卡中筛选出可用显存资源最少的GPU卡,并将所述GPU卡所在的节点与所述目标进程组进行绑定;在与所述目标进程组绑定的所述节点上创建所述目标进程组。本发明专利技术的有益效果:可让使用者通过API描述来实现对一个可共享资源的申请,并能实现该种资源的调度,从而可使任务调度更加合理高效,提高了GPU的利用率。提高了GPU的利用率。

【技术实现步骤摘要】
一种高效调度GPU能力的负载均衡方法及系统


[0001]本专利技术涉及负载均衡的
,具体来说,涉及一种高效调度GPU能力的负载均衡方法及系统。

技术介绍

[0002]负载均衡策略是互联网开发运营过程中经常遇到的一类问题。负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。通过调用系统函数将图片识别请求进行转换,得到识别任务,并将识别任务放入任务队列,任务队列用于缓存识别任务;通过while循环从任务队列中取出当前识别任务;通过调用系统API函数获取系统GPU的数量;通过调用系统API函数GPU_GetUsages获取各系统GPU的使用率;根据各系统GPU的使用率,确定使用率最小的系统GPU,并将当前识别任务分配给使用率最小的系统GPU执行。
[0003]全球主要的容器集群服务厂商的容器集群管理系统(Kubernetes)服务都提供了Nvidia GPU容器调度能力,但是通常都是将一个GPU卡分配给一个容器。这可以实现比较好的隔离性,确保使用GPU的应用不会被其他应用影响;对于深度学习模型训练的场景非常适合,但是如果对于模型开发和模型预测的场景就会比较浪费。大家的诉求是能够让更多的预测服务共享同一个GPU卡上,进而提高集群中Nvidia GPU的利用率。而这就需要提供GPU资源的划分,而这里GPU资源划分的维度指的就是GPU显存和Cuda Kernel线程的划分。
[0004]GPU共享,是指在同一张GPU卡上同时运行多个任务。GPU共享应用在集群中可以运行更多任务,减少抢占。GPU共享后,总利用率接近运行任务利用率之和,减少了资源浪费。GPU共享后可以增强公平性,因为多个任务可以同时开始享受资源;也可以单独保证某一个任务的QoS;可减少任务排队时间;使总任务结束时间下降;假设两个任务结束时间分别是x,y,通过GPU共享,两个任务全部结束的时间小于x+y。
[0005]通常在集群级别谈支持共享GPU指的是两件事情:一是调度,二是隔离,对于细粒度的GPU卡调度而言,目前容器集群服务厂商并没有很好的方案,这是由于容器集群管理系统对于GPU这类扩展资源的定义仅仅支持整数粒度的加加减减,无法支持复杂资源的分配。比如用户希望使用进程组(Pod)A占用半张GPU卡,这在目前容器集群管理系统的架构设计中是无法实现的,更不用多GPU卡的共享。
[0006]针对相关技术中的问题,目前尚未提出有效的解决方案。

技术实现思路

[0007]针对相关技术中的上述技术问题,本专利技术提出一种高效调度GPU能力的负载均衡方法,可让使用者通过API描述来实现对一个可共享资源的申请,并能实现该种资源的调度。
[0008]为实现上述技术目的,本专利技术的技术方案是这样实现的:一种高效调度GPU能力的负载均衡方法,包括以下步骤:
S1查询所有GPU卡的数量以及每张所述GPU卡的显存;S2根据目标进程组申请的显存大小进行初步筛选,筛选出可用显存资源满足该目标进程组申请的节点;S3进行二次筛选,从所述节点中筛选出可用显存资源满足该目标进程组申请的GPU卡;S4进行三次筛选,从所述GPU卡中筛选出可用显存资源最少的GPU卡,并将所述GPU卡所在的节点与所述目标进程组进行绑定;S5在与所述目标进程组绑定的所述节点上创建所述目标进程组。
[0009]进一步地,在S1中,GPU共享设备插件通过nvml库查询所述GPU卡的数量以及所述GPU卡的显存。
[0010]进一步地,在S2中,容器集群管理系统通过全局调度器进行初步筛选。
[0011]进一步地,在S3中,所述全局调度器通过所述GPU共享调度器扩展组件进行二次筛选。
[0012]进一步地,在S4中,所述GPU共享调度器扩展组件进行三次筛选,所述GPU共享调度器扩展组件通过API 服务器将所述节点与所述进程进行绑定。
[0013]进一步地,在S5中,通过运行在与所述目标进程组绑定的所述节点上的代理来创建所述目标进程组。
[0014]进一步地,在S5中,在创建所述目标进程组时,首先会列出该节点中所有状态为等待并且未创建所述目标进程组的GPU共享进程组,然后选择出进程数量与所述目标进程组的进程数量一致的所述GPU共享进程组,若有多个符合这种条件的所述GPU共享进程组,则选择其中指定时间最早的所述GPU共享进程组;最后将所述GPU共享进程组的GPU信息转化为环境变量返回给所述代理用以创建所述目标进程组。
[0015]本专利技术还提供了一种高效调度GPU能力的负载均衡系统,包括:GPU共享设备插件,用于查询所有GPU卡的数量以及每张所述GPU卡的显存;全局调度器,用于进行初步筛选,筛选出可用显存资源满足目标进程组申请的显存大小的节点;GPU共享调度器扩展组件,用于进行二次筛选和三次筛选,所述二次筛选用于从所述节点中筛选出可用显存资源满足该目标进程组申请的GPU卡,所述三次筛选用于从所述GPU卡中筛选出可用显存资源最少的GPU卡;API 服务器,用于将通过所述三次筛选筛选出的所述GPU卡所在的节点与所述目标进程组进行绑定;代理,用于在与所述目标进程组绑定的所述节点上创建所述目标进程组。
[0016]进一步地,所述GPU共享设备插件通过nvml库查询所述GPU卡的数量以及所述GPU卡的显存。
[0017]进一步地,在创建所述目标进程组时,首先会列出该节点中所有状态为等待并且未创建所述目标进程组的GPU共享进程组,然后选择出进程数量与所述目标进程组的进程数量一致的所述GPU共享进程组,若有多个符合这种条件的所述GPU共享进程组,则选择其中指定时间最早的所述GPU共享进程组;最后将所述GPU共享进程组的GPU信息转化为环境变量返回给所述代理用以创建所述目标进程组。
[0018]本专利技术的有益效果:可让使用者通过API描述来实现对一个可共享资源的申请,并
能实现该种资源的调度,从而可使任务调度更加合理高效,提高了GPU的利用率。
具体实施方式
[0019]下面将对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本专利技术保护的范围。
[0020]根据本专利技术实施例所述的一种高效调度GPU能力的负载均衡方法,包括以下步骤:S1查询所有GPU卡的数量以及每张所述GPU卡的显存;S2根据目标进程组申请的显存大小进行初步筛选,筛选出可用显存资源满足该目标进程组申请的节点;S3进行二次筛选,从所述节点中筛选出可用显存资源满足该目标进程组申请的GPU卡;S4进行三次筛选,从所述GPU卡中筛选出可用显存资源最少的GPU卡,并将所述GPU卡所在的节点与所述目标进程组进行绑定;S5在与所述目标进程组绑定的所述节点上创建所述目标进程组。
[0021]在本专利技术的一个具体实施例中,在S1中,GPU共享本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高效调度GPU能力的负载均衡方法,其特征在于,包括以下步骤:S1查询所有GPU卡的数量以及每张所述GPU卡的显存;S2根据目标进程组申请的显存大小进行初步筛选,筛选出可用显存资源满足该目标进程组申请的节点;S3进行二次筛选,从所述节点中筛选出可用显存资源满足该目标进程组申请的GPU卡;S4进行三次筛选,从所述GPU卡中筛选出可用显存资源最少的GPU卡,并将所述GPU卡所在的节点与所述目标进程组进行绑定;S5在与所述目标进程组绑定的所述节点上创建所述目标进程组。2.根据权利要求1所述的高效调度GPU能力的负载均衡方法,其特征在于,在S1中,GPU共享设备插件通过nvml库查询所述GPU卡的数量以及所述GPU卡的显存。3.根据权利要求1所述的高效调度GPU能力的负载均衡方法,其特征在于,在S2中,容器集群管理系统通过全局调度器进行初步筛选。4.根据权利要求3所述的高效调度GPU能力的负载均衡方法,其特征在于,在S3中,所述全局调度器通过GPU共享调度器扩展组件进行二次筛选。5.根据权利要求4所述的高效调度GPU能力的负载均衡方法,其特征在于,在S4中,所述GPU共享调度器扩展组件进行三次筛选,所述GPU共享调度器扩展组件通过API 服务器将所述节点与所述进程进行绑定。6.根据权利要求1所述的高效调度GPU能力的负载均衡方法,其特征在于,在S5中,通过运行在与所述目标进程组绑定的所述节点上的代理来创建所述目标进程组。7.根据权利要求6所述的高效调度GPU能力的负载均衡方法,其特征在于,在S5中,在创建所述目标进程组时,首先会列出该节点中所有状态为等待并且未创建所述目标进程组的GPU共享进程组,然后选...

【专利技术属性】
技术研发人员:赵洲洋靳雯
申请(专利权)人:日照睿安信息科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1