System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 任务调度方法及装置制造方法及图纸_技高网

任务调度方法及装置制造方法及图纸

技术编号:40546982 阅读:6 留言:0更新日期:2024-03-05 19:04
公开了一种任务调度方法及装置,涉及资源调度领域。该任务调度方法包括:集群中的第一节点在获取到第一节点集合的调度权限后,依据应用中任务的类型,将任务分配至不同类型的待执行队列中,因而,任务在执行过程中不会发生任务类型与待执行队列对应的节点不匹配的问题,提升了任务的执行效率,有利于提高集群运行应用的效率。而且,由于第一节点进行对同属于第一队列组的多个待执行队列的节点进行任务调度,无需对集群中所有的节点分配任务,避免了单个节点调度任务所需资源较大、任务调度的时延增加的问题,提升了任务调度的效率,进一步提高了集群运行应用的效率。

【技术实现步骤摘要】

本申请涉及资源调度领域,尤其涉及一种任务调度方法及装置


技术介绍

1、随着大数据(big data)、人工智能(artificial intelligence,ai)、云计算等技术的发展,面对未来更加多样的数据形态和计算场景。通常,由集群中多个计算设备来运行大数据应用、人工智能应用、高性能计算(high performance computing,hpc)应用或云计算应用。以hpc应用被拆分为多个任务(task)为例,集群中计算设备将该多个task分配到集群中多个计算设备中去执行。然而,每个task的类型不同,计算设备在执行已分配的task后,从其他计算设备的任务队列中获取并执行新task时,导致该新task的执行效率受到影响,集群运行应用的效率降低。因此,如何提供一种更有效的任务调度方法成为目前亟需解决的技术问题。


技术实现思路

1、本申请提供了一种任务调度方法及装置,解决了task的执行受到任务调度的影响,集群运行应用的效率降低的问题。

2、第一方面,提供了一种任务调度方法,该方法由集群中的第一设备执行,该第一设备可以是处理器,还可以是指处理核心(core);集群还包括除第一设备外的一个或多个设备。该任务调度方法包括:第一设备在获取到第一设备集合的调度权限后,识别应用中多个任务的类型,并将第一任务分配至第一队列组中与第一任务的类型匹配的待执行队列。其中,第一设备集合包括至少两个设备,该至少两个设备包括:第一设备以及集群中与第一设备对应第一队列组的其他设备,第一队列组包括一种或多种类型的待执行队列,一个设备对应一个待执行队列,前述的第一任务为应用的多个任务中任一个。

3、在本实施例中,第一设备依据应用中任务的类型,将任务分配至不同类型的待执行队列中,因而,任务在执行过程中不会发生任务类型与待执行队列对应的设备不匹配的问题,提升了任务的执行效率,有利于提高集群运行应用的效率。而且,由于第一设备进行对同属于第一队列组的多个待执行队列的设备进行任务调度,无需对集群中所有的设备分配任务,避免了单个设备调度任务所需资源较大、任务调度的时延增加的问题,提升了任务调度的效率,进一步提高了集群运行应用的效率。

4、一种可选的实现方式中,在第一设备识别应用中多个任务的类型之前,本实施例提供的任务调度方法还包括:第一设备获取集群中运行应用的拓扑信息,并根据该拓扑信息以及应用的执行命令,获取集群中运行应用的一个或多个队列组。其中,该拓扑信息用于指示集群中运行应用的多个设备,多个设备包括至少两个设备。上述应用的执行命令用于指示多个设备中每个设备所属的进程,一个或多个队列组包括第一队列组,一个队列组对应一个设备集合。

5、在本实施例中,第一设备根据集群的拓扑信息来确定应用对应的一个或多个队列组,当集群的拓扑信息以及应用的执行情况(由执行命令来表示)变化时,第一设备也可根据变化后的拓扑信息和应用的执行情况,对应用对应的队列组数进行调整,在应用运行所需的资源较少的情况下,使得应用的运行不会长期占用集群的资源,减少集群的资源消耗;在应用运行所需的资源较多的情况下,使得应用的运行不会因集群的资源限制导致应用的运行效率降低,有利于提升应用的运行效果。

6、一种可选的实现方式中,集群中的一个非统一内存访问(non-uniform memoryaccess,numa)设备包括前述的第一设备集合。以第一设备是指处理核心为例进行说明,一个numa节点可包括多个处理核心(设备),由于一个设备对应一个待执行队列,且第一设备集合包含的至少两个设备同属于一个队列组,因此,一个numa节点包括至少一个独立的队列组,当numa节点中的处理核心执行该独立的队列组中多个待执行队列存储的任务时,这些任务的执行不会受到其他numa节点的影响,提升了应用的运行过程中任务执行的准确性。

7、一种可选的实现方式中,第一设备将第一任务分配至第一队列组中与第一任务的类型匹配的待执行队列,包括:若第一任务的类型与第一队列组中第一待执行队列的类型相匹配,则第一设备将第一任务分配至第一待执行队列;该第一待执行队列为前述一种或多种类型的待执行队列中任一个。若第一任务的类型与第一队列组中第一待执行队列的类型不匹配,则第一设备在第一队列组中创建与第一任务的类型相匹配的第二待执行队列,并将第一任务分配至第二待执行队列。

8、应理解,在任务的类型较多的情况下,第一设备可为应用创建多种类型不同的待执行队列,一个待执行队列对应一个设备,因此,不同的设备可以用于执行不同类型的任务,如访存密集型任务、计算密集型任务或者其他类型的任务等,避免了一个设备执行多种任务的效率较低的问题,有利于提升集群运行应用的性能。

9、一种可选的实现方式中,前述第一队列组包括的第一待执行队列中的任务将由其他设备中的第二设备执行,本实施例提供的任务调度方法还包括:在第二设备执行第一待执行队列中的任务后,第一设备将第一队列组包括的第二待执行队列中的第二任务分配至第一待执行队列。其中,第二设备的剩余资源支持执行前述的第二任务,以及,第二任务的预期开销小于或等于第二任务被第二设备执行的预期收益,该第二任务的预期开销用于指示:第二任务从第二待执行队列分配至第一待执行队列的资源消耗情况。

10、在本实施例中,在第一队列组的待执行队列中不存在待执行的任务时,第一设备还可以从同属于一个队列组中的其他待执行队列中获取任务,从而将队列组中所有任务快速的执行完成,有利于提升应用的运行效率。由于第一设备可主动的从其他待执行队列中获取任务,并将获取到得任务分配到其他空闲的设备对应的待执行队列中,在队列组中初始分配的任务不均匀的情况下,可以快速的对队列组对应的所有设备的待执行队列进行协调,因此,可以调队列组对应的所有设备运行应用中多个任务的效率,提升集群运行应用的整体性能。

11、一种可选的实现方式中,在第一队列组中所有待执行队列中无任务时,本实施例提供的任务调度方法还包括:第一设备从应用对应的第二队列组中获取第三任务,并将该第三任务分配至前述的第一待执行队列。其中,该第二设备的剩余资源支持执行第三任务,以及,第三任务的预期开销小于或等于第三任务被第二设备执行的预期收益,该第三任务的预期开销用于指示:第三任务从第二队列组分配至第一队列组的资源消耗情况。

12、应理解,当应用需集群中多个队列组对应的设备来运行时,在第一队列组中已不存在待执行的任务,而应用对应的其他队列组(如第二队列组)还存在大量未执行的任务的情况下,第一设备可从其他队列组中获取任务,并在预期开销小于或等于任务调度所产生的预期收益时,将其他队列组中的任务调度到第一设备所对应的第一队列组,从而提升应用的整体运行效率,避免少数队列组的运行效率较低或者待执行的任务较多导致的处理时延增加的问题。

13、一种可选的实现方式中,本实施例提供的任务调度方法还包括:第一设备释放调度权限。以及,第一设备执行前述第一队列组中与第一设备对应的待执行队列中的任务。示例性本文档来自技高网...

【技术保护点】

1.一种任务调度方法,其特征在于,所述方法由集群中的第一设备执行,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述识别应用中多个任务的类型之前,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述集群中的一个非统一内存访问NUMA节点包括所述第一设备集合。

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将第一任务分配至所述第一队列组中与所述第一任务的类型匹配的待执行队列,包括:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一队列组包括的第一待执行队列中的任务将由所述其他设备中的第二设备执行,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,在所述第一队列组中所有待执行队列中无任务时,所述方法还包括:

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述第一设备对应于所述第一队列组中的第三待执行队列,所述第三待执行队列中的任务是由所述至少两个设备中任一设备分配的;所述方法还包括:

9.一种任务调度装置,其特征在于,所述装置应用于集群中的第一设备,所述装置包括:

10.根据权利要求9所述的装置,其特征在于,所述装置还包括:

11.根据权利要求9或10所述的装置,其特征在于,所述集群中的一个非统一内存访问NUMA节点包括所述第一设备集合。

12.根据权利要求9至11中任一项所述的装置,其特征在于,所述调度单元,具体用于:若所述第一任务的类型与所述第一队列组中第一待执行队列的类型相匹配,则将所述第一任务分配至所述第一待执行队列;所述第一待执行队列为所述一种或多种类型的待执行队列中任一个;

13.根据权利要求9至12中任一项所述的装置,其特征在于,所述第一队列组包括的第一待执行队列中的任务将由所述其他设备中的第二设备执行;

14.根据权利要求13所述的装置,其特征在于,在所述第一队列组中所有待执行队列中无任务时,所述调度单元还用于:从所述应用对应的第二队列组中获取第三任务;以及,将所述第三任务分配至所述第一待执行队列;

15.根据权利要求9至14中任一项所述的装置,其特征在于,所述装置还包括:

16.根据权利要求15所述的装置,其特征在于,所述第一设备对应于所述第一队列组中的第三待执行队列,所述第三待执行队列中的任务是由所述至少两个设备中任一设备分配的;所述装置还包括:

17.一种芯片,其特征在于,包括:处理器和供电电路;

18.一种网卡,其特征在于,包括:权利要求17所述的芯片和接口;

19.一种计算设备,其特征在于,包括:如权利要求18所述的网卡。

20.一种计算机可读存储介质,其特征在于,所述存储介质中存储有计算机程序或指令,当所述计算机程序或指令被计算设备执行时,实现权利要求1至8中任一项所述的方法。

21.一种计算机程序产品,其特征在于,当计算机程序产品在计算设备上运行时,所述计算设备执行权利要求1至8中任一项所述的方法。

...

【技术特征摘要】

1.一种任务调度方法,其特征在于,所述方法由集群中的第一设备执行,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述识别应用中多个任务的类型之前,所述方法还包括:

3.根据权利要求1或2所述的方法,其特征在于,所述集群中的一个非统一内存访问numa节点包括所述第一设备集合。

4.根据权利要求1至3中任一项所述的方法,其特征在于,所述将第一任务分配至所述第一队列组中与所述第一任务的类型匹配的待执行队列,包括:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述第一队列组包括的第一待执行队列中的任务将由所述其他设备中的第二设备执行,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,在所述第一队列组中所有待执行队列中无任务时,所述方法还包括:

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:

8.根据权利要求7所述的方法,其特征在于,所述第一设备对应于所述第一队列组中的第三待执行队列,所述第三待执行队列中的任务是由所述至少两个设备中任一设备分配的;所述方法还包括:

9.一种任务调度装置,其特征在于,所述装置应用于集群中的第一设备,所述装置包括:

10.根据权利要求9所述的装置,其特征在于,所述装置还包括:

11.根据权利要求9或10所述的装置,其特征在于,所述集群中的一个非统一内存访问numa节点包括所述第一设备集合。

12.根据权利要求9至11中任一项所述的装置,其特征...

【专利技术属性】
技术研发人员:朱延超
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1