多核心处理器系统及任务分配方法技术方案

技术编号:13175316 阅读:59 留言:0更新日期:2016-05-10 18:41
本发明专利技术提供一种多核心处理器系统及任务分配方法,其中一种多核心处理器系统,包含:多个处理器核心,用于执行多个任务,其中,所述多个任务中的每一个位于多个调度类中的单独一个之中,以及任务调度器,用于获取分配给所述多个处理器核心的第一调度类中的多个任务的第一任务分配信息,获取分配给所述多个处理器核心的一个或多个其它调度类中的多个任务的第二任务分配信息,其中,所述一个或多个其它调度类中的每一个均不同于所述第一调度类,以及参考所述第一任务分配信息和所述第二任务分配信息,将所述第一调度类中的就绪状态任务分配给所述多个处理器核心中的一个。本发明专利技术的优点之一在于能够使得多个处理器核心的负载可更加均衡,改善多核心处理器系统的性能。

【技术实现步骤摘要】

本专利技术是有关于多核心(mult1-core)处理器系统中的任务分配,更具体地,是有关于同时交叉参考对应于多个调度类(scheduling classes)的任务分配信息的任务分配。
技术介绍
在诸如智能电话,笔记本以及平板电脑等的电子装置中,配备了任务调度器(scheduler),用以在包含多个处理器核心(cores)的多核心处理器系统中调度或分配任务。任务可根据不同的调度算法进行调度,例如,调度算法可包含实时(Real-Time,RT)调度器,及/或完全公平调度器(Completely Fair Scheduler,CFS),及/或任何具体的调度算法。例如,根据RT调度器进行调度的任务可称为RT任务,以及根据CFS进行调度的任务可称为CFS任务。当任务调度器分配任务给处理器核心时,指当前分配给多个处理器核心的任务的任务分配信息。另外,任务调度器对RT任务和CFS任务的任务相互独立。具体地,当任务调度器分配RT任务时,任务调度器仅参考当前分配至处理器核心的RT任务的任务分配信息,而不会考虑CFS任务或者与当前分配至处理器核心的RT任务不同的其它任务。类似地,当任务调度器分配CFS任务时,任务调度器不会参考除分配至处理器核心的CFS任务之外的其它任务的任务分配信息。总之,当任务调度器对使用特定调度算法进行调度的任务进行分配时,不会考虑使用与该特定调度算法不同的其它调度算法进行调度的任务。然而,经常发生负载不均衡(load imbalance),且处理器核心的性能不佳,因此,解决这些问题以改善多核心处理器系统中的任务分配和系统性能成为值得讨论的主题。
技术实现思路
有鉴于此,本专利技术提供至少一种。根据本专利技术一实施例的任务分配方法,适用于多核心处理器系统,其中,所述多核心处理器系统包含多个处理器核心,且所述多个任务中的每一个位于多个调度类中的单独一个之中,所述任务分配方法包含:获取分配给所述多个处理器核心的第一调度类中的多个任务的第一任务分配信息;获取分配给所述多个处理器核心的一个或多个其它调度类中的多个任务的第二任务分配信息,其中,所述一个或多个其它调度类中的每个均不同于所述第一调度类;以及参考所述第一任务分配信息和所述第二任务分配信息,将所述第一调度类中的就绪状态任务分配给所述多个处理器核心中的一个。根据本专利技术一实施例的多核心处理器系统,包含:多个处理器核心,用于执行多个任务,其中,所述多个任务中的每一个位于多个调度类中的单独一个之中,以及任务调度器,用于获取分配给所述多个处理器核心的第一调度类中的多个任务的第一任务分配信息,获取分配给所述多个处理器核心的一个或多个其它调度类中的多个任务的第二任务分配信息,其中,所述一个或多个其它调度类中的每一个均不同于所述第一调度类,以及参考所述第一任务分配信息和所述第二任务分配信息,将所述第一调度类中的就绪状态任务分配给所述多个处理器核心中的一个。本专利技术所提供的,相较于传统任务分配过程中未充分考虑任务分配信息的做法,其优点之一在于参考更多的任务分配信息,也就是说,为了分配就绪状态(runnable)任务,可一并考虑与该就绪状态任务的调度类不同的其它一个或多个调度类中的任务的信息。由于考虑了更多的任务分配信息,因而多个处理器核心的负载可更加均衡,并改善多核心处理器系统的性能。【附图说明】图1为根据本专利技术一实施例的多核心处理器系统100的方块示意图。图2为根据本专利技术一实施例的优先级范围(pr1rity ranges)的示意图。图3为根据本专利技术一实施例的第一情形中的任务分配的说明示意图。图4为根据本专利技术另一实施例的第二情形中的任务分配说明示意图。图5为根据本专利技术又一实施例的第三情形中的任务分配说明示意图。图6为根据本专利技术又一实施例的第四情形中的任务分配说明示意图。图7为根据本专利技术又一实施例的第五情形中的任务分配说明示意图。图8为根据本专利技术一实施例的任务分配方法300的流程图。【具体实施方式】在说明书及权利要求当中使用了某些词汇来指称特定的组件。本领域技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。在通篇说明书及权利要求当中所提及的“包含”及“包括”为一开放式的用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。此外,“耦接”一词在此包含任何直接及间接的电性连接手段。因此,若文中描述一第一装置耦接于一第二装置,则代表该第一装置可直接电性连接于该第二装置,或通过其它装置或连接手段间接地电性连接至该第二装置。以下所述为实施本专利技术的较佳方式,目的在于说明本专利技术的精神而非用以限定本专利技术的保护范围,本专利技术的保护范围当视后附的权利要求所界定者为准。请注意,根据实际设计,用语“多核心处理器系统”可表示多核心系统或多处理器系统。换言之,任何多核心系统和多处理器系统均可使用本专利技术所提出的任务调度方法。例如,关于多核心系统,所有的处理器核心均可位于一个处理器核心中。对于另一个例子,关于多处理器系统,每个处理器核心均可位于一个处理器核心中。因此,每个丛集(clusters)均可实施为一组处理器。图1为根据本专利技术一实施例的多核心处理器系统100的方块示意图。多核心处理器系统100包含任务调度器110及多个处理器核心120A-120N。图1代表的是简化方块示意图,图中仅显示了与本专利技术有关的多个元件。然而,本专利技术并不仅限于图1所示内容。处理器核心120A-120N配置用于执行(perform/execute)多个任务和指令,其中,处理器核心120A-120N可以是中央处理单元(Central Processing Units, CPUs)或其它处理元件。多核心处理器系统100可以是对称多处理(Symmetric Mult1-Processing, SMP)类型,或非均勾多处理(Heterogeneous Mult1-Processing, HMP)类型或其它类型的多核心处理器系统。任务调度器110可实施为多核心处理器系统100的操作系统(即Linux,Windows,Mac OS X等)的内核。任务调度器110配置为分配任务给处理器核心120A-120N。图2为根据本专利技术一实施例的优先级范围的示意图。如图所示,多个调度类分别与多个优先级范围有关。例如,调度类0覆盖第一优先级范围(例如0-99),另一调度类1覆盖第二优先级范围(例如100-139)。任务调度器110所分配的任务可以定义为任意/任何调度类。另外,每个任务可被赋予各自的任务优先级,被赋予的任务优先级位于与该任务的调度类有关的优先级范围内。例如,被赋予任务优先级50的任务位于调度类0中,以及被赋予任务优先级110的任务位于调度类1中。因此,调度类0中的任务可具有范围在0-99之间的任务优先级,以及调度类1中的任务可具有范围在100-139之间的任务优先级。具有较小任务优先级的任务意味着该任务具有更高的执行优先级。换言之,当具有任务优先级m的任务和具有任务优先级η的另一任务(m〈n)均分配给一个处理器核心时,相较于具有任本文档来自技高网
...

【技术保护点】
一种任务分配方法,适用于多核心处理器系统,其中,所述多核心处理器系统包含多个处理器核心,且所述多个任务中的每一个位于多个调度类中的单独一个之中,所述任务分配方法包含:获取分配给所述多个处理器核心的第一调度类中的多个任务的第一任务分配信息;获取分配给所述多个处理器核心的一个或多个其它调度类中的多个任务的第二任务分配信息,其中,所述一个或多个其它调度类中的每个均不同于所述第一调度类;以及参考所述第一任务分配信息和所述第二任务分配信息,将所述第一调度类中的就绪状态任务分配给所述多个处理器核心中的一个。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:张雅婷陈雨廷林有明陈家明周宏霖骆子仁
申请(专利权)人:联发科技股份有限公司
类型:发明
国别省市:中国台湾;71

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

1