任务调度方法、分布式系统及存储介质技术方案

技术编号:33707191 阅读:14 留言:0更新日期:2022-06-06 08:32
本说明书一个或多个实施例提供一种任务调度方法、分布式系统及存储介质,所述方法应用于分布式系统,分布式系统包括有多个数据节点,数据节点包括有多个NUMA节点;所述方法包括:根据待调度任务所需资源以及各个数据节点的可分配资源,确定第一目标数据节点;对于各个第一目标数据节点,根据待调度任务所需资源和各个NUMA节点的可分配资源,确定适合待调度任务运行的目标NUMA节点;根据各个第一目标数据节点中的目标NUMA节点的负载,从第一目标数据节点中选取负载较低的第二目标数据节点;将所述待调度任务部署到所述第二目标数据节点中的目标NUMA节点上。本实施例有利于提供待调度任务在数据节点上的运行性能。度任务在数据节点上的运行性能。度任务在数据节点上的运行性能。

【技术实现步骤摘要】
任务调度方法、分布式系统及存储介质


[0001]本说明书一个或多个实施例涉及计算机软件
,尤其涉及一种任务调度方法、分布式系统及存储介质。

技术介绍

[0002]分布式系统是多个数据节点通过通信线路互联而构成的松散耦合的系统,每个数据节点都是一个能够独立处理某项事务的计算设备。随着技术的发展,为了适应于逐渐扩展的数据处理规模,具有多NUMA节点的计算设备也逐渐应用于分布式系统中。
[0003]NUMA(非统一内存访问架构,NonUniform MemoryAccessArchitecture)是一种为多处理器的设备设计的内存架构,一个NUMA节点包含一组处理器(例如多个物理CPU),这组处理器共享同一块本地内存,内存通过内存控制器直接绑定在处理器上。多NUMA节点中的处理器可以访问全部的系统物理存储器,但是访问本NUMA节点内的存储器所需要的时间,比访问其他NUMA节点内的存储器所花的时间要少得多。
[0004]目前,该类具有多NUMA节点的计算设备的分布式系统存在任务调度不合理导致影响性能的问题。

技术实现思路

[0005]有鉴于此,本说明书一个或多个实施例提供一种任务调度方法、分布式系统及存储介质。
[0006]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0007]根据本说明书一个或多个实施例的第一方面,提出了一种任务调度方法,应用于分布式系统,所述分布式系统包括有多个数据节点,所述数据节点包括有多个NUMA节点;所述方法包括:
[0008]根据待调度任务所需资源以及各个所述数据节点的可分配资源,确定所述可分配资源大于所述所需资源的至少一个第一目标数据节点;
[0009]对于各个所述第一目标数据节点,根据所述待调度任务所需资源和各个所述NUMA节点的可分配资源,确定适合所述待调度任务运行的一个或多个目标NUMA节点;
[0010]根据各个所述第一目标数据节点中的一个或多个目标NUMA节点的负载,从所述第一目标数据节点中选取第二目标数据节点;所述第二数据节点的所述负载低于至少一半所述第一目标数据节点的所述负载;
[0011]将所述待调度任务部署到所述第二目标数据节点中的一个或多个目标NUMA节点上。
[0012]根据本说明书一个或多个实施例的第二方面,提出了一种分布式系统,所述分布式系统包括有多个数据节点,所述数据节点包括有一个或多个NUMA节点;
[0013]所述分布式系统用于执行第一方面所述的方法。
[0014]根据本说明书一个或多个实施例的第三方面,提出了一种计算机可读存储介质,
其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
[0015]本说明书一个或多个实施例提供一种任务调度方法、分布式系统及存储介质,首先从数据节点粒度进行筛选,根据待调度任务所需资源以及各个所述数据节点的可分配资源,确定所述可分配资源大于所述所需资源的第一目标数据节点;接着从数据节点中的NUMA节点粒度进行筛选,对于所述第一目标数据节点,根据所述待调度任务所需资源和各个所述NUMA节点的可分配资源,确定适合所述待调度任务运行的一个或多个目标NUMA节点,进而根据所述第一目标数据节点中的一个或多个目标NUMA节点的负载,从所述第一目标数据节点中选取所述负载较低的第二目标数据节点;最后在筛选出第二目标数据节点之后,将所述待调度任务部署到所述第二目标数据节点中的一个或多个目标NUMA节点上。本实施例通过从数据节点粒度到NUMA节点粒度的多层筛选过程,从NUMA节点粒度感知的负载情况进行调度,实现了较为精细化地调度,能够在全局筛选出符合任务运行的负载较低的一个或多个目标NUMA节点,提高任务部署在数据节点上的性能。
附图说明
[0016]图1是一示例性实施例提供的一种分布式系统的结构示意图。
[0017]图2是一示例性实施例提供的一种具有NUMA节点的数据节点的结构示意图。
[0018]图3是一示例性实施例提供的另一种分布式系统的结构示意图。
[0019]图4是一示例性实施例提供的一种任务调度方法的流程示意图。
[0020]图5是一示例性实施例提供的一种部署有任务的数据节点的示意图。
[0021]图6是一示例性实施例提供的一种K8s集群的结构示意图。
具体实施方式
[0022]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0023]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
[0024]随着技术的发展,为了适应于逐渐扩展的数据处理规模,具有多NUMA节点的计算设备也逐渐应用于分布式系统中。请参阅图1,分布式系统是多个数据节点100通过通信线路互联而构成的松散耦合的系统,每个数据节点100都是一个能够独立处理某项事务的计算设备,所述计算设备可以是物理设备或者虚拟机。
[0025]NUMA,即Non

Uniform Memory Access Architecture,非统一内存访问架构。NUMA模式是一种分布式存储器访问方式,处理器(例如CPU)可以同时访问不同的存储器地址,大幅度提高并行性。在多NUMA模式下,一个数据节点(物理机维度的计算设备)包括多个NUMA
节点,一个NUMA节点包含一组处理器(例如多个物理CPU,每个CPU可以具有多个核或线程)。以处理器为CPU为例,请参阅图2,一个数据节点100包括有多个NUMA节点10,图2中的n表示大于0的整数;各个NUMA节点10包括有多个CPU11,图2中以NUMA节点中有3个CPU示例,NUMA节点10包含的多个CPU11共享同一块本地内存12,NUMA节点10内的多个CPU11使用共有的内存控制器,因此NUMA节点10的所有内存对于本NUMA节点的所有CPU11都是等同的,而对于其它NUMA节点中的CPU都是不同的。
[0026]所有NUMA节点中的处理器都可以访问全部的系统物理存储器,但是访问本NUMA节点内的存储器所需要的时间,比访问其他NUMA节点内的存储器所花的时间要少得多。NUMA节点可分为本地节点(Local Node)、邻居节点(Neighbour Node)和远端节点(Remote Node)三种类型:本地节点:对于某个NUMA节点中的所有CPU,此NUMA节点称本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,应用于分布式系统,所述分布式系统包括有多个数据节点,所述数据节点包括有多个NUMA节点;所述方法包括:根据待调度任务所需资源以及各个所述数据节点的可分配资源,确定所述可分配资源大于所述所需资源的至少一个第一目标数据节点;对于各个所述第一目标数据节点,根据所述待调度任务所需资源和各个所述NUMA节点的可分配资源,确定适合所述待调度任务运行的一个或多个目标NUMA节点;根据各个所述第一目标数据节点中的一个或多个目标NUMA节点的负载,从所述第一目标数据节点中选取第二目标数据节点;所述第二数据节点的所述负载低于至少一半所述第一目标数据节点的所述负载;将所述待调度任务部署到所述第二目标数据节点中的一个或多个目标NUMA节点上。2.根据权利要求1所述的方法,所述根据所述待调度任务所需资源和各个所述NUMA节点的可分配资源,确定适合所述待调度任务运行的一个或多个目标NUMA节点,包括:确定负载最低的NUMA节点的可分配资源是否满足所述待调度任务所需资源;若是,将所述负载最低的NUMA节点确定为目标NUMA节点;若否,按照NUMA节点的负载从小到大的顺序依次加入其它NUMA节点,直到加入的至少两个NUMA节点的可分配资源之和满足所述待调度任务所需资源或者所有NUMA节点均已加入,将所述加入的至少两个NUMA节点确定为目标NUMA节点。3.根据权利要求1或2所述的方法,所述根据所述第一目标数据节点中的一个或多个目标NUMA节点的负载,从所述第一目标数据节点中选取第二目标数据节点,包括:若所述第一目标数据节点包括一个目标NUMA节点,根据该目标NUMA节点的负载确定评估分数;若所述第一目标数据节点包括多个目标NUMA节点,根据多个目标NUMA节点的负载的统计值确定评估分数;将所述评估分数最低的第一目标数据节点确定为所述第二目标数据节点;其中,所述NUMA节点包括多个处理器;所述NUMA节点的负载根据所述NUMA节点中的多个处理器的利用率的统计值确定。4.根据权利要求1所述的方法,若所述数据节点的负载大于预设阈值,所述数据节点的可分配资源为第一可分配资源,所述第一可分配资源等于所述数据节点的总资源;若所述数据节点的负载小于或等于所述预设阈值,所述数据节点的可分配资源为第二可分配资源,所述第二可分配资源大于所述第一可分配资源;其中,所述数据节点的负载根据所述数据节点中的多个NUMA节点的负载的统计值确定。5.根据权利要求4所述的方法,所述第二可分配资源的大小与所述数据节点的负载成正相关关系。6....

【专利技术属性】
技术研发人员:田双坤李鹏苏雅诗
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1