基于异构处理器的任务调度方法、装置及电子设备制造方法及图纸

技术编号:15878574 阅读:40 留言:0更新日期:2017-07-25 16:33
本发明专利技术实施例提供了一种基于异构处理器的任务调度方法、装置及电子设备,所述方法包括:电子设备中的主处理器监测每个异构从处理器的当前CPU负载,并从各异构从处理器中,识别当前CPU负载大于其对应的第一设定阈值的至少一个源处理器;针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块;针对每个调度模块,根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器;在所述源处理器与所述目标处理器之间建立连接,将所述调度模块调度到所述目标处理器,以使得所述源处理器和所述目标处理器共同完成所述源处理器对应的任务。本实施例能够提高任务调度效率和成功率。

Task scheduling method, device and electronic equipment based on heterogeneous processor

The embodiment of the invention, a task scheduling method based on heterogeneous processor device and electronic device is provided, the method includes: electronic equipment in the main processor monitoring each heterogeneous processor from the current CPU load, and from the heterogeneous from the processor, to identify the current CPU load is larger than at least one source processor first set the threshold the corresponding; for each of the source processor in the algorithm module of the source processor, determining at least one scheduling module; for each scheduling module, storage module according to the attribute table in the algorithm module and at least one different from the relationship between the processor and the target processor acquires the scheduling module to scheduling; establish a connection between the source processor and the target processor, the scheduling module scheduling to the target processor, so that the source The processor and the target processor jointly perform the tasks corresponding to the source processor. The embodiment can improve the efficiency and the success rate of task scheduling.

【技术实现步骤摘要】
基于异构处理器的任务调度方法、装置及电子设备
本专利技术涉及计算机
,特别是涉及一种基于异构处理器的任务调度方法、装置及电子设备。
技术介绍
在目前的数据分析(如视频分析、图像分析等)系统中,需针对同一数据采用不同的算法进行分析,不同的算法实现方式差别很大,更加适合在指令集完全不同的异构处理器中完成。为了充分均衡地利用各异构处理器资源,这种异构处理器之间的任务调度就显得非常重要。现有的异构处理器之间的任务调度方法,主要采用反馈或预测的方法对处理线程进行调度。具体地,当源处理器负载过大时,对于源处理器中需要进行调度的线程,采用反馈的方法可以随机地将该线程调度到任一其它处理器中,采用预测的方法需要应用复杂的算法过程,预测可以运行该线程的其它处理器。如果该其它处理器可以处理该线程,则线程调度完成。而如果该处理器的CPU负载已经过大,则该其它处理器不能处理该线程,线程调度失败。此时,需要将该线程调度到另一处理器中,直到有处理器能够处理该线程。因此,现有的异构处理器之间的任务调度方法,任务调度过程复杂、调度效率较低。并且,以线程为最小单位进行调度,增加了任务调度的难度,很容易造成任务调度的失败。
技术实现思路
本专利技术实施例的目的在于提供一种基于异构处理器的任务调度方法、装置及电子设备,以提高异构处理器之间的任务调度的效率和成功率。具体技术方案如下:第一方面,本专利技术提供了一种基于异构处理器的任务调度方法,应用于电子设备,所述方法包括:电子设备中的主处理器监测每个异构从处理器的当前CPU负载,并从各所述异构从处理器中,识别当前CPU负载大于其对应的第一设定阈值的至少一个源处理器,其中每个所述异构从处理器处理对应的任务,每个任务由至少一个线程完成;针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块,其中,在所述异构从处理器中,一个线程包括多个算法模块;针对每个所述调度模块,根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器,其中所述目标处理器当前CPU负载小于第二设定阈值;在所述源处理器与所述目标处理器之间建立连接,将所述调度模块调度到所述目标处理器,以使得所述源处理器和所述目标处理器共同完成所述源处理器对应的任务。进一步地,所述模块属性表中保存有每个算法模块在所述源处理器中的负载量,所述针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块包括:针对每个所述源处理器,根据该源处理器的当前CPU负载,以及其对应的所述第一设定阈值,计算该源处理器的超负载量;根据所述模块属性表中保存的每个算法模块在所述源处理器中的负载量,及所述源处理器的超负载量,在所述源处理器的各算法模块中,确定至少一个调度模块。进一步地,所述根据所述模块属性表中保存的每个算法模块在所述源处理器中的负载量,及所述源处理器的超负载量,在所述源处理器的各算法模块中,确定至少一个调度模块包括:判断是否存在负载量大于所述超负载量的算法模块,如果存在,将所述算法模块确定为调度模块;如果不存在,判断是否存在至少两个算法模块,所述至少两个算法模块的负载量之和大于所述超负载量,如果存在,将所述至少两个算法模块确定为调度模块。进一步地,所述模块属性表中针对每个算法模块保存有每个异所述构从处理器对应的调度权重,所述根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器,包括:从所述模块属性表中获得所述调度模块调度到各所述异构从处理器的调度权重;根据所述调度模块调度到各所述异构从处理器的调度权重,在当前CPU负载小于所述第二设定阈值的所述异构从处理器中,获取所述调度模块调度到的至少一个异构从处理器,并确定调度权重最大的异构从处理器为目标处理器。进一步地,所述模块属性表中保存有每个算法模块在每个所述异构从处理器中的负载量,所述确定调度权重最大的异构从处理器为目标处理器,包括:针对所述至少一个异构从处理器中的每个异构从处理器,确定其对应的所述第一设定阈值与该异构从处理器的当前CPU负载的差负载量;识别所述调度模块在所述至少一个异构从处理器中的负载量小于所述差负载量的待确定的目标处理器;在所述待确定的目标处理器中,确定调度权重最大的处理器为目标处理器。进一步地,所述将所述调度模块调度到所述目标处理器,包括:发送与所述调度模块对应的实现代码给所述目标处理器,以供所述目标处理器解析并装载所述实现代码。进一步地,所述方法还包括:当监测到所述源处理器CPU负载小于第三设定阈值时,将所述调度模块恢复到所述源处理器中运行。第二方面,本专利技术提供了一种基于异构处理器的任务调度装置,应用于电子设备,所述装置包括:监测模块,用于监测每个异构从处理器的当前CPU负载,并从各所述异构从处理器中,识别当前CPU负载大于其对应的第一设定阈值的至少一个源处理器,其中每个所述异构从处理器处理对应的任务,每个任务由至少一个线程完成;确定模块,用于针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块,其中,在所述异构从处理器中,一个线程包括多个算法模块;获取模块,用于针对每个所述调度模块,根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器,其中所述目标处理器当前CPU负载小于第二设定阈值;调度模块,用于在所述源处理器与所述目标处理器之间建立连接,将所述调度模块调度到所述目标处理器,以使得所述源处理器和所述目标处理器共同完成所述源处理器对应的任务。进一步地,所述模块属性表中保存有每个算法模块在所述源处理器中的负载量,所述确定模块包括:计算子模块,用于针对每个所述源处理器,根据该源处理器的当前CPU负载,以及其对应的所述第一设定阈值,计算该源处理器的超负载量;第一确定子模块,用于根据所述模块属性表中保存的每个算法模块在所述源处理器中的负载量,及所述源处理器的超负载量,在所述源处理器的各算法模块中,确定至少一个调度模块。进一步地,所述第一确定子模块具体用于:判断是否存在负载量大于所述超负载量的算法模块,如果存在,将所述算法模块确定为调度模块;如果不存在,判断是否存在至少两个算法模块,所述至少两个算法模块的负载量之和大于所述超负载量,如果存在,将所述至少两个算法模块确定为调度模块。进一步地,所述模块属性表中针对每个算法模块保存有每个所述异构从处理器对应的调度权重,所述获取模块包括:获得子模块,用于从所述模块属性表中获得所述调度模块调度到各异构从处理器的调度权重;第二确定子模块,用于根据所述调度模块调度到各所述异构从处理器的调度权重,在当前CPU负载小于所述第二设定阈值的所述异构从处理器中,获取所述调度模块调度到的至少一个异构从处理器,并确定调度权重最大的异构从处理器为目标处理器。进一步地,所述模块属性表中保存有每个算法模块在每个所述异构从处理器中的负载量,所述第二确定子模块具体用于:针对所述至少一个异构从处理器中的每个异构从处理器,确定其对应的所述第一设定阈值与该异构从处理器的当前CPU负载的差负载量;识别所述调度模块在所述至少一个异构从处理器中的负载量小于所述差负载量的待确定的目标处理器本文档来自技高网...
基于异构处理器的任务调度方法、装置及电子设备

【技术保护点】
一种基于异构处理器的任务调度方法,其特征在于,应用于电子设备,所述方法包括:电子设备中的主处理器监测每个异构从处理器的当前CPU负载,并从各所述异构从处理器中,识别当前CPU负载大于其对应的第一设定阈值的至少一个源处理器,其中每个所述异构从处理器处理对应的任务,每个任务由至少一个线程完成;针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块,其中,在所述异构从处理器中,一个线程包括多个算法模块;针对每个所述调度模块,根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器,其中所述目标处理器当前CPU负载小于第二设定阈值;在所述源处理器与所述目标处理器之间建立连接,将所述调度模块调度到所述目标处理器,以使得所述源处理器和所述目标处理器共同完成所述源处理器对应的任务。

【技术特征摘要】
1.一种基于异构处理器的任务调度方法,其特征在于,应用于电子设备,所述方法包括:电子设备中的主处理器监测每个异构从处理器的当前CPU负载,并从各所述异构从处理器中,识别当前CPU负载大于其对应的第一设定阈值的至少一个源处理器,其中每个所述异构从处理器处理对应的任务,每个任务由至少一个线程完成;针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块,其中,在所述异构从处理器中,一个线程包括多个算法模块;针对每个所述调度模块,根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器,其中所述目标处理器当前CPU负载小于第二设定阈值;在所述源处理器与所述目标处理器之间建立连接,将所述调度模块调度到所述目标处理器,以使得所述源处理器和所述目标处理器共同完成所述源处理器对应的任务。2.根据权利要求1所述的方法,其特征在于,所述模块属性表中保存有每个算法模块在所述源处理器中的负载量,所述针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块包括:针对每个所述源处理器,根据该源处理器的当前CPU负载,以及其对应的所述第一设定阈值,计算该源处理器的超负载量;根据所述模块属性表中保存的每个算法模块在所述源处理器中的负载量,及所述源处理器的超负载量,在所述源处理器的各算法模块中,确定至少一个调度模块。3.根据权利要求2所述的方法,其特征在于,所述根据所述模块属性表中保存的每个算法模块在所述源处理器中的负载量,及所述源处理器的超负载量,在所述源处理器的各算法模块中,确定至少一个调度模块包括:判断是否存在负载量大于所述超负载量的算法模块,如果存在,将所述算法模块确定为调度模块;如果不存在,判断是否存在至少两个算法模块,所述至少两个算法模块的负载量之和大于所述超负载量,如果存在,将所述至少两个算法模块确定为调度模块。4.根据权利要求1所述的方法,其特征在于,所述模块属性表中针对每个算法模块保存有每个所述异构从处理器对应的调度权重,所述根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器,包括:从所述模块属性表中获得所述调度模块调度到各所述异构从处理器的调度权重;根据所述调度模块调度到各所述异构从处理器的调度权重,在当前CPU负载小于所述第二设定阈值的所述异构从处理器中,获取所述调度模块调度到的至少一个异构从处理器,并确定调度权重最大的异构从处理器为目标处理器。5.根据权利要求4所述的方法,其特征在于,所述模块属性表中保存有每个算法模块在每个所述异构从处理器中的负载量,所述确定调度权重最大的异构从处理器为目标处理器,包括:针对所述至少一个异构从处理器中的每个异构从处理器,确定其对应的所述第一设定阈值与该异构从处理器的当前CPU负载的差负载量;识别所述调度模块在所述至少一个异构从处理器中的负载量小于所述差负载量的待确定的目标处理器;在所述待确定的目标处理器中,确定调度权重最大的处理器为目标处理器。6.根据权利要求1-5任一所述的方法,其特征在于,所述将所述调度模块调度到所述目标处理器,包括:发送与所述调度模块对应的实现代码给所述目标处理器,以供所述目标处理器解析并装载所述实现代码。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:当监测到所述源处理器CPU负载小于第三设定阈值时,将所述调度模块恢复到所述源处理器中运行。8.一种基于异构处理器的任务调度装置,其特征在于,应用于电子设备,所述装置包括:监测模块,用于监测每个异构从处理器的当前CPU负载,并从各所述异构从处理器中,识别当前CPU负载大于其对应的第一设定阈值的至少一个源处理器,其中每个所述异构从处理器处理对应的任务,每个任务由至少一个线程完成;确定模块,用于针对每个所述源处理器,在该源处理器的各算法模块中,确定至少一个调度模块,其中,在所述异构从处理器中,一个线程包括多个算法模块;获取模块,用于针对每个所述调度模块,根据模块属性表中保存的算法模块与至少一个异构从处理器的对应关系,获取所述调度模块调度到的目标处理器,其中所述目标处理器当前CPU负载小于第二设定阈值;调度模块,...

【专利技术属性】
技术研发人员:浦世亮王道荣戚红命
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江,33

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

1