任务调度方法、装置及计算机可读存储介质与流程

未命名 09-22 阅读:65 评论:0


1.本技术涉及云计算领域,尤其涉及任务调度方法、装置及计算机可读存储介质。


背景技术:

2.在用户发起云计算的任务后,需要对任务进行调度,以将任务分配给合适的算力设备,实现任务的执行。
3.现有的任务调度方法是通过先来先服务算法、短作业优先算法或轮询算法对任务进行调度,上述方法主要是从任务的角度考虑如何对任务进行调度,无法使算力设备在执行计算任务时的能耗处于较低的水平。


技术实现要素:

4.本技术提供一种任务调度方法、装置及计算机可读存储介质,能够降低算力设备在执行任务时的能耗。
5.为达到上述目的,本技术采用如下技术方案:
6.第一方面,提供了一种任务调度方法,方法包括:获取目标任务的目标计算量;
7.根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗;计算能耗为算力设备执行目标任务的能耗;确定多个算力设备中执行目标任务的目标算力设备;目标算力设备的计算能耗最小。
8.基于该方案,通过获取目标任务的目标计算量,根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗,最终将计算能耗最小的算力设备确定为执行目标任务的目标算力设备。与现有的从任务的角度出发的方案相比,本技术的方案通过确定出每个算力设备执行目标任务的计算能耗,将计算能耗最小的算力设备确定为执行目标任务的目标算力设备,能够降低算力设备在执行目标任务时的能耗。
9.结合第一方面,在第一方面的某些实施方式中,根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗,包括:目标计算量、单位能耗、计算能力和计算能耗满足以下关系:
10.ai=b/ci*di
11.其中,ai表示第i个算力设备的计算能耗,b表示目标计算量,ci表示第i个算力设备的计算能力,di表示第i个算力设备的单位能耗。
12.结合第一方面,在第一方面的某些实施方式中,获取目标任务的目标计算量,包括:获取多个任务中每个任务的信息集合;信息集合包括计算量、带宽需求和内存需求;根据每个任务的信息集合和目标聚类算法确定最佳聚类结果;最佳聚类结果包括多个任务集合,任务集合包括至少一个调度优先级相同的任务,每个任务集合中两两任务之间的计算量差值小于第一阈值,两两任务之间的带宽需求差值小于第二阈值,两两任务之间的内存需求差值小于第三阈值;从目标任务集合中获取目标任务的目标计算量;目标任务集合包
括目标任务。
13.基于该方案,通过获取多个任务中每个任务的信息集合,根据每个任务的信息集合和目标聚类算法确定包括多个任务集合的最佳聚类结果,最终从包括目标任务的目标任务集合中获取目标任务的目标计算量,一方面,能够实现获取目标任务的目标计算量的方案,另一方面,在一个任务集合中每个任务的调度优先级相同的情况下,优先对同一任务集合中的任务进行调度,由于每个任务集合中两两任务之间的计算量差值小于第一阈值,两两任务之间的带宽需求差值小于第二阈值,两两任务之间的内存需求差值小于第三阈值,从而在确定同一个任务集合中不同任务的每个算力设备的计算能耗时无需修改相关参数,减少了调度多个任务所需的时间。
14.结合第一方面,在第一方面的某些实施方式中,方法还包括:根据目标计算量和目标算力设备的计算能力,确定目标任务的目标执行时长;向目标显示设备发送第一消息,以使目标显示设备显示目标执行时长。
15.基于该方案,通过确定目标执行时长,并向目标显示设备发送第一消息,以使目标显示设备显示目标执行时长,能够使相关人员得知目标任务的目标执行时长。
16.第二方面,提供了一种任务调度装置用于实现上述第一方面的任务调度方法。该任务调度装置包括实现上述方法相应的模块、单元、或手段(means),该模块、单元、或means可以通过硬件实现,软件实现,或者通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块或单元。
17.结合第二方面,在第二方面的某些实施方式中,任务调度装置包括:获取模块和处理模块;获取模块,用于获取目标任务的目标计算量;处理模块,用于根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗;计算能耗为算力设备执行目标任务的能耗;处理模块,还用于确定多个算力设备中执行目标任务的目标算力设备;目标算力设备的计算能耗最小。
18.结合第二方面,在第二方面的某些实施方式中,处理模块,用于根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗,包括:目标计算量、单位能耗、计算能力和计算能耗满足以下关系:
19.ai=b/ci*di
20.其中,ai表示第i个算力设备的计算能耗,b表示目标计算量,ci表示第i个算力设备的计算能力,di表示第i个算力设备的单位能耗。
21.结合第二方面,在第二方面的某些实施方式中,获取模块,具体用于:获取多个任务中每个任务的信息集合;信息集合包括计算量、带宽需求和内存需求;根据每个任务的信息集合和目标聚类算法确定最佳聚类结果;最佳聚类结果包括多个任务集合,任务集合包括至少一个调度优先级相同的任务,每个任务集合中两两任务之间的计算量差值小于第一阈值,两两任务之间的带宽需求差值小于第二阈值,两两任务之间的内存需求差值小于第三阈值;从目标任务集合中获取目标任务的目标计算量;目标任务集合包括目标任务。
22.结合第二方面,在第二方面的某些实施方式中,处理模块,还用于:根据目标计算量和目标算力设备的计算能力,确定目标任务的目标执行时长;向目标显示设备发送第一消息,以使目标显示设备显示目标执行时长。
23.第三方面,提供了一种任务调度装置,包括:至少一个处理器、用于存储处理器可
执行的指令的存储器;其中,处理器被配置为执行指令,以实现如第一方面及其任一种可能的实施方式所提供的方法。
24.第四方面,提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由任务调度装置的处理器执行时,使得任务调度装置能够执行如第一方面及其任一种可能的实施方式所提供的方法。
25.第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机可以执行上述第一方面及其任一种可能的实施方式所提供的方法。
26.第六方面,提供了一种芯片系统,包括:处理器和接口电路;接口电路,用于接收计算机程序或指令并传输至处理器;处理器用于执行计算机程序或指令,以使该芯片系统执行如上述第一方面及其任一种可能的实施方式所提供的方法。
27.其中,第二方面至第六方面中任一种实施方式所带来的技术效果可参见上述第一方面不同实施方式所带来的技术效果,在此不再赘述。
附图说明
28.图1为本技术提供的一种任务调度系统的架构示意图;
29.图2为本技术提供的一种任务调度方法的流程示意图;
30.图3为本技术提供的又一种任务调度方法的流程示意图;
31.图4为本技术提供的又一种任务调度方法的流程示意图;
32.图5为本技术提供的又一种任务调度方法的流程示意图;
33.图6为本技术提供的一种任务调度装置的结构示意图;
34.图7为本技术提供的又一种任务调度装置的结构示意图。
具体实施方式
35.在本技术的描述中,除非另有说明,“多个”是指两个或多于两个。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
36.另外,为了便于清楚描述本技术实施例的技术方案,在本技术的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
37.同时,在本技术实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本技术实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念,便于理解。
38.可以理解,说明书通篇中提到的“实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各个实施例未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。可以理解,在本技术的各种实施例中,各过程的序号的大小并不意味着执行顺序的
先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
39.可以理解,在本技术中,“当

时”、“若”以及“如果”均指在某种客观情况下会做出相应的处理,并非是限定时间,且也不要求实现时一定要有判断的动作,也不意味着存在其它限定。
40.可以理解,本技术实施例中的一些可选的特征,在某些场景下,可以不依赖于其他特征,比如其当前所基于的方案,而独立实施,解决相应的技术问题,达到相应的效果,也可以在某些场景下,依据需求与其他特征进行结合。相应的,本技术实施例中给出的装置也可以相应的实现这些特征或功能,在此不予赘述。
41.本技术中,除特殊说明外,各个实施例之间相同或相似的部分可以互相参考。在本技术中各个实施例、以及各实施例中的各个实现方法中,如果没有特殊说明以及逻辑冲突,不同的实施例之间、以及各实施例中的各个实现方法之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例、以及各实施例中的各个实现方法中的技术特征根据其内在的逻辑关系可以组合形成新的实施例、实施方式、实施方法、或实现方法。以下的本技术实施方式并不构成对本技术保护范围的限定。
42.图1为本技术提供的一种任务调度系统的架构示意图,本技术实施例的技术方案可以应用于图1所示的任务调度系统,如图1所示,任务调度系统10包括任务调度装置11、电子设备12。
43.其中,任务调度装置11与电子设备12直接连接或间接连接,该连接关系中,可以采用有线方式连接,也可以采用无线方式连接,本技术实施例对此不作限定。
44.任务调度装置11可以用于接收来自电子设备12的数据。
45.电子设备12可以用于将数据发送给任务调度装置11。
46.需要说明的,任务调度装置11和电子设备12可以为相互独立的设备,也可以集成于同一设备中,本技术对此不作具体限定。
47.当任务调度装置11和电子设备12集成于同一设备时,任务调度装置11和电子设备12之间的通信方式为该设备内部模块之间的通信。这种情况下,二者之间的通信流程与“任务调度装置11和电子设备12之间相互独立的情况下,二者之间的通信流程”相同。
48.在本技术提供的以下实施例中,本技术以任务调度装置11和电子设备12相互独立设置为例进行说明。
49.在实际应用中,本技术实施例提供的任务调度方法可以应用于任务调度装置11,也可以应用于任务调度装置11中所包括的装置。
50.下面结合附图,以任务调度方法应用于任务调度装置11为例,对本技术实施例提供的任务调度方法进行描述。
51.图2为本技术提供的一种任务调度方法的流程示意图,如图2所示,该方法包括如下步骤:
52.s201、任务调度装置获取目标任务的目标计算量。
53.需要说明的是,目标计算量可以为浮点运算次数,例如,目标计算量可以为500000浮点运算次数,或者,目标计算量也可以为400000浮点运算次数,本技术对此不作具体限制。
54.作为一种可能的实现方式,结合图1,任务调度装置接收来自电子设备的消息,该消息包括目标任务的目标计算量,任务调度装置从该消息中获取目标任务的目标计算量。
55.作为又一种可能的实现方式,结合图1,任务调度装置接收来自电子设备的消息,该消息包括多个任务中每个任务的信息集合,任务调度装置从该消息获取每个任务的包括计算量、带宽需求和内存需求的信息集合,根据每个任务的信息集合和目标聚类算法确定包括多个任务集合的最佳聚类结果,然后从包括目标任务的目标任务集合中获取目标任务的目标计算量。
56.需要说明的是,该可能的实现方式的具体说明可以参考本技术具体实施方式后续部分的相关说明,本技术在此暂不说明。
57.s202、任务调度装置根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗。
58.其中,计算能耗为算力设备执行目标任务的能耗。
59.需要说明的是,算力设备可以为计算机,或者,算力设备也可以为计算机中的虚拟机,当然,算力设备也可以为其他的能够提供计算服务的设备,本技术对此不作具体限制。
60.算力设备的单位能耗可以为2千瓦时,或者,算力设备的单位能耗也可以为3千瓦时,本技术对此不作具体限制。
61.在目标计算量为浮点运算的次数的情况下,算力设备的计算能力可以为每秒浮点运算次数,例如,算力设备的计算能力可以为3000每秒浮点运算次数,或者,算力设备的计算能力也可以为4000每秒浮点运算次数,本技术对此不作具体限制。
62.作为一种可能的实现方式,任务调度装置确定目标计算量、单位能耗、计算能力和计算能耗满足以下关系:
63.ai=b/ci*di
64.其中,ai表示第i个算力设备的计算能耗,b表示目标计算量,ci表示第i个算力设备的计算能力,di表示第i个算力设备的单位能耗。
65.示例性的,以目标计算量为500000浮点运算次数为例,若多个算力设备的数量为3,第一个算力设备的单位能耗为1千瓦时,计算能力为4000每秒浮点运算次数,第二个算力设备的单位能耗为2千瓦时,计算能力为6000每秒浮点运算次数,第三个算力设备的单位能耗为4千瓦时,计算能力为8000每秒浮点运算次数。
66.任务调度装置确定第一个算力设备的计算能耗为500000浮点运算次数/4000每秒浮点运算次数*1千瓦时=34.7瓦。
67.任务调度装置确定第二个算力设备的计算能耗为500000浮点运算次数/6000每秒浮点运算次数*2千瓦时=46.3瓦。
68.任务调度装置确定第三个算力设备的计算能耗为500000浮点运算次数/8000每秒浮点运算次数*4千瓦时=69.4瓦。
69.s203、任务调度装置确定多个算力设备中执行目标任务的目标算力设备。
70.其中,目标算力设备的计算能耗最小。
71.作为一种可能的实现方式,任务调度装置将多个算力设备中计算能耗最小的算力设备作为目标算力设备。
72.示例性的,以上述s202中的三个算力设备为例,第一个算力设备的计算能耗为
34.7瓦,第二个算力设备的计算能耗为46.3瓦,第三个算力设备的计算能耗为69.4瓦,任务调度装置将第一个算力设备作为目标算力设备。
73.基于该方案,通过获取目标任务的目标计算量,根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗,最终将计算能耗最小的算力设备确定为执行目标任务的目标算力设备。与现有的从任务的角度出发的方案相比,本技术的方案通过确定出每个算力设备执行目标任务的计算能耗,将计算能耗最小的算力设备确定为执行目标任务的目标算力设备,能够降低算力设备在执行目标任务时的能耗。
74.以上是对本技术提供的任务调度方法作了总体上的说明,下面将结合附图对本技术提供的任务调度方法作进一步的说明。
75.在一种设计中,图3为本技术提供的又一种任务调度方法的流程示意图,如图3所示,本技术具体实施方式提供的s201,具体可以包括如下多个步骤:
76.s301、任务调度装置获取多个任务中每个任务的信息集合。
77.其中,信息集合包括计算量、带宽需求和内存需求。
78.作为一种可能的实现方式,结合图1,任务调度装置接收来自电子设备的消息,该消息包括多个任务中每个任务的信息集合,任务调度装置从该消息中获取多个任务中每个任务的信息集合。
79.s302、任务调度装置根据每个任务的信息集合和目标聚类算法确定最佳聚类结果。
80.其中,最佳聚类结果包括多个任务集合,任务集合包括至少一个调度优先级相同的任务,每个任务集合中两两任务之间的计算量差值小于第一阈值,两两任务之间的带宽需求差值小于第二阈值,两两任务之间的内存需求差值小于第三阈值。
81.需要说明的是,目标聚类算法可以为k-means算法,当然,目标聚类算法也可以为其他的聚类算法,本技术对此不作具体限制。
82.以最佳聚类结果包括3个任务集合为例,第一个任务集合中每个任务的调度优先级可以都为第一优先级,第二个任务集合中每个任务的调度优先级可以都为第二优先级,第三个任务集合中每个任务的调度优先级可以都为第三优先级,或者,第一个任务集合中每个任务的调度优先级可以都为第二优先级,第二个任务集合中每个任务的调度优先级可以都为第一优先级,第三个任务集合中每个任务的调度优先级可以都为第三优先级,本技术对此不作具体限制。
83.第一阈值可以为10%,或者,第一阈值也可以为5%,本技术对第一阈值的具体取值不作具体限制。
84.第二阈值可以为10%,或者,第二阈值也可以为5%,本技术对第二阈值的具体取值不作具体限制。
85.第三阈值可以为10%,或者,第三阈值也可以为5%,本技术对第三阈值的具体取值不作具体限制。
86.作为一种可能的实现方式,任务调度装置将每个任务的信息集合输入目标聚类算法,得到最佳聚类结果。
87.需要说明的是,该可能的实现方式的具体实现可以参考现有的相关技术,本技术
在此不再说明。
88.s303、任务调度装置从目标任务集合中获取目标任务的目标计算量。
89.其中,目标任务集合包括目标任务。
90.作为一种可能的实现方式,任务调度装置确定包括目标任务的目标任务集合,然后从目标任务集合中获取目标任务的目标计算量。
91.基于该方案,通过获取多个任务中每个任务的信息集合,根据每个任务的信息集合和目标聚类算法确定包括多个任务集合的最佳聚类结果,最终从包括目标任务的目标任务集合中获取目标任务的目标计算量,一方面,能够实现获取目标任务的目标计算量的方案,另一方面,在一个任务集合中每个任务的调度优先级相同的情况下,优先对同一任务集合中的任务进行调度,由于每个任务集合中两两任务之间的计算量差值小于第一阈值,两两任务之间的带宽需求差值小于第二阈值,两两任务之间的内存需求差值小于第三阈值,从而在确定同一个任务集合中不同任务的每个算力设备的计算能耗时无需修改相关参数,减少了调度多个任务所需的时间。
92.在一种设计中,图4为本技术提供的又一种任务调度方法的流程示意图,如图4所示,本技术提供的任务调度方法,还包括如下多个步骤:
93.s401、任务调度装置根据目标计算量和目标算力设备的计算能力,确定目标任务的目标执行时长。
94.作为一种可能的实现方式,任务调度装置将目标计算量与目标算力设备的计算能力的比值作为目标任务的目标执行时长。
95.示例性的,以目标计算量为500000浮点运算次数,目标算力设备的计算能力为5000每秒浮点运算次数为例,任务调度装置确定目标任务的目标执行时长为500000浮点运算次数/5000每秒浮点运算次数=100秒。
96.s402、任务调度装置向目标显示设备发送第一消息,以使目标显示设备显示目标执行时长。
97.需要说明的是,目标显示设备可以为任务调度装置的显示屏幕。
98.第一消息可以为时长提示消息,或者,第一消息也可以为时长显示消息,本技术对此不作具体限制。
99.作为一种可能的实现方式,任务调度装置将指示信息和目标执行时长进行封装,得到第一消息,然后向目标显示设备发送第一消息。
100.需要说明的是,该可能的实现方式中,得到第一消息的具体实现可以参考现有的方案,本技术对此不作具体限制。
101.基于该方案,通过确定目标执行时长,并向目标显示设备发送第一消息,以使目标显示设备显示目标执行时长,能够使相关人员得知目标任务的目标执行时长。
102.在一种设计中,图5为本技术提供的又一种任务调度方法的流程示意图,如图5所示,本技术提供的任务调度方法,具体可以包括:任务调度装置获取5个任务中每个任务的信息集合,根据每个任务的信息集合和目标聚类算法确定最佳聚类结果,任务调度装置通过预设方法将第一个任务、第二个任务调度给第一个算力设备,将第三个任务调度给第二个算力设备,将第四个任务调度给第三个算力设备,将第五个任务调度给第四个算力设备。其中,最佳聚类结果包括3个任务集合,第一个任务集合包括第一个任务和第二个任务,第
二个任务集合包括第三个任务,第三个任务集合包括第四个任务和第五个任务。
103.需要说明的是,预设方法可以为本技术具体实施方式中s201-s203提供的任务调度方法。
104.上述主要从任务调度装置执行任务调度方法的角度对本技术实施例提供的方案进行了介绍。为了实现上述功能,任务调度装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
105.本技术实施例可以根据上述方法示例对任务调度装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本技术实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。此外,这里的“模块”可以指特定专用集成电路(application-specific integrated circuit,asic),电路,执行一个或多个软件或固件程序的处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。
106.在采用功能模块划分的情况下,图6示出了一种任务调度装置的结构示意图。如图6所示,该任务调度装置60包括获取模块601和处理模块602。
107.在一些实施例中,该任务调度装置60还可以包括存储模块(图6中未示出),用于存储程序指令和数据。
108.其中,获取模块601,用于获取目标任务的目标计算量;处理模块602,用于根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗;计算能耗为算力设备执行目标任务的能耗;处理模块602,还用于确定多个算力设备中执行目标任务的目标算力设备;目标算力设备的计算能耗最小。
109.可选的,处理模块602,用于根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗,包括:目标计算量、单位能耗、计算能力和计算能耗满足以下关系:
110.ai=b/ci*di
111.其中,ai表示第i个算力设备的计算能耗,b表示目标计算量,ci表示第i个算力设备的计算能力,di表示第i个算力设备的单位能耗。
112.可选的,获取模块601,具体用于:获取多个任务中每个任务的信息集合;信息集合包括计算量、带宽需求和内存需求;根据每个任务的信息集合和目标聚类算法确定最佳聚类结果;最佳聚类结果包括多个任务集合,任务集合包括至少一个调度优先级相同的任务,每个任务集合中两两任务之间的计算量差值小于第一阈值,两两任务之间的带宽需求差值小于第二阈值,两两任务之间的内存需求差值小于第三阈值;从目标任务集合中获取目标任务的目标计算量;目标任务集合包括目标任务。
113.可选的,处理模块602,还用于:根据目标计算量和目标算力设备的计算能力,确定目标任务的目标执行时长;向目标显示设备发送第一消息,以使目标显示设备显示目标执
行时长。
114.上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
115.在采用硬件的形式实现上述功能模块的功能的情况下,图7示出了一种任务调度装置的结构示意图。如图7所示,该任务调度装置70包括处理器701,存储器702以及总线703。处理器701与存储器702之间可以通过总线703连接。
116.处理器701是任务调度装置70的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器701可以是一个通用中央处理单元(central processing unit,cpu),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
117.作为一种实施例,处理器701可以包括一个或多个cpu,例如图7中所示的cpu 0和cpu 1。
118.存储器702可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
119.作为一种可能的实现方式,存储器702可以独立于处理器701存在,存储器702可以通过总线703与处理器701相连接,用于存储指令或者程序代码。处理器701调用并执行存储器702中存储的指令或程序代码时,能够实现本技术实施例提供的任务调度方法。
120.另一种可能的实现方式中,存储器702也可以和处理器701集成在一起。
121.总线703,可以是工业标准体系结构(industry standard architecture,isa)总线、外围设备互连(peripheral component interconnect,pci)总线或扩展工业标准体系结构(extended industry standard architecture,eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
122.需要指出的是,图7示出的结构并不构成对该任务调度装置70的限定。除图7所示部件之外,该任务调度装置70可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
123.作为一个示例,结合图6,任务调度装置60中的获取模块601和处理模块602实现的功能与图7中的处理器701的功能相同。
124.可选的,如图7所示,本技术实施例提供的任务调度装置70还可以包括通信接口704。
125.通信接口704,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,wlan)等。通信接口704可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
126.在一种可能的实现方式中,本技术实施例提供的任务调度装置70中,通信接口704还可以集成在处理器701中,本技术实施例对此不做具体限定。
127.作为一种可能的产品形态,本技术实施例的任务调度装置,还可以使用下述来实现:一个或多个现场可编程门阵列(field programmable gate array,fpga)、可编程逻辑器件(programmable logic device,pld)、控制器、状态机、门逻辑、分立硬件部件、任何其它适合的电路、或者能够执行本技术通篇所描述的各种功能的电路的任意组合。
128.通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明。在实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
129.本技术实施例还提供一种计算机可读存储介质,其上存储有计算机程序或指令,计算机程序或指令被执行时使得计算机执行上述方法实施例所示的方法流程中的各个步骤。
130.本技术的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例所示的方法流程中的各个步骤。
131.本技术实施例提供一种芯片系统,包括:处理器和接口电路;接口电路,用于接收计算机程序或指令并传输至处理器;处理器用于执行计算机程序或指令,以使该芯片系统执行上述方法实施例所示的方法流程中的各个步骤。
132.其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(random access memory,ram)、只读存储器(read-only memory,rom)、可擦式可编程只读存储器(erasable programmable read only memory,eprom)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,cd-rom)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途asic中。在本技术实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
133.由于本实施例提供的任务调度装置、计算机可读存储介质、计算机程序产品可以应用于上述由于本实施例提供的任务调度方法,因此,其所能获得的技术效果也可参考上述方法实施例,本技术实施例在此不再赘述。
134.尽管在此结合各实施例对本技术进行了描述,然而,在实施所要求保护的本技术过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
135.尽管结合具体特征及其实施例对本技术进行了描述,显而易见的,在不脱离本技术的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所
附权利要求所界定的本技术的示例性说明,且视为已覆盖本技术范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。

技术特征:
1.一种任务调度方法,其特征在于,所述方法包括:获取目标任务的目标计算量;根据所述目标计算量、多个算力设备中每个算力设备的单位能耗和所述每个算力设备的计算能力,确定所述每个算力设备的计算能耗;所述计算能耗为算力设备执行所述目标任务的能耗;确定所述多个算力设备中执行所述目标任务的目标算力设备;所述目标算力设备的计算能耗最小。2.根据权利要求1所述的方法,其特征在于,所述根据所述目标计算量、多个算力设备中每个算力设备的单位能耗和所述每个算力设备的计算能力,确定所述每个算力设备的计算能耗,包括:所述目标计算量、所述单位能耗、所述计算能力和计算能耗满足以下关系:ai=b/ci*di其中,ai表示第i个算力设备的计算能耗,b表示所述目标计算量,ci表示所述第i个算力设备的计算能力,di表示所述第i个算力设备的单位能耗。3.根据权利要求1所述的方法,其特征在于,所述获取目标任务的目标计算量,包括:获取多个任务中每个任务的信息集合;所述信息集合包括所述计算量、带宽需求和内存需求;根据所述每个任务的信息集合和目标聚类算法确定最佳聚类结果;所述最佳聚类结果包括多个任务集合,所述任务集合包括至少一个调度优先级相同的任务,每个所述任务集合中两两任务之间的计算量差值小于第一阈值,所述两两任务之间的带宽需求差值小于第二阈值,所述两两任务之间的内存需求差值小于第三阈值;从目标任务集合中获取所述目标任务的目标计算量;所述目标任务集合包括所述目标任务。4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:根据所述目标计算量和所述目标算力设备的计算能力,确定所述目标任务的目标执行时长;向目标显示设备发送第一消息,以使所述目标显示设备显示所述目标执行时长。5.一种任务调度装置,其特征在于,所述任务调度装置包括:获取模块和处理模块;所述获取模块,用于获取目标任务的目标计算量;所述处理模块,用于根据所述目标计算量、多个算力设备中每个算力设备的单位能耗和所述每个算力设备的计算能力,确定所述每个算力设备的计算能耗;所述计算能耗为算力设备执行所述目标任务的能耗;所述处理模块,还用于确定所述多个算力设备中执行所述目标任务的目标算力设备;所述目标算力设备的计算能耗最小。6.根据权利要求5所述的任务调度装置,其特征在于,所述处理模块,用于根据所述目标计算量、多个算力设备中每个算力设备的单位能耗和所述每个算力设备的计算能力,确定所述每个算力设备的计算能耗,包括:所述目标计算量、所述单位能耗、所述计算能力和计算能耗满足以下关系:ai=b/ci*di
其中,ai表示第i个算力设备的计算能耗,b表示所述目标计算量,ci表示所述第i个算力设备的计算能力,di表示所述第i个算力设备的单位能耗。7.根据权利要求5所述的任务调度装置,其特征在于,所述获取模块,具体用于:获取多个任务中每个任务的信息集合;所述信息集合包括所述计算量、带宽需求和内存需求;根据所述每个任务的信息集合和目标聚类算法确定最佳聚类结果;所述最佳聚类结果包括多个任务集合,所述任务集合包括至少一个调度优先级相同的任务,每个所述任务集合中两两任务之间的计算量差值小于第一阈值,所述两两任务之间的带宽需求差值小于第二阈值,所述两两任务之间的内存需求差值小于第三阈值;从目标任务集合中获取所述目标任务的目标计算量;所述目标任务集合包括所述目标任务。8.根据权利要求5-7任一项所述的任务调度装置,其特征在于,所述处理模块,还用于:根据所述目标计算量和所述目标算力设备的计算能力,确定所述目标任务的目标执行时长;向目标显示设备发送第一消息,以使所述目标显示设备显示所述目标执行时长。9.一种任务调度装置,其特征在于,所述任务调度装置包括:处理器,所述处理器与存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述装置执行如权利要求1至4中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序或指令,其特征在于,所述计算机程序或指令被执行时使得计算机执行如权利要求1至4中任一项所述的方法。

技术总结
本申请提供一种任务调度方法、装置及计算机可读存储介质,涉及云计算领域,能够降低算力设备在执行任务时的能耗。该方法包括:获取目标任务的目标计算量;根据目标计算量、多个算力设备中每个算力设备的单位能耗和每个算力设备的计算能力,确定每个算力设备的计算能耗;计算能耗为算力设备执行目标任务的能耗;确定多个算力设备中执行目标任务的目标算力设备;目标算力设备的计算能耗最小。目标算力设备的计算能耗最小。目标算力设备的计算能耗最小。


技术研发人员:崔羽飞 毋涛 刘畅 文湘江
受保护的技术使用者:中国联合网络通信集团有限公司
技术研发日:2023.07.05
技术公布日:2023/9/20
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐