任务调度方法、装置、电子设备和存储介质制造方法及图纸

技术编号:38645582 阅读:11 留言:0更新日期:2023-08-31 18:36
本申请提供了一种任务调度方法、装置、电子设备及存储介质。该方法包括:在确定用于处理待调度任务的服务器集群中不存在服务器满足所述待调度任务的算力需求的情况下,将待调度任务拆分为由不同处理器处理的多个子任务;确定服务器集群中存在服务器分别满足多个子任务的算力需求;将子任务调度至满足子任务的算力需求的服务器。算力需求的服务器。算力需求的服务器。

【技术实现步骤摘要】
任务调度方法、装置、电子设备和存储介质


[0001]本申请涉及计算机
,尤其涉及一种任务调度方法、装置、电子设备及存储介质。

技术介绍

[0002]随着人工智能和深度学习在生活中的广泛应用,数据中心接收到的数据处理任务数量巨大、种类繁多,例如人脸识别任务、图像分类任务、语音识别任务等,不同的数据处理任务对通用处理器的计算资源、图形处理器的计算资源、访存带宽资源、内存资源等的需求不同。在一种相关技术中,使用整机部署的方式来执行数据处理任务(即,执行数据处理任务所需的资源均来自同一台服务器),若该服务器上任一资源不满该数据处理任务的需求,那么该数据处理任务无法部署在该服务器上进行处理,从而严重制约了任务运行效率。

技术实现思路

[0003]本申请实施例提供一种任务调度方法、装置、电子设备及存储介质,以解决相关技术中存在的问题。
[0004]第一方面,本申请实施例提供了一种任务调度方法,包括:在确定用于处理待调度任务的服务器集群中不存在服务器满足所述待调度任务的算力需求的情况下,将所述待调度任务拆分为由不同处理器处理的多个子任务;确定所述服务器集群中存在服务器分别满足所述多个子任务的算力需求;将所述子任务调度至满足所述子任务的算力需求的服务器。
[0005]第二方面,本申请实施例提供了一种任务调度装置,包括:待调度任务拆分单元,配置来在确定用于处理待调度任务的服务器集群中不存在服务器满足所述待调度任务的算力需求的情况下,将所述待调度任务拆分为由不同处理器处理的多个子任务;服务器确定单元,配置来确定所述服务器集群中存在服务器分别满足所述多个子任务的算力需求;子任务调度单元,配置来将所述子任务调度至满足所述子任务的算力需求的服务器。
[0006]第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的方法。
[0007]第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法。
[0008]与现有技术相比,本申请具有如下优点:
[0009]依据本申请实施例,根据待调度任务所需的资源需求和服务器集群能够提供的资源,在一台服务器不能同时满足待调度任务所有的资源需求时,无需等待资源空闲或更换服务器,可以将该数据处理任务拆分为由不同处理器处理的多个子任务,并将这些子任务部署至不同的服务器中,使得不同的服务器中的处理器分别处理这些子任务,提高了服务器集群的资源利用效率和任务调度的效率。
[0010]上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,
可依照说明书的内容予以实施,并且为了让本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
[0011]在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本申请的一些实施方式,而不应将其视为是对本申请范围的限制。
[0012]图1是示出本申请一实施例的任务调度方案的示意图;
[0013]图2是示出本申请一实施例的任务调度方法的流程图;
[0014]图3是示出本申请一实施例的任务调度装置的结构框图;以及
[0015]图4是示出本申请一实施例的电子设备的框图。
具体实施方式
[0016]在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本申请的构思或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的,而非限制性的。
[0017]为便于理解本申请实施例的技术方案,以下对本申请实施例的相关技术进行说明。以下相关技术作为可选方案与本申请实施例的技术方案可以进行任意结合,其均属于本申请实施例的保护范围。
[0018]在本申请之前的一项相关技术中,图形处理器资源可以被虚拟化为多个计算单元,并支持将多个pod调度到同一个图形处理器中,其中,pod是执行任务的容器,一个或多个任务在一个pod中运行。该调度方案具有试下局限性:首先,当pod中的任务同时需要图形处理器资源和通用处理器资源时,这两类资源只能从同一台服务器上获得。如果一台服务器上任一资源不满足任务需求,则该任务无法部署在该服务器上,只能等待该服务器资源空闲或选择另一台满足资源需求的服务器进行部署,严重制约了任务的运行效率。其次,该调度方案没有考虑任务拆分以及服务器间的互联情况,调度场景较简单,不能将拆分后的任务分别调度至不同的服务器中,任务调度效率较低。
[0019]有鉴于此,本申请实施例提供了一种任务调度方案,以全部或部分解决上述相关技术中存在的问题。为了更清楚地展示本申请实施例中提供的任务调度方案,以下结合图1对该任务调度方案进行说明。图1是示出本申请一实施例的任务调度方案的示意图。如图1所示,以处理一个任务需要的算力资源为通用处理器算力资源和图形处理器算力资源为例,任务A需要4线程通用处理器算力资源和60TFLOP/s(Tera Floating Point Operations per second,每秒一兆次的浮点数运算)图形处理器算力资源,服务器1自身的空闲算力为4线程通用处理器算力和70TFLOP/s图形处理器算力,可以同时满足任务A的通用处理器算力需求和图形处理器需求,则可以将任务A调度至服务器S1进行处理。任务B需要12线程通用处理器算力资源,70TFLOP/s图形处理器算力资源,在服务器S1至S3中没有单个的服务器具备足够的计算资源去处理任务B。在该情况下,可以将计算资源从一台机器中解耦合,进行重组,并将任务B拆分为由通用处理器处理的部分B1和由图形处理器处理的部分B2。服务器S2具有16线程通用处理器算力,则可以由服务器S2的通用处理器处理B1;服务器S1具有
70TFLOP/s图形处理器算力,则可以由服务器S1的图形处理器处理B2。任务C需要15线程通用处理器算力资源,90TFLOP/s图形处理器算力资源,在服务器S1至S3中没有单个的处理器具备足够的计算资源去处理任务C由图形处理器处理的部分C2。在该情况下,可以由多个服务器的图形处理器处理C2。服务器S1具有70TFLOP/s图形处理器算力,服务器S3具有20TFLOP/s图形处理器算力,则可以由服务器S1的图形处理器和服务器S3的图形处理器共同处理C2,由服务器S2的通用处理器处理C1。本申请实施例提供的任务调度方案根据待调度任务所需的资源需求和服务器集群能够提供的资源情况,通过将待调度任务拆分部署在不同的服务器上来进行任务处理,可以提高服务器集群的资源利用效率和任务调度效率。
[0020]本申请一实施例提供了一种任务调度方法200,该方法应用于电子设备,该电子设备可以是诸如服务器、计算机、手机、智能手表这样的电子设备。下本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务调度方法,包括:在确定用于处理待调度任务的服务器集群中不存在服务器满足所述待调度任务的算力需求的情况下,将所述待调度任务拆分为由不同处理器处理的多个子任务;确定所述服务器集群中存在服务器分别满足所述多个子任务的算力需求;将所述子任务调度至满足所述子任务的算力需求的服务器。2.根据权利要求1所述的方法,所述将所述待调度任务拆分为由不同处理器处理的多个子任务,包括:将所述待调度任务拆分为由通用处理器处理的第一一级子任务和由图形处理器处理的第二一级子任务。3.根据权利要求2所述的方法,所述方法还包括:在确定所述服务器集群中不存在服务器分别满足所述第一一级子任务的算力需求和所述第二一级子任务的算力需求的情况下,基于所述服务器集群中最大的图形处理器算力将所述第二一级子任务拆分为多个第二二级子任务;确定所述服务器集群中存在服务器分别满足所述第一一级子任务的算力需求和所述多个第二二级子任务的算力需求;将所述第一一级子任务调度至满足所述第一一级子任务的算力需求的服务器,并将所述第二二级子任务调度至满足所述第二二级子任务的算力需求的服务器。4.根据权利要求2所述的方法,其中,所述确定所述服务器集群中存在服务器分别满足所述多个子任务的算力需求,包括:获取所述服务器集群中每台服务器的通用处理器算力和图形处理器算力;基于所述每台服务器的通用处理器算力,确定存在第一服务器满足所述第一一级子任务的算力需求;根据所述服务器集群中非所述第一服务器的其他服务器中的图形处理器与所述第一服务器中的通用处理器的连接方式,计算所述第二一级子任务的算力需求,并确定所述其他服务器中存在图形处理器算力满足所述第二一级子任务的算力需求的服务器。5.根据权利要求4所述的方法,其中...

【专利技术属性】
技术研发人员:陈平杜垠杨斯凌陈伟剑
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1