GPU集群调度方法、装置制造方法及图纸

技术编号:38200004 阅读:14 留言:0更新日期:2023-07-21 16:41
本发明专利技术提出一种GPU集群调度方法、装置,所述方法包括:租户提交任务至等待队列;获取集群中各个计算节点上的任务信息;从所述等待队列中选取满足第一预设条件的任务;依据所述任务与计算节点的亲和性,将满足第一预设条件的所述任务调度至选取满足第二预设条件的所述计算节点。该方法在提高GPU集群资源利用率的同时,兼顾多租户的公平性。兼顾多租户的公平性。兼顾多租户的公平性。

【技术实现步骤摘要】
GPU集群调度方法、装置


[0001]本专利技术涉及GPU
,尤其涉及一种GPU集群调度方法、装置。

技术介绍

[0002]得益于GPU设备高性能的计算能力,GPU目前在深度学习,机器学习等等领域有着广泛的应用。随着人工智能技术的不断发展与推广,对AI模型的训练越来越依赖于大量的GPU设备。这些设备组成集群之后如何进行调度,提高GPU集群的利用率成为了一个研究热点。
[0003]现有的GPU调度集群很少出现租户的概念,但是云厂商提供GPU却往往需要涉及到多租户的资源分配,提高集群效率的同时租户之间的公平性如何保证成为研究GPU调度集群的一个挑战。

技术实现思路

[0004]针对现有技术的不足,本专利技术提出一种GPU集群调度方法、装置,该方法在提高GPU集群资源利用率的同时,兼顾多租户的公平性。
[0005]为了实现上述目的,本专利技术一方面提供一种GPU集群调度方法,包括:
[0006]租户提交任务至等待队列;
[0007]获取集群中各个计算节点上的任务信息;
[0008]从所述等待队列中选取满足第一预设条件的任务;
[0009]依据所述任务与计算节点的亲和性,将满足第一预设条件的所述任务调度至选取满足第二预设条件的所述计算节点。
[0010]可选的,所述租户提交任务至等待队列之前,还包括:
[0011]将所述计算节点上的GPU分别按照内存与算力虚拟化成细粒度资源,
[0012]启动全局调度器控制全局的资源调度,所述计算节点上启动局部代理控制本节点上的GPU调度,所述全局调度器用于集群任务调度,所述局部代理用于收集租户资源使用情况。
[0013]可选的,所述租户提交任务至等待队列,包括:
[0014]在集群中创建所述租户,所述租户申请相应配额的资源;
[0015]所述租户使用申请到的所述资源提交任务到所述等待队列。
[0016]可选的,所述获取集群中各个计算节点上的任务信息,包括:
[0017]各个所述计算节点统计自身资源使用情况与任务执行情况上传给所述全局调度器。
[0018]可选的,所述的方法还包括:
[0019]当监测到任务到达和/或任务离开时,进行资源调度,从所述等待队列中选取满足所述第一预设条件的任务。
[0020]可选的,所述第一预设条件为根据租户时间维度与空间维度确定任务的调度优先
级条件;
[0021]所述空间维度为所述租户未使用的GPU显存份额;
[0022]所述时间维度为所述租户现行运行任务的使用时间在过去某一时间段的占比。
[0023]可选的,所述第一预设条件还包括:
[0024]在同一个租户提交的多个任务具有相同的调度优先级的情况下,选择需要使用资源最少的一任务优先。
[0025]可选的,所述第二预设条件为亲和性最高的计算节点优先级条件,包括:
[0026]在任务需要的资源小于一张GPU卡的情况下,采用树上资源碎片最小的所述计算节点优先;
[0027]在任务需要的资源等于一张GPU卡的情况下,采用与其他节点通信开销最大的所述计算节点优先;
[0028]在任务需要的资源多于一张GPU卡的情况下,则采用通信开销最小的所述计算节点优先。
[0029]可选的,当有任务运行结束时,通知所述全局调度器,再次进行下一任务调度。
[0030]本专利技术另一方面还提供了一种GPU集群调度装置,采用上述的GPU集群调度方法,包括:
[0031]任务提交模块,用于租户提交任务至等待队列;
[0032]节点任务获取模块,用于获取集群中各个计算节点上的任务信息;
[0033]调度任务选取模块,用于从所述等待队列中选取满足第一预设条件的任务;
[0034]任务放置模块,用于依据所述任务与计算节点的亲和性,将所述任务调度至选取满足第二预设条件的所述计算节点。
[0035]由以上方案可知,本专利技术的优点在于:
[0036]本专利技术提供的GPU集群调度方法,通过在集群中创建租户,租户提交任务至等待队列,并获取集群中各个计算节点上的任务信息;然后,根据租户时间与空间维度做公平性调度,提升集群租户公平性,通过从所述等待队列中选取满足第一预设条件的任务,依据所述任务与计算节点的亲和性,将满足第一预设条件的所述任务调度至选取满足第二预设条件的所述计算节点。该方法可以管理整个GPU集群的分配与调度,在提高集群GPU资源利用率的同时,兼顾多租户的公平性。
附图说明
[0037]图1为本专利技术实施例提供的GPU集群调度方法的流程示意图;
[0038]图2为GPU集群调度系统的原理图;
[0039]图3为本专利技术实施例的GPU集群调度装置的框架图;
[0040]图4为电子设备的结构示意图;
[0041]其中:
[0042]300

GPU集群调度装置;
[0043]301

任务提交模块;
[0044]302

节点任务获取模块;
[0045]303

调度任务选取模块;
[0046]304

任务放置模块;
[0047]400

电子设备;
[0048]401

处理器;
[0049]402

存储器。
具体实施方式
[0050]为让本专利技术的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
[0051]本专利技术实施例提供的GPU集群调度方法,可以管理整个GPU集群的分配与调度,在提高集群GPU资源利用率的同时,兼顾多租户的公平性。
[0052]具体的,参考图1中所示,图1示出了GPU集群调度方法的流程示意图;
[0053]一种GPU集群调度方法,包括:
[0054]S1、租户提交任务至等待队列;
[0055]本实施例中,通过在集群中创建所述租户,所述租户申请相应配额的资源,所述租户使用申请到的所述资源提交任务到所述等待队列。
[0056]此外,在具体实现中,所述租户提交任务至等待队列之前,还包括:
[0057]将所述计算节点上的GPU分别按照内存与算力虚拟化成细粒度资源,在一些实施例中,具体使用kubernetes提供的设备扩展插件来进行k8s集群的GPU设备扩展与虚拟化,kubernetes集群可以细粒度分配GPU。
[0058]深度学习训练任务一旦开始,为了避免更多的复杂逻辑与调度开销,本实例就不再更改任务运行的位置。在一些实施例中,适用的深度学习框架为tensorflow、pytorch。
[0059]启动全局调度器控制全局的资源调度,所述计算节点上启动局部代理控制本节点上的GPU调度,全局调度器与局部代理调度原理如图2中所示。本本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种GPU集群调度方法,其特征在于,包括:租户提交任务至等待队列;获取集群中各个计算节点上的任务信息;从所述等待队列中选取满足第一预设条件的任务;依据所述任务与计算节点的亲和性,将满足第一预设条件的所述任务调度至选取满足第二预设条件的所述计算节点。2.根据权利要求1所述的方法,其特征在于,所述租户提交任务至等待队列之前,还包括:将所述计算节点上的GPU分别按照内存与算力虚拟化成细粒度资源,启动全局调度器控制全局的资源调度,所述计算节点上启动局部代理控制本节点上的GPU调度,所述全局调度器用于集群任务调度,所述局部代理用于收集租户资源使用情况。3.根据权利要求2所述的方法,其特征在于,所述租户提交任务至等待队列,包括:在集群中创建所述租户,所述租户申请相应配额的资源;所述租户使用申请到的所述资源提交任务到所述等待队列。4.根据权利要求2所述的方法,其特征在于,所述获取集群中各个计算节点上的任务信息,包括:各个所述计算节点统计自身资源使用情况与任务执行情况上传给所述全局调度器。5.根据权利要求1所述的方法,其特征在于,还包括:当监测到任务到达和/或任务离开时,进行资源调度,从所述等待队列中选取满足所述第一预设条件的任务。6.根据权利要求1所述的方法,其特征在于,所述第一预设条件为根据租户时间维度与空间维度确定任务的调度优先级条件;所...

【专利技术属性】
技术研发人员:李志轩孙毓忠张凯
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:

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

1