使用正缓存和负缓存的资源调度方法及实现所述方法的资源管理器技术

技术编号:38209470 阅读:17 留言:0更新日期:2023-07-21 17:00
资源调度方法和资源管理器定义了叶存储空间,每个叶存储空间在坐标空间的对应维度上具有坐标。具有所述对应维度中的资源值的节点映射到所述叶存储空间上。任务请求标识与所述坐标空间维度相关的候选节点和请求的资源。扫描所述叶存储空间以在所述候选列表中找到适合节点。扫描结果存储在正或负缓存项中。当接收到同一任务组的下一个任务请求时,使用来自所述正或负缓存项的信息执行对所述叶存储空间的扫描。对于正缓存项,所述扫描从上一次扫描结束的点启动。对于负缓存项,所述扫描忽略在上一次扫描中发现不包括所述请求的资源的节点。节点。节点。

【技术实现步骤摘要】
【国外来华专利技术】使用正缓存和负缓存的资源调度方法及实现所述方法的资源管理器
[0001]本申请要求于2020年10月23日提交的、专利技术名称为“使用正缓存和负缓存的资源调度方法及实现所述方法的资源管理器(RESOURCE SCHEDULING METHODS USING POSITIVE AND NEGATIVE CACHING,AND RESOURCE MANAGER IMPLEMENTING THE METHODS)”的第17/078,433号美国专利申请案的优先权,该申请通过全文引用的方式并入本文中。


[0002]本专利技术大体上涉及计算机集群或云计算平台的资源节点的资源调度领域。

技术介绍

[0003]计算机集群和云计算平台按需提供计算机系统资源。计算机集群和云计算平台的计算机系统资源通常被组织为资源节点。例如,资源节点可以是计算机集群中的物理机、云计算平台中的虚拟机或主机。每个资源节点可以包括一个或多个处理器和一个或多个存储设备。每个资源节点可以支持可分离的资源组,包括虚拟核心(称为“vcore”)和对应的内存值。
[0004]计算机集群和云计算平台的大量用户发送计算机作业,以便在计算机集群或云计算平台中的一组资源节点上执行。计算机作业通常竞争计算机集群或云计算平台的可用资源节点。每个计算机作业可以包括一个或多个任务。为了将可用的资源节点分配给任务,可能需要考虑任务中提供的各种要求和各种资源调度方法。
[0005]这些任务可以指定不同的资源要求。例如,一个任务可以指定资源节点的vcore值和内存值等期望的资源要求。任务还可以指定局部性约束,该局部性约束标识可以执行任务的一组“候选节点”。此外,当将可用资源节点分配给任务时,资源管理器可能需要考虑各种附加优化标准,例如,调度吞吐量、总体利用率、公平性和/或负载平衡。
[0006]资源调度用作数据密集型集群和云的现代调度程序中的键值构建块。随着数据量、速度和多样性的快速增长,不同租户或应用程序提交的许多作业中的任务流争夺共享集群和云中的相同资源池。因此,资源管理器需要基于资源节点的可用性、许多节点属性以及许多要求和约束,高效地将计算机作业中包括的任务分配给资源节点。
[0007]这些现代系统中的任务在资源要求和局部性约束都是高度多样化的。具体地,任务具有多个维度,包括vcore、内存、GPU、磁盘和网络的量。此外,每个任务可以指定局部性约束,即,任务t可以被限制为仅在特定的节点集上调度或执行,这些节点集被称为任务t的候选集。候选集的基数可以是1至N的任何整数,其中,N是系统中的节点总数。
[0008]资源池中的节点经常是异构的,每个节点的可用性可能会随着作业的执行而不断变化。一些节点可以具有丰富的中央处理单元(central processing unit,CPU)或内存,适合CPU密集型或内存密集型任务,而图形处理单元(graphical processing unit,GPU)只能在特定的节点集上进行访问。考虑到作业的多样性和资源的异构性,资源调度需要在可用性和局部性的约束下将任务分配给节点,同时遵循不同的优化准则。
[0009]可以以简单方式实现用于计算机作业任务的资源调度的传统系统和方法,因此,通过传统系统和方法对计算机作业任务的资源调度可能是耗时的。大多数最先进的系统都构建在简单的资源调度实现之上,并具有非常大的计算复杂性。例如,用于在N中为单个任务t选择节点n的计算复杂性可以是O(N)或O(logN)的数量级。

技术实现思路

[0010]本专利技术的目的是提供用于计算机集群或云计算平台的资源节点的资源调度的方法和装置,所述方法和装置克服了当前技术带来的不便。
[0011]如本文所述的用于计算机集群或云计算平台的资源节点的资源调度的装置和方法可以有助于改进计算机集群或云计算平台的资源节点的资源调度,以便为作为计算机作业一部分的任务高效地分配资源节点。本文描述的方法和系统可以有助于为接收到的任务集中的每个任务从资源节点池中高效地选择资源节点。本专利技术的实施例考虑了所述资源节点的可用性、各种节点属性和任务中接收的各种规范。具体地,本专利技术考虑到资源的多维度和局部性,提供缓存正搜索结果和负搜索结果以加速资源调度。就本专利技术而言,任务是计算机作业的资源请求单元。
[0012]根据这一目的,本专利技术的一方面提供了一种用于映射到坐标空间上的多个节点的资源调度方法,其中,所述坐标空间定义了多个叶存储空间,每个叶存储空间在所述坐标空间中的一个或多个维度上具有一个或多个坐标,所述方法包括:将所述多个节点映射到所述叶存储空间,其中,每个节点具有标识,每个节点还具有与所述节点映射到的所述叶存储空间的所述一个或多个坐标对应的一个或多个资源值;接收对第一任务的请求,其中,所述第一任务指定与所述坐标空间上的所述一个或多个维度对应的一个或多个请求的资源值,所述第一任务还指定候选节点列表;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表中选择第一节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述一个或多个请求的资源值,所述多个叶存储空间中的所述至少一个叶存储空间在所述坐标空间中的第一方向上被扫描;将包括所述第一节点的所述叶存储空间记录在正缓存项中;在资源调度中将所述第一节点分配给所述第一任务;将所述第一节点的所述一个或多个资源值减小所述一个或多个请求的资源值;根据所述第一节点的所述一个或多个减小的资源值,在所述多个叶存储空间中重新定位所述第一节点。
[0013]在至少一个实施例中,所述第一任务是第一任务组的一部分,所述第一任务组中的多个任务中的每个任务包括所述一个或多个请求的资源值和由所述第一任务定义的所述候选节点列表。
[0014]在至少一个实施例中,为对应的多个任务组定义多个正缓存项。
[0015]在至少一个实施例中,所述方法还包括:接收对下一个任务的请求,其中,所述下一个任务是所述第一任务组的一部分;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表中选择下一个节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述一个或多个请求的资源值,所述多个叶存储空间中的所述至少一个叶存储空间在从所述正缓存项中记录的所述叶存储空间开始的所述坐标空间中的所述第一方向上被扫描;用包括所述下一个节点的所述叶存储空间覆写所
述正缓存项;在所述资源调度中将所述下一个节点分配给所述下一个任务;将所述下一个节点的所述一个或多个资源值减小所述一个或多个请求的资源值;根据所述下一个节点的所述一个或多个减小的资源值,在所述坐标空间中重新定位所述下一个节点。
[0016]在至少一个实施例中,所述方法还包括:接收对下一个任务的请求,其中,所述下一个任务指定所述第一任务组中的所述一个或多个请求的资源值,所述下一个任务指定所述第一任务组的所述候选节点列表的子集;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表的所述子集中选本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于映射到坐标空间的多个节点的资源调度方法,其特征在于,所述坐标空间定义了多个叶存储空间,每个叶存储空间在所述坐标空间中的一个或多个维度上具有一个或多个坐标,所述方法包括:将所述多个节点映射到所述叶存储空间,其中,每个节点具有标识,每个节点还具有与所述节点映射到的所述叶存储空间的所述一个或多个坐标对应的一个或多个资源值;接收对第一任务的请求,其中,所述第一任务指定与所述坐标空间上的所述一个或多个维度对应的一个或多个请求的资源值,所述第一任务还指定候选节点列表;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表中选择第一节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述一个或多个请求的资源值,所述多个叶存储空间中的所述至少一个叶存储空间在所述坐标空间中的第一方向上被扫描;将包括所述第一节点的所述叶存储空间记录在正缓存项中;在资源调度中将所述第一节点分配给所述第一任务;将所述第一节点的所述一个或多个资源值减小所述一个或多个请求的资源值;根据所述第一节点的所述一个或多个减小的资源值,在所述多个叶存储空间中重新定位所述第一节点。2.根据权利要求1所述的方法,其特征在于,所述第一任务是第一任务组的一部分,所述第一任务组中的多个任务中的每个任务包括所述一个或多个请求的资源值和由所述第一任务定义的所述候选节点列表。3.根据权利要求2所述的方法,其特征在于,为对应的多个任务组定义多个正缓存项。4.根据权利要求2所述的方法,其特征在于,还包括:接收对下一个任务的请求,其中,所述下一个任务是所述第一任务组的一部分;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表中选择下一个节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述一个或多个请求的资源值,所述多个叶存储空间中的所述至少一个叶存储空间在从所述正缓存项中记录的所述叶存储空间开始的所述坐标空间中的所述第一方向上被扫描;用包括所述下一个节点的所述叶存储空间覆写所述正缓存项;在所述资源调度中将所述下一个节点分配给所述下一个任务;将所述下一个节点的所述一个或多个资源值减小所述一个或多个请求的资源值;根据所述下一个节点的所述一个或多个减小的资源值,在所述坐标空间中重新定位所述下一个节点。5.根据权利要求2所述的方法,其特征在于,还包括:接收对下一个任务的请求,其中,所述下一个任务指定所述第一任务组中的所述一个或多个请求的资源值,所述下一个任务指定所述第一任务组的所述候选节点列表的子集;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表的所述子集中选择下一个节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述一个或多个请求的资源值,所述多个叶存储空间中的所述至少一个叶存储空间在从所述正缓存项中记录的所述叶存储空间开始的所述坐标空间中的所述
第一方向上被扫描;用包括所述下一个节点的所述叶存储空间覆写所述正缓存项;在所述资源调度中将所述下一个节点分配给所述下一个任务;将所述下一个节点的所述一个或多个资源值减小所述一个或多个请求的资源值;根据所述下一个节点的所述一个或多个减小的资源值,在所述坐标空间中重新定位所述下一个节点。6.根据权利要求2所述的方法,其特征在于,上下文标签附加到所述第一任务;所述将包括所述第一节点的所述叶存储空间记录在所述正缓存项中包括:将所述上下文标签记录在所述正缓存项中;所述方法还包括:接收对下一个任务的请求,其中,所述下一个任务指定所述第一任务组中的所述一个或多个请求的资源值和所述上下文标签,所述下一个任务指定所述第一任务组的所述候选节点列表的子集;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表的子集中选择下一个节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述一个或多个请求的资源值,所述多个叶存储空间中的所述至少一个叶存储空间在从所述正缓存项中记录的所述叶存储空间开始的所述坐标空间中的所述第一方向上被扫描,所述第一任务组中的所述上下文标签用于标识所述正缓存项;用包括所述下一个节点的所述叶存储空间覆写所述正缓存项;在所述资源调度中将所述下一个节点分配给所述下一个任务;将所述下一个节点的所述一个或多个资源值减小所述一个或多个请求的资源值;根据所述下一个节点的所述一个或多个减小的资源值,在所述坐标空间中重新定位所述下一个节点。7.根据权利要求1所述的方法,其特征在于,在所述坐标空间中还定义了以下存储空间:根存储空间,包括所述坐标空间的所有维度;多个子存储空间,其中,每个子存储空间由坐标矢量定义,所述坐标矢量包括所述坐标空间的一个或多个维度中的第一维度的第一坐标,其中,每个叶存储空间与其中一个子存储空间关联,所述叶存储空间的第一坐标等于与其关联的所述子存储空间的第一坐标;所述在所述坐标空间中的所述第一方向上扫描所述多个叶存储空间中的至少一个叶存储空间包括:在扫描与下一个子存储空间关联的叶存储空间之前扫描与第一子存储空间关联的叶存储空间。8.根据权利要求1所述的方法,其特征在于,所述扫描所述多个叶存储空间中的所述至少一个叶存储空间以从所述候选节点列表中选择所述第一节点包括:对所述叶存储空间执行外环扫描以选择适合存储空间;对所述适合存储空间执行内环扫描以选择所述第一节点。
9.一种用于映射到坐标空间上的多个节点的资源调度方法,其特征在于,所述坐标空间定义了多个叶存储空间,每个叶存储空间在所述坐标空间中的一个或多个维度上具有一个或多个坐标,所述方法包括:将所述多个节点映射到所述叶存储空间,其中,每个节点具有标识,每个节点还具有与所述节点映射到的所述叶存储空间的所述一个或多个坐标对应的一个或多个资源值;接收对第一任务的请求,其中,所述第一任务指定与所述坐标空间上的所述一个或多个维度对应的一个或多个请求的资源值,所述第一任务还指定候选节点列表;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表中选择第一节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述一个或多个请求的资源值,所述多个叶存储空间中的所述至少一个叶存储空间在所述坐标空间中的第一方向上被扫描;在负缓存项中记录扫描的叶存储空间中候选节点列表中的零个或多个节点,其中,所述候选节点列表的零个或多个节点的值小于所述一个或多个请求的资源值;在资源调度中将所述第一节点分配给所述第一任务;将所述第一节点的所述一个或多个资源值减小所述一个或多个请求的资源值;根据所述第一节点的所述一个或多个减小的资源值,在所述多个叶存储空间中重新定位所述第一节点。10.根据权利要求9所述的方法,其特征在于,所述第一任务是第一任务组的一部分,所述第一任务组中的多个任务中的每个任务包括所述一个或多个请求的资源值和由所述第一任务定义的所述候选节点列表。11.根据权利要求10所述的方法,其特征在于,为对应的多个任务组定义多个负缓存项。12.根据权利要求10所述的方法,其特征在于,还包括:接收对下一个任务的请求,其中,所述下一个任务是所述第一任务组的一部分;扫描所述坐标空间中的所述多个叶存储空间中的至少一个叶存储空间,以从所述候选节点列表中选择下一个节点,在所述候选节点中,所述一个或多个资源值中的每个资源值至少等于所述...

【专利技术属性】
技术研发人员:陈晨马浩海杰森
申请(专利权)人:华为云计算技术有限公司
类型:发明
国别省市:

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

1