任务调度方法、电子设备及计算机可读存储介质与流程

文档序号:37224066发布日期:2024-03-05 15:25阅读:16来源:国知局
任务调度方法、电子设备及计算机可读存储介质与流程

本发明涉及计算机,具体涉及一种任务调度方法、电子设备及计算机可读存储介质。


背景技术:

1、随着计算机技术的发展,各类云与互联网场景中非结构化数据的比例逐渐上升。为了满足对大量非结构化数据的存储需求,各类电子设备采用的存储系统扩展方式也由通过提高cpu单核频率来提高算力的纵向扩展(scale up)方式,逐步演进为通过增加cpu核数来提高算力的横向扩展(scale-out)方式。这主要由于横向扩展方式中每个节点上扩展的cpu往往可以包含更大的处理能力、更大容量以及更大的i/o带宽,能够在扩展容量的同时带来处理性能的提升。相应地,各类电子设备执行各项任务的处理时,需要适应不同任务的负载特征,调用计算能力以及运行效率等适配的处理器(central processing unit,cpu)进行相应任务的计算和处理。可以理解,任务的负载特征可以用于衡量该任务执行过程中需要消耗的计算、存储等方面资源的多少。

2、为了实现将不同负载特征的任务调度到适配的处理器上运行,业内提出了多种处理器架构,例如针对多核cpu提出的异构众核架构,可以通过非一致性内存访问(non-uniform memory access,numa)来实现处理器算力的横向扩展,并且可以通过非对称多处理器(asymmetric multi-processing,amp)架构来提升不同场景下的计算机系统算力。其中,amp架构将不同算力的处理器通过总线互联,由于不同算力等级的处理器的能效比不同,因此操作系统(operation system,os)需要在执行任务时根据该任务的实时负载特征,来匹配具有相应算力的处理器,然后将该任务调度到匹配到的处理器上继续运行。以此来提高整个系统中的处理器等硬件的整体能效比,也有效提升系统整体吞吐率与瞬时响应速度。因此,需要一种任务调度方案来将各任务调度到算力匹配的处理器上执行处理。


技术实现思路

1、有鉴于此,为将电子设备处理的各类任务调度到算力匹配的处理器上执行处理,提高对电子设备上各个cpu的算力资源分配效率,本技术实施例提供了一种任务调度方法、电子设备及计算机可读存储介质。

2、第一方面,本技术实施例提供了一种任务调度方法,应用于电子设备,该方法包括:

3、计算出执行第一任务需要的第一负载值,并确定与第一负载值所属的第一负载范围所对应的至少一个第一等级处理器;采用至少一个第一等级处理器中的处于空闲状态的第一等级处理器处理第一任务;

4、计算出执行第二任务需要的第二负载值,并确定与第二负载值所属的第二负载范围所对应的至少一个第二等级处理器;采用至少一个第二等级处理器中的处于空闲状态的第二等级处理器处理第二任务。

5、即本技术实施例提供的任务调度方法,通过计算电子设备上执行的各个任务对应需要的任务负载特征值,将各个任务及时调度到算力等级匹配并且空闲的cpu上运行。如此,可以提高电子设备对所执行的各个任务进行动态调度,及时为各个任务分配算力匹配的cpu处理相应任务,有利于提高各个任务的运行效率。并且,将相应任务调度到空闲的cpu上进行处理,也有利于提高各个任务的处理效率,有利于提高电子设备的处理性能。

6、上述电子设备例如可以是服务器、手机、pc等电子设备,在此不做限制。上述任务负载特征值,包括上述第一任务对应的第一负载值、及上述第二任务对应的第二负载值,上述第一等级处理器和第二等级处理器,例如可以是下文具体实施方式中描述的大核、小核。在另一些实施例中,上述第一等级处理器和第二等级处理器也可以对应于其他等级名称,再不做限制。上述处理第一任务的第一等级处理器,例如可以是下文具体实施方式中的第一目标cpu。

7、在上述第一方面的一种可能的实现中,在采用第一等级处理器处理第一任务的过程中,上述方法还包括:计算出执行第一任务需要的第三负载值,并确定与第三负载值所属的第三负载范围所对应的至少一个第三等级处理器;

8、采用至少一个第三等级处理器中的处于空闲状态的第三等级处理器处理第一任务;其中,第三等级处理器与第一等级处理器为不同等级的处理器,第三等级处理器与第二等级处理器为相同或者不同等级的处理器。

9、即上述任务调度过程可以包括在任务处理过程中对任务进行调度的过程。例如,在第一等级处理器处理第一任务的过程中,电子设备可以对该第一任务的实时的任务负载特征值进行监控。例如,电子设备监控到当前第一任务的任务负载特征值为第三负载值。而该第三负载值对应的第一任务可能更适合在另一等级的处理器上运行,例如更适合在第三等级处理器上运行,此时则可以将该第一任务调度到第三等级处理器上继续处理。上述第三等级处理器例如可以是下文具体实施方式中的第二目标cpu。

10、可以理解,在第一等级处理器处理第一任务的过程中,可能会由于该第一等级处理器上处理的任务较多,或者该第一任务对应须执行的指令类型以及指令执行情况的统计结果发生变化等,导致第一任务对应的任务负载特征值变大或变小,以致不再适合在第一等级处理器上继续处理。此时,电子设备则可以及时监控到这种变化,将运行中的第一任务调度到算力等级更加匹配并且空闲的第三等级处理器上继续处理。如此,有利于提高第一任务的处理效率。

11、可以理解,当电子设备上预设有两种算力等级的处理器时,第三等级处理器可以是不同于第一等级处理器的第二等级处理器。当电子设备上预设有三种算力等级的处理器时,第三等级处理器可以不同于第二等级处理器,也可以与第二等级处理器为相同等级的处理器,在此不做限制。

12、在上述第一方面的一种可能的实现中,采用至少一个第三等级处理器中的处于空闲状态的第三等级处理器处理第一任务,包括:对第一等级处理器处理第一任务的过程触发中断;将第一任务从第一等级处理器的第一任务队列中移除,并将第一任务添加到第三等级处理器的第二任务队列中;采用第三等级处理器选中第二任务队列中的第一任务继续处理。

13、即将第一任务从原本运行的第一等级处理器上调度到第三等级处理器上继续处理的过程,可以通过中断机制发起。例如,先对第一等级处理器处理第一任务的过程触发中断,再将该第一任务调度到第三等级处理器的任务队列中等待处理。可以理解,被调度到的第三等级处理器通常处于空闲状态,因此该第一任务调度到第三等级处理器后很快便可以继续处理,这有利于降低任务调度过程的时延,使用户不可感知,有利于提高用户体验。

14、在另一些实施例中,将第一任务从原本运行的第一等级处理器上调度到第三等级处理器上继续处理的过程,也可以通过非中断驱动场景。例如,第一任务调度到第一等级处理器后,可以由任务特征计算模块采样pmu相关计数值计算任务负载特征值,并在确定第一任务需要进行调度时,发起任务调度。在此不做限制。可以理解,上述非中断驱动场景的任务调度过程是软件实现过程,无需发起中断。

15、在上述第一方面的一种可能的实现中,电子设备包括对应于第一等级处理器预设的第一性能阈值和第二性能阈值,其中第一性能阈值大于第二性能阈值,并且,对第一等级处理器处理第一任务的过程触发中断,包括:检测到计算出的第三负载值大于第一性能阈值、或者小于第二性能阈值,对第一等级处理器处理第一任务的过程触发中断。

16、上述第一性能阈值,例如可以是下文具体实施方式中表1中对cpu的msr寄存器定义的msr_pmu_model_threshold_h中对应设置的上界阈值。上述第二性能阈值,例如可以是下文具体实施方式中表1中对cpu的msr寄存器定义的msr_pmu_model_threshold_l中对应设置的下界阈值。在此不做限制。

17、在上述第一方面的一种可能的实现中,电子设备包括任务特征标识与处理器等级标识之间的对应关系,处理器等级标识至少包括第一等级处理器和第二等级处理器,并且,确定与第一负载值所属的第一负载范围所对应的至少一个第一等级处理器,包括:基于预设的标识转换规则,将计算出的第一负载值转换为对应任务特征标识的第一标识值;

18、确定第一标识值属于第一任务特征标识对应的标识值范围,并基于第一任务特征标识与第一等级处理器之间的第一对应关系,确定至少一个第一等级处理器。

19、即电子设备实时监控到的第一任务对应的任务负载特征值,例如上述第一负载值,可以转换为相应的任务特征标识值,该标识值例如可以是相应任务负载特征值等比例换算得到的值。而电子设备上可以预设不同任务特征标识对应的标识值范围与不同算力等级的处理器之间的对应关系,或者不同任务特征标识对应的标识值范围也可以对应于不同算力等级的处理器所对应的算力特征值范围。如此,则可以根据实时监控到的任务负载特征值,判断第一任务当前运行的处理器对应的算力等级是否匹配。

20、在上述第一方面的一种可能的实现中,电子设备包括第一负载范围与第一任务特征标识对应的标识值范围之间的第二对应关系,并且,确定与第一负载值所属的第一负载范围所对应的至少一个第一等级处理器,包括:确定与第一负载值所属的第一负载范围,并基于第二对应关系确定与第一负载值相对应的第一任务特征标识;基于第一对应关系,确定至少一个第一等级处理器。

21、在另一些实施例中,电子设备上也可以预设任务负载特征值的范围与相应的任务特征标识对应的标识值范围之间的对应关系。如此,在确定监控到的任务负载特征值所属的任务负载特征值的范围后,例如确定上述第一负载值属于第一负载范围后,可以通过该第一负载范围对应的第一任务特征标识对应的标识值范围,确定算力等级匹配的至少一个第一等级处理器。

22、在上述第一方面的一种可能的实现中,电子设备包括多个处理器,并且,电子设备基于各处理器的算力特征值,对各处理器添加处理器等级标识,其中,各处理器的算力特征值与各处理器的频率和微架构算力相关,处理器的频率包括处理器的主频或者工作频率。

23、在上述第一方面的一种可能的实现中,第一负载值与第一等级处理器获取及执行第一任务相关的指令类型、以及指令的执行情况统计结果相关;第二负载值与第二等级处理器获取及执行第一任务相关的指令类型、以及指令的执行情况统计结果相关。

24、第二方面,本技术实施例提供了一种电子设备,包括:一个或多个处理器;一个或多个存储器;一个或多个存储器存储有一个或多个程序,当一个或者多个程序被一个或多个处理器执行时,使得电子设备执行上述第一方面提供的任务调度方法。

25、可以理解,上述电子设备可以是服务器、手机、pc等电子设备,在此不做限制。

26、第三方面,本技术实施例提供了一种计算机可读存储介质,存储介质上存储有指令,指令在计算机上执行时使计算机执行上述第一方面提供的任务调度方法。

27、第四方面,本技术实施例提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述第一方面提供的任务调度方法。

28、综上,本技术实施例提供的任务调度方案可以有效提高对电子设备上各个cpu的算力资源分配效率,将待运行或者正在运行的任务及时调度到算力大小适配的cpu上高效运行,无需等待系统调度周期便可以进行任务调度,因而也有利于各个任务的调度及运行效率。并且,本技术方案既可以对相同微架构的cpu确定算力大小以及对应的算力等级,也可以对不同微架构的cpu确定算力大小以及对应的算力等级,因而可以将目标任务调度到算力等级匹配的相同或不同微架构的cpu上运行,即场景适应性更强。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1