一种任务调度方法、装置及多核处理器制造方法及图纸

技术编号:17466948 阅读:19 留言:0更新日期:2018-03-15 04:38
本发明专利技术实施例公开了一种任务调度方法,所述方法包括:在监测到待调度任务进入可运行状态后,计算所述待调度任务的负载值;获取多核处理器中各个处理器核心的性能参数,其中,所述性能参数用于表征所述处理器核心的数据处理能力;基于所述性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心;获取所述可调度处理器核心的状态参数,其中,所述状态参数用于表征所述可调度处理器核心的当前运行状态;将所述待调度任务调度至所述状态参数满足预设调度条件的可调度处理器核心。本发明专利技术实施例同时公开了一种任务调度装置及多核处理器。

A task scheduling method, device and multi core processor

The embodiment of the invention discloses a task scheduling method, the method includes: in the monitoring to the scheduling task becomes runnable, the load value calculation task scheduling; performance parameter acquisition of multi-core processor in each processor core, the performance parameters are used to characterize the processor core data processing ability; the performance parameter based on the preset rules from the processor core identify scheduling processor core; state parameters, obtaining the scheduling processor core where the state parameters are used to characterize the current state of the scheduling processor core; the scheduling for task scheduling to the state parameters satisfying the preset conditions can dispatch scheduling processor core. An embodiment of the invention also discloses a task scheduling device and a multi-core processor.

【技术实现步骤摘要】
一种任务调度方法、装置及多核处理器
本专利技术涉及多核处理器领域,尤其涉及一种任务调度方法、装置及多核处理器。
技术介绍
随着硬件技术的发展,现在大部分处理器都包括多个处理器核心。为了加快对任务的处理速度,并对处理器核心进行有效利用,通常会在多核处理器上进行任务调度。目前,在包括大核和小核的多核处理器上进行任务调度时,一般采用的方法为:先将多核处理器的核心划分为大核和小核,再根据两个大小不一致的经验值,将待调度任务划分为大任务、小任务以及不需调度的任务,最后,将大任务调度到大核上进行处理,将小任务调度到小核上进行处理,对不需调度的任务不做处理器核心的迁移。然而,上述任务调度方法存在的问题是,无论那两个大小不一致的经验值如何选取,都容易导致任务调度不合理,从而出现某一个核心非常繁忙而另一个核心非常空闲的情况,如,大核上的任务量非常多而小核上却没有任务,或者小核上任务量非常多而大核却没有任务,使得任务没有均衡地在多个处理器核心上运行,导致处理器核心的利用率差。
技术实现思路
有鉴于此,本专利技术实施例为解决现有技术中存在问题而提供一种任务调度方法、装置及多核处理器,提高多核处理器的核心利用率。为达到上述目的,本专利技术的技术方案是这样实现的:第一方面,本专利技术实施例提供一种任务调度方法,包括:在监测到待调度任务进入可运行状态后,计算所述待调度任务的负载值;获取多核处理器中各个处理器核心的性能参数,其中,所述性能参数用于表征所述处理器核心的数据处理能力;基于所述性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心;获取所述可调度处理器核心的状态参数,其中,所述状态参数用于表征所述可调度处理器核心的当前运行状态;将所述待调度任务调度至所述状态参数满足预设调度条件的可调度处理器核心。第二方面,本专利技术实施例提供一种任务调度装置,包括:计算单元、第一获取单元、确定单元、第二获取单元以及调度单元;其中,所述计算单元,用于在监测到待调度任务进入可运行状态后,计算所述待调度任务的负载值;所述第一获取单元,用于获取多核处理器中各个处理器核心的性能参数,其中,所述性能参数用于表征所述处理器核心的数据处理能力;所述确定单元,用于基于所述性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心;所述第二获取单元,用于获取所述可调度处理器核心的状态参数,其中,所述状态参数用于表征所述可调度处理器核心的当前运行状态;所述调度单元,用于将所述待调度任务调度至所述状态参数满足预设调度条件的可调度处理器核心。第三方面,本专利技术实施例提供一种多核处理器,包括:任务调度器以及至少两个处理器核心;其中,所述任务调度器,用于在监测到待调度任务进入可运行状态后,计算所述待调度任务的负载值;获取所述至少两个处理器核心中各个处理器核心的性能参数,其中,所述性能参数用于表征所述处理器核心的数据处理能力;基于所述性能参数,按照预设规则,从所述至少两个处理器核心中确定出可调度处理器核心;获取所述可调度处理器核心的状态参数,其中,所述状态参数用于表征所述可调度处理器核心的当前运行状态;将所述待调度任务调度至所述状态参数满足预设调度条件的可调度处理器核心;所述处理器核心,用于运行任务。本专利技术实施例提供了一种任务调度方法、装置及多核处理器,首先,在监测到待调度任务进入可运行状态后,计算待调度任务的负载值;然后,获取多核处理器中各个处理器核心的性能参数,其中,性能参数用于表征处理器核心的数据处理能力,再基于性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心;最后,获取可调度处理器核心的状态参数,其中,状态参数用于表征可调度处理器核心的当前运行状态,再将待调度任务调度至状态参数满足预设调度条件的可调度处理器核心上运行。这样,采用该方法就能够根据处理器核心的数据处理能力以及运行状态,将可运行状态的待调度任务调度至合适的处理器核心,实现任务均衡地在处理器核心上运行,从而提高处理器核心的利用率。附图说明图1为本专利技术实施例中的多核处理器的结构示意图;图2为本专利技术实施例中的任务调度方法的流程示意图;图3为本专利技术实施例中的任务调度装置的结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述。本专利技术实施例提供一种任务调度方法,该方法应用于多核处理器,图1为本专利技术实施例中的多核处理器的结构示意图,参见图1所示,该多核处理器10包含任务调度器101以及指令集完全兼容的多个处理器核心,如处理器核心102、处理器核心103以及处理器核心104等。其中,该多核处理器可以是中央处理器(CPU,CentralProcessingUnit),还可以是图形处理器(GPU,GraphicsProcessingUnit)。上述处理器核心可以是CPU核心,也可以是GPU核心,这里本专利技术实施例不做具体限定。图2为本专利技术实施例中的任务调度方法的流程示意图,参见图2所示,该任务调度方法包括:S201:在监测到待调度任务进入可运行状态后,计算待调度任务的负载值;这里,任务调度器在监测到处理器核心上有待调度任务进入到可运行状态后,会计算该待调度任务的负载值,以便根据任务负载值对其进行合适的调度。具体地,假设多核处理器中每个处理器核心上当前有多个可运行状态的任务,待调度任务是指多核处理器中的第i个处理器核心上进入到可运行状态的第k个任务,其中,i、k均为正整数。在具体实施过程中,根据处理器核心的核性能值以及可运行状态任务的运行时间,任务调度器可以采用如下公式(1)来计算待调度任务的负载值。Lr=(Tr/Ta)*(Cci/Ccmax)(1)其中,Lr表示待调度任务的负载值,Tr表示待调度任务的运行时间,Ta表示多核处理器中各个处理器核心中当前所有可运行状态的任务的总运行时间,Cci表示待调度任务所在的第i个处理器核心的核性能值,Ccmax表示多核处理器中各个处理器核心中核性能值的最大值。需要说明的是,第i个处理器核心的核性能值是由硬件生产厂商的制造工艺决定,是表征处理器核心的数据处理能力的性能参数之一。第i个处理器核心的核性能值的实际性能指标可以是第i个处理器核心的工作频率(单位是MHz),也可以是第i个处理器核心每秒处理的百万级的机器语言指令数(MIPS,MillionInstructionsPerSecond),还可以是第i个处理器核心的吞吐率(单位是MIPS/MHz),这里,本专利技术实施例不做具体限定。S202:获取多核处理器中各个处理器核心的性能参数;这里,任务调度器在计算待调度任务的负载值之后,会主动获取多核处理器中各个处理器核心的性能参数。其中,性能参数用于表征处理器核心的数据处理能力。在具体实施过程中,性能参数是可以是处理器核心的核性能值,也可是处理器核心上当前可运行任务的负载值,还可以是由处理器核心的核性能值或处理器核心上当前可运行任务的负载值确定的其他参数。其中,处理器核心的核性能值与S101中的第i个处理器核心的核性能值一致,这里就不做过多赘述。进一步地,性能参数还可以是各个处理器核心的第一最大负载值和第一最小负载值,其中,第一最大负载值为处理器核心上当前可运行任务的负载值中的最大的负载值,第一最小负载值为处理器核心上当前可运本文档来自技高网...
一种任务调度方法、装置及多核处理器

【技术保护点】
一种任务调度方法,其特征在于,所述方法包括:在监测到待调度任务进入可运行状态后,计算所述待调度任务的负载值;获取多核处理器中各个处理器核心的性能参数,其中,所述性能参数用于表征所述处理器核心的数据处理能力;基于所述性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心;获取所述可调度处理器核心的状态参数,其中,所述状态参数用于表征所述可调度处理器核心的当前运行状态;将所述待调度任务调度至所述状态参数满足预设调度条件的可调度处理器核心。

【技术特征摘要】
1.一种任务调度方法,其特征在于,所述方法包括:在监测到待调度任务进入可运行状态后,计算所述待调度任务的负载值;获取多核处理器中各个处理器核心的性能参数,其中,所述性能参数用于表征所述处理器核心的数据处理能力;基于所述性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心;获取所述可调度处理器核心的状态参数,其中,所述状态参数用于表征所述可调度处理器核心的当前运行状态;将所述待调度任务调度至所述状态参数满足预设调度条件的可调度处理器核心。2.根据权利要求1所述的方法,其特征在于,所述获取多核处理器中各个处理器核心的性能参数,包括:获取所述各个处理器核心的第一最大负载值和第一最小负载值;相应地,所述基于所述性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心,包括:将所述待调度任务的负载值分别与所述各个处理器核心的第一最大负载值以及第一最小负载值进行比较;将比较结果满足预设条件的处理器核心确定为可调度处理器核心。3.根据权利要求2所述的方法,其特征在于,所述将比较结果满足预设条件的处理器核心确定为可调度处理器核心,包括:将所述第一最大负载值大于所述待调度任务的负载值,且所述第一最小负载值小于所述待调度任务的负载值的处理器核心确定为可调度处理器核心。4.根据权利要求2所述的方法,其特征在于,所述方法还包括:获取所述各个处理器核心的核性能值,其中,所述核性能值用于表征所述处理器核心的运算速度;判断所述待调度任务的负载值是否大于或等于核性能值最大的处理器核心所对应的第一最大负载值;如果所述待调度任务的负载值大于或等于所述核性能值最大的处理器核心所对应的第一最大负载值,将所述核性能值最大的处理器核心确定为可调度处理器核心。5.根据权利要求4所述的方法,其特征在于,在所述获取所述各个处理器核心的核性能值之后,所述方法还包括:判断所述待调度任务的负载值是否小于或等于核性能值最小的处理器核心所对应的第一最小负载值;如果所述待调度任务的负载值小于或等于所述核性能值最小的处理器核心所对应的第一最小负载值,将所述核性能值最小的处理器核心确定为可调度处理器核心。6.根据权利要求1所述的方法,其特征在于,所述获取多核处理器中各个处理器核心的性能参数,包括:获取所述各个处理器核心的核性能值,其中,所述核性能值用于表征所述处理器核心的运算速度;相应地,所述基于所述性能参数,按照预设规则,从所述处理器核心中确定出可调度处理器核心,包括:将所述核性能值满足预设分组条件的处理器核心划分为同一处理器核心组;获取各个处理器核心组的第二最大负载值和第二最小负载值;将所述待调度任务的负载值分别与所述各个处理器核心组的第二最大负载值以及第二最小负载值进行比较;将比较结果满足预设条件的处理器核心组中所有处理器核心确定为可调度处理器核心。7.根据权利要求6所述的方法,其特征在于,...

【专利技术属性】
技术研发人员:周小虎
申请(专利权)人:深圳市中兴微电子技术有限公司
类型:发明
国别省市:广东,44

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

1