本发明涉及gpu,尤其涉及一种gpu集群调度方法、装置。
背景技术:
1、得益于gpu设备高性能的计算能力,gpu目前在深度学习,机器学习等等领域有着广泛的应用。随着人工智能技术的不断发展与推广,对ai模型的训练越来越依赖于大量的gpu设备。这些设备组成集群之后如何进行调度,提高gpu集群的利用率成为了一个研究热点。
2、现有的gpu调度集群很少出现租户的概念,但是云厂商提供gpu却往往需要涉及到多租户的资源分配,提高集群效率的同时租户之间的公平性如何保证成为研究gpu调度集群的一个挑战。
技术实现思路
1、针对现有技术的不足,本发明提出一种gpu集群调度方法、装置,该方法在提高gpu集群资源利用率的同时,兼顾多租户的公平性。
2、为了实现上述目的,本发明一方面提供一种gpu集群调度方法,包括:
3、租户提交任务至等待队列;
4、获取集群中各个计算节点上的任务信息;
5、从所述等待队列中选取满足第一预设条件的任务;
6、依据所述任务与计算节点的亲和性,将满足第一预设条件的所述任务调度至选取满足第二预设条件的所述计算节点。
7、可选的,所述租户提交任务至等待队列之前,还包括:
8、将所述计算节点上的gpu分别按照内存与算力虚拟化成细粒度资源,
9、启动全局调度器控制全局的资源调度,所述计算节点上启动局部代理控制本节点上的gpu调度,所述全局调度器用于集群任务调度,所述局部代理用于收集租户资源使用情况。
10、可选的,所述租户提交任务至等待队列,包括:
11、在集群中创建所述租户,所述租户申请相应配额的资源;
12、所述租户使用申请到的所述资源提交任务到所述等待队列。
13、可选的,所述获取集群中各个计算节点上的任务信息,包括:
14、各个所述计算节点统计自身资源使用情况与任务执行情况上传给所述全局调度器。
15、可选的,所述的方法还包括:
16、当监测到任务到达和/或任务离开时,进行资源调度,从所述等待队列中选取满足所述第一预设条件的任务。
17、可选的,所述第一预设条件为根据租户时间维度与空间维度确定任务的调度优先级条件;
18、所述空间维度为所述租户未使用的gpu显存份额;
19、所述时间维度为所述租户现行运行任务的使用时间在过去某一时间段的占比。
20、可选的,所述第一预设条件还包括:
21、在同一个租户提交的多个任务具有相同的调度优先级的情况下,选择需要使用资源最少的一任务优先。
22、可选的,所述第二预设条件为亲和性最高的计算节点优先级条件,包括:
23、在任务需要的资源小于一张gpu卡的情况下,采用树上资源碎片最小的所述计算节点优先;
24、在任务需要的资源等于一张gpu卡的情况下,采用与其他节点通信开销最大的所述计算节点优先;
25、在任务需要的资源多于一张gpu卡的情况下,则采用通信开销最小的所述计算节点优先。
26、可选的,当有任务运行结束时,通知所述全局调度器,再次进行下一任务调度。
27、本发明另一方面还提供了一种gpu集群调度装置,采用上述的gpu集群调度方法,包括:
28、任务提交模块,用于租户提交任务至等待队列;
29、节点任务获取模块,用于获取集群中各个计算节点上的任务信息;
30、调度任务选取模块,用于从所述等待队列中选取满足第一预设条件的任务;
31、任务放置模块,用于依据所述任务与计算节点的亲和性,将所述任务调度至选取满足第二预设条件的所述计算节点。
32、由以上方案可知,本发明的优点在于:
33、本发明提供的gpu集群调度方法,通过在集群中创建租户,租户提交任务至等待队列,并获取集群中各个计算节点上的任务信息;然后,根据租户时间与空间维度做公平性调度,提升集群租户公平性,通过从所述等待队列中选取满足第一预设条件的任务,依据所述任务与计算节点的亲和性,将满足第一预设条件的所述任务调度至选取满足第二预设条件的所述计算节点。该方法可以管理整个gpu集群的分配与调度,在提高集群gpu资源利用率的同时,兼顾多租户的公平性。
1.一种gpu集群调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述租户提交任务至等待队列之前,还包括:
3.根据权利要求2所述的方法,其特征在于,所述租户提交任务至等待队列,包括:
4.根据权利要求2所述的方法,其特征在于,所述获取集群中各个计算节点上的任务信息,包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1所述的方法,其特征在于,所述第一预设条件为根据租户时间维度与空间维度确定任务的调度优先级条件;
7.根据权利要求6所述的方法,其特征在于,所述第一预设条件还包括:
8.根据权利要求1所述的方法,其特征在于,所述第二预设条件为亲和性最高的计算节点优先级条件,包括:
9.根据权利要求2所述的方法,其特征在于,还包括:
10.一种gpu集群调度装置,其特征在于,采用权利要求1-9任一项所述的gpu集群调度方法,包括: