一种GPU资源调度的方法及装置制造方法及图纸

技术编号:37491062 阅读:12 留言:0更新日期:2023-05-07 09:29
本发明专利技术涉及一种GPU资源调度的方法及装置,其中,该方法通过将各个节点的GPU资源进行汇集组成GPU资源池,在接收算法的GPU资源请求时,会根据GPU资源请求分配GPU资源池里的vGPU,并基于K8s部署算法,使得算法运算时能调用所分配的vGPU,其中vGPU是由多个物理GPU聚合而成或单个物理GPU切分而成,并能实时监控算法的运算过程,计算不同时间段算法运算消耗的实时算力,从而对算法进行缩容或扩容。由此,本发明专利技术实现将异地的GPU资源进行统一的管理,并且对物理GPU进行聚合或切分以此分配对应算法的GPU资源请求的vGPU,实现GPU资源的灵活使用,同时能对算法的运算过程进行监控,根据算法的实时算力对算法进行缩容或扩容,实现按需分配GPU资源,提高GPU资源的利用率。提高GPU资源的利用率。提高GPU资源的利用率。

【技术实现步骤摘要】
一种GPU资源调度的方法及装置


[0001]本专利技术涉及计算机
,尤其涉及一种GPU资源调度的方法及装置。

技术介绍

[0002]随着5G的高速发展,视频识别技术逐渐成熟,对视频进行AI分析的需求呈现爆发式增长,所需的GPU资源的需求也越来越高,传统的AI应用场景中,是以独占式方式分配GPU资源即一个算法占用单张物理GPU显卡的方式,在该方式下资源一旦分配后GPU显卡会被单独占用,直至算法完成才会进行资源释放,这将导致资源无法充分得到利用,造成资源的浪费,且在跨区域或跨网络环境下,某区域资源饱和时,无法调度其他区域空闲资源参与运算,造成资源整体利用率低,明显传统的GPU资源独占方式已经不能满足海量视频分析的需要。

技术实现思路

[0003]本专利技术所要解决的技术问题是:本专利技术提供一种GPU资源调度的方法及装置,提高GPU资源的利用率。
[0004]为了解决上述技术问题,本专利技术采用的技术方案为:
[0005]第一方面,本专利技术提供一种GPU资源调度的方法,包括:
[0006]获取各个节点的GPU资源,基于所述节点将所有GPU资源组成GPU资源池;
[0007]接收第一算法的GPU资源请求,根据所述GPU资源请求分配所述GPU资源池里的第一vGPU,并基于K8s部署所述第一算法,以使得所述第一算法调用所述第一vGPU进行算法运算,所述第一vGPU可以为多个物理GPU聚合而成的vGPU或是将单个物理GPU切分成多块的vGPU;
[0008]实时监控所述第一算法的运算过程,并计算所述第一算法在不同时间段运算消耗的实时算力,基于所述实时算力和所述第一vGPU的资源大小关系对所述第一算法进行缩容或扩容。
[0009]本专利技术的有益效果在于:将各个节点的GPU资源组成GPU资源池,实现对GPU资源的统一管理,并能根据算法的GPU资源请求,对GPU资源进行聚合或切分分配算法所需的vGPU,从而实现对GPU资源的灵活调度,避免独占式分配GPU资源,且能实时监控算法的运算过程,根据算法的实时算力,按需分配GPU资源,提高GPU资源的利用率,避免GPU资源的浪费。
[0010]可选地,所述接收第一算法的GPU资源请求,根据所述GPU资源请求分配所述GPU资源池里的第一vGPU包括:
[0011]接收第一算法的GPU资源请求,若所述GPU资源请求含有优先级级别,则根据所述优先级级别将所述GPU资源请求加入请求等待队列,否则根据所述GPU资源请求的时间将所述GPU资源请求加入请求等待队列;
[0012]当所述请求等待队列中轮到所述第一算法的GPU资源请求时,则根据所述第一算法的GPU资源请求分配GPU资源池里的第一vGPU。
[0013]根据上述描述可知,请求等待队列里的GPU资源请求按照请求的时间进行排序,采用先进先出的原则,实现GPU资源分配的合理性,当GPU资源请求含有优先级级别时,则会按照优先级级别进行排序,满足紧急情况下优先分配GPU资源,实现GPU资源分配的灵活性。
[0014]可选地,所述当所述请求等待队列中轮到所述第一算法的GPU资源请求时,则根据所述第一算法的GPU资源请求分配GPU资源池里的第一vGPU包括:
[0015]当所述请求等待队列中轮到所述第一算法的GPU资源请求时,根据所述GPU资源请求判断所述GPU资源池中是否存在能满足所述GPU资源请求的节点,若存在,则将所有能满足GPU资源请求的节点作为待分配节点;
[0016]获取各个待分配节点中等待分配GPU资源的算法个数,将等待分配GPU资源的算法个数最少的待分配节点作为最终分配GPU资源的节点;
[0017]根据所述GPU资源请求分配所述GPU资源池里的最终分配GPU资源的节点的第一vGPU。
[0018]根据上述描述可知,当存在多个满足GPU资源请求的节点时,会进一步考虑节点中等待分配GPU资源的算法个数,采用最少算法个数的原则选取分配GPU资源的节点,减少GPU资源请求的等待时间,提高GPU资源分配的效率。
[0019]可选地,所述根据所述GPU资源请求判断所述GPU资源池中是否存在能满足所述GPU资源请求的节点还包括:
[0020]若不存在,则获取所述GPU资源池中各个节点的空闲GPU资源,将所有节点的所述空闲GPU资源进行聚合,生成聚合GPU资源,判断所述聚合GPU资源是否能满足所述GPU资源请求,若是,则将所述聚合GPU资源作为第一vGPU分配给第一算法;
[0021]否则判断所述GPU资源请求是否具有抢占属性,若是,则获取各个节点正在运算的各个算法的运算频次、运算周期和运算时段,根据所述运算频次、所述运算周期和所述运算时段计算所述算法的使用频率,根据所述使用频率对正在运算的各个算法进行排序并依据使用频率的高低将所述算法依次退出运算,直至退出之后的聚合GPU资源能满足所述GPU资源请求为止,将退出之后的聚合GPU资源为第一vGPU分配给第一算法。
[0022]根据上述描述可知,当GPU资源池不存在能满足GPU资源请求的节点时,会将所有节点的空闲GPU资源进行聚合后分配vGPU,实现当节点GPU资源饱和时,能有效调度其他节点的GPU资源,且对于有抢占属性的GPU资源请求能够抢占正在运算的低使用频率的算法的GPU资源,使得该GPU资源请求迅速获得所需的GPU资源。
[0023]可选地,所述基于K8s部署所述第一算法,以使得所述第一算法调用所述第一vGPU进行算法运算包括:
[0024]获取所述第一算法的运算模型以及所述第一vGPU的节点上所有算法的运算模型,判断是否存在与所述第一算法的运算模型相同的第二算法,若存在,则将所述第一算法与所述第二算法合并于同一运算模型中,以使得所述第一算法能使用所述第二算法的运算模型来调用所述第一vGPU进行算法运算,否则,基于K8s将所述第一算法部署在所述节点上。
[0025]根据上述描述可知,当部署算法时,若算法具有相同的运算模型,则会将相同运算模型的算法进行合并,从而使得相同运算模型的算法在同一模型中运行,减少运行时GPU开销,提高算法运算的效率和GPU资源使用率。
[0026]可选地,在分配第一vGPU时,优先将与所述第一算法具有相同运算模型的算法所
运行的物理GPU上的vGPU分配为第一vGPU;
[0027]将运行在同一张物理GPU上且具有相同运算模型的所有算法的公共数据常驻在显卡缓存当中。
[0028]根据上述描述可知,将运行在同一张物理GPU上具有相同运算模型的算法的公共数据常驻在缓存中,提高当张物理GPU的承载量,当算法需要调用数据时,直接从缓存中获取,减少GPU开销。
[0029]可选地,所述实时监控所述第一算法的运算过程,并计算所述第一算法在不同时间段运算消耗的实时算力,基于所述实时算力和所述第一vGPU的资源大小关系对所述第一算法进行缩容或扩容包括:
[0030]实时监控所述第一算法的运算过程,获取所述本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU资源调度的的方法,其特征在于,包括:获取各个节点的GPU资源,基于所述节点将所有GPU资源组成GPU资源池;接收第一算法的GPU资源请求,根据所述GPU资源请求分配所述GPU资源池里的第一vGPU,并基于K8s部署所述第一算法,以使得所述第一算法调用所述第一vGPU进行算法运算,所述第一vGPU可以为多个物理GPU聚合而成的vGPU或是将单个物理GPU切分成多块的vGPU;实时监控所述第一算法的运算过程,并计算所述第一算法在不同时间段运算消耗的实时算力,基于所述实时算力和所述第一vGPU的资源大小关系对所述第一算法进行缩容或扩容。2.如权利要求1所述的一种GPU资源调度的方法,其特征在于,所述接收第一算法的GPU资源请求,根据所述GPU资源请求分配所述GPU资源池里的第一vGPU包括:接收第一算法的GPU资源请求,若所述GPU资源请求含有优先级级别,则根据所述优先级级别将所述GPU资源请求加入请求等待队列,否则根据所述GPU资源请求的时间将所述GPU资源请求加入请求等待队列;当所述请求等待队列中轮到所述第一算法的GPU资源请求时,则根据所述第一算法的GPU资源请求分配GPU资源池里的第一vGPU。3.如权利要求2所述的一种GPU资源调度的方法,其特征在于,所述当所述请求等待队列中轮到所述第一算法的GPU资源请求时,则根据所述第一算法的GPU资源请求分配GPU资源池里的第一vGPU包括:当所述请求等待队列中轮到所述第一算法的GPU资源请求时,根据所述GPU资源请求判断所述GPU资源池中是否存在能满足所述GPU资源请求的节点,若存在,则将所有能满足GPU资源请求的节点作为待分配节点;获取各个待分配节点中等待分配GPU资源的算法个数,将等待分配GPU资源的算法个数最少的待分配节点作为最终分配GPU资源的节点;根据所述GPU资源请求分配所述GPU资源池里的最终分配GPU资源的节点的第一vGPU。4.如权利要求3所述的一种GPU资源调度的方法,其特征在于,所述根据所述GPU资源请求判断所述GPU资源池中是否存在能满足所述GPU资源请求的节点还包括:若不存在,则获取所述GPU资源池中各个节点的空闲GPU资源,将所有节点的所述空闲GPU资源进行聚合,生成聚合GPU资源,判断所述聚合GPU资源是否能满足所述GPU资源请求,若是,则将所述聚合GPU资源作为第一vGPU分配给第一算法;否则判断所述GPU资源请求是否具有抢占属性,若是,则获取各个节点正在运算的各个算法的运算频次、运算周期和运算时段,根据所述运算频次、所述运算周期和所述运算时段计算所述算法的使用频率,根据所述使用频率对正在运算的各个算法进行排序并依据使用频率的高低将所述算法依次退出运算,直至退出之后的聚合GPU资源能满足所述GPU资源请求为止,将退出之后的聚合GPU资源为第一vGPU分配给第一算法。5.如权利要求1所述的一种GPU资源调度的方法,其特征在于,所述基于K8s部署所述第一算法,以使得所述第一算法调用所述第一vGPU进行算法运算包括:获取所述第一算法的运算模型以及所述第一vGPU的节点上所有算法的运算模型,判断是否存在与所述第一算法的运算模型相同的第二算法,若存在,则将所述第一算法与所述

【专利技术属性】
技术研发人员:罗新喜徐舒延潘婧
申请(专利权)人:福建福诺移动通信技术有限公司
类型:发明
国别省市:

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

1