用于异构多核处理器系统的任务调度方法技术方案

技术编号:11408314 阅读:101 留言:0更新日期:2015-05-06 07:34
本发明专利技术揭露一种用于异构多核处理器系统的任务调度方法,其中该异构多核处理器系统包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该任务调度方法包含:根据该异构多核处理器系统的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及分配该至少一个第一任务至该至少一个第一处理器核心的至少一个运行队列。该用于异构多核处理器系统的任务调度方法可合理安排不同处理器核心的任务。

【技术实现步骤摘要】
用于异构多核处理器系统的任务调度方法交叉引用本专利技术要求如下优先权:编号为61/897,362,申请日为2013年10月30日的美国临时专利申请。上述美国临时专利申请在此一并作为参考。
本专利技术涉及一种任务调度方法。特别地,本专利技术涉及一种基于异构多核处理器系统(heterogeneousmulti-coreprocessorsystem)中不同处理器的计算能力安排任务(例如实时任务)的任务调度方法。
技术介绍
现今,由于对计算能力需求增大,电子装置中使用多核系统变得越来越流行。因为多核系统的出现,多核系统的操作系统(OS)需要决定不同处理器核心(processorcore)的任务调度以保持较好的负载平衡及/或较高的系统资源利用率。对于异构多核系统,存在彼此不相同的处理器核心。例如,异构多核系统可包含第一处理器核心与第二处理器核心,其中第一处理器核心具有第一处理器体系架构,以及第二处理器核心具有不同于第一处理器体系架构的第二处理器体系架构。因此,如果在第一处理器核心与第二处理器核心运作相同的任务,则第一处理器核心完成任务执行所需的处理时间与第二处理器核心完成相同任务执行所需的处理时间可为不相同的。通常,由于不同的处理器体系架构,异构多核系统中的第一处理器核心与第二处理器核心可具有不同的计算能力(computingpower)。例如,第一处理器核心可为性能导向处理器核心,然而第二处理器核心可为省电导向处理器核心。因此,第一处理器核心的计算能力可强于第二处理器核心的计算能力。然而,传统的任务调度方案并未考虑异构多核系统中处理器核心不同的计算能力。因此,传统的任务调度方案可将具有较高任务优先级的任务分配给具有较低计算能力的第二处理器核心,并且可将具有较低任务优先级的另一任务分配给具有较高计算能力的第一处理器核心。这样将导致优先级反转。总之,由于具有较低任务优先级的任务会比具有高任务优先级的任务先完成,所以具有较高任务优先级的任务将具有较长的延迟与反应时间。因此,需要一种创新的任务调度设计,其能够基于处理器核心的不同计算能力合理安排异构多核系统中不同处理器核心的任务。
技术实现思路
有鉴于此,本专利技术揭露一种用于异构多核处理器系统的任务调度方法。根据本专利技术一实施例,本专利技术提供一种用于异构多核处理器系统的任务调度方法,其中该异构多核处理器系统包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器系统的任务调度方法包含:根据该异构多核处理器系统的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及分配该至少一个第一任务至该至少一个第一处理器核心的至少一个运行队列。根据本专利技术一实施例,本专利技术提供一种用于异构多核处理器系统的任务调度方法,其中该异构多核处理器系统包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器系统的任务调度方法包含:根据该异构多核处理器系统的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务以及属于第二优先任务组的该任务的至少一个第二任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组,属于该第二优先任务组的每个第二任务的任务优先级不低于另外任务的任务优先级,并且该另外任务不属于该第一优先任务组与该第二优先任务组;以及分配该至少一个第二任务至该至少一个第二处理器核心的至少一个运行队列。本专利技术提供的用于异构多核处理器系统的任务调度方法可合理安排不同处理器核心的任务。附图说明图1是根据本专利技术实施例描述的异构多核处理器系统示意图;图2是描述第一任务调度操作的示意图;图3是描述第二任务调度操作的示意图;图4是描述第三任务调度操作的示意图;图5是描述第四任务调度操作的示意图。具体实施方式在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属
的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求项中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。此外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。接下来的描述是实现本专利技术的最佳实施例,其是为了描述本专利技术原理的目的,并非对本专利技术的限制。可以理解地是,本专利技术实施例可由软件、硬件、固件或其任意组合来实现。图1是根据本专利技术实施例描述的异构多核处理器系统示意图。异构多核处理器系统10可配置于便携式设备上,例如移动电话、平板电脑、可穿戴设备等。然而,本专利技术并不局限于此。也就是说,任何使用所述任务调度方法的电子装置皆落入本专利技术的保护范围。在本实施例中,异构多核处理器系统10可包含任务调度器100以及包含第一集群112与第二集群114的多个集群(cluster),并且配置执行所提任务调度方法,其用于以处理器核心的计算能力为基础向不同处理器核心分配任务。在本实施例中,任务调度器100可为处理系统(例如基于Linux的OS或支持多处理器任务调度的其他OS核心)的一部分。因此,任务调度器100可为在异构多核处理器系统10上的处理模块。对于第一集群112与第二集群114,每个集群可为一组处理器核心。也就是说,第一集群112可包含一个或多个第一处理器核心113,其中每个处理器核心具有相同的第一计算能力以及相同的第一处理器体系架构;并且第二集群114可包含一个或多个第二处理器核心115,其中每个处理器核心具有相同的第二计算能力以及相同的第二处理器体系架构。第二处理器体系架构与第一处理器体系架构不同,并且第二计算能力低于第一计算能力。在一实施例中,可将每个第一处理器核心113视为性能导向处理器核心,并且可将每个第二处理器核心115视为省电导向处理器核心。值得注意的是,基于实际设计考量,包含在第一集群112中的第一处理器核心113的数量与包含在第二集群114中的第二处理器核心115的数量可是相同的或不同的。因此,所提出的任务调度方法可应用于具有任意不同处理器核心组合的异构多核处理器系统10中。值得注意的是,术语“多核处理器系统”可根据实际设计表示多核系统或多处理器系统。换句话说,上述任务调度方法可应用于多核系统或多处理器系统中的任意系统。例如,对于多核系统,所有第一处理器核心113可位于一个处理器中。在另一示例中,对于多处理器系统,第一处理器核心113的每一个可位于一个处理器中。因此,每个第二集群114可为一组处理器。任务调度器100可包含识别单元102与调度单元104。可配置识别单元102根据异构多核处理器系统10中的任务的任务优先级,确定属于第一优先任务组的至少一个第一任务以及属于第二优先任务组的至少一个第本文档来自技高网
...
用于异构多核处理器系统的任务调度方法

【技术保护点】
一种用于异构多核处理器系统的任务调度方法,其中该异构多核处理器系统包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器系统的任务调度方法包含:根据该异构多核处理器系统的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及分配该至少一个第一任务至该至少一个第一处理器核心的至少一个运行队列。

【技术特征摘要】
2013.10.30 US 61/897,362;2014.09.09 US 14/480,646;1.一种用于异构多核处理器系统的任务调度方法,其中该异构多核处理器系统包含具有第一计算能力的至少两个第一处理器核心以及具有第二计算能力的至少两个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器系统的任务调度方法包含:根据该异构多核处理器系统的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及分配该至少一个第一任务至该至少两个第一处理器核心中的一个第一处理核心对应的第一运行队列,以保证该至少两个第一处理器核心中运行任务的任务优先级不小于该至少两个第二处理器核心中运行任务的任务优先级,其中,每个处理器核心对应一个运行队列,并且上述分配步骤进一步包含:该第一运行队列中任务具有的最高任务优先级是该至少两个第一处理器核心对应的运行队列中任务分别拥有的最高任务优先级的最低值。2.如权利要求1所述的用于异构多核处理器系统的任务调度方法,其特征在于,进一步包含:确定该至少一个第一任务中的该每个任务位于该至少两个第一处理器核心对应的运行队列中。3.如权利要求1所述的用于异构多核处理器系统的任务调度方法,其特征在于,待分配的该至少一个第一任务是不包含在该异构多核处理器系统运行队列中的特定任务,或者包含在该至少两个第二处理器核心的特定运行队列中的特定任务。4.如权利要求1所述的用于异构多核处理器系统的任务调度方法,其特征在于,该第一优先任务组的大小取决于该至少一个第一处理器核心的数量。5.如权利要求1所述的用于异构多核处理器系统的任务调度方法,其特征在于,该至少一个任务是实时任务。6.一种用于异构多核处理器系统的任务调度方法,其中该异构多核处理器系统包含具有第一计算能力的至少两个第一处理器核心以及具有第二计算能力的至少两个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器系统的任务调度方法包含:根据该异构多核处理器系统的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及分配该至少一个第一任务至该至少两个第一处理器核心中的一个第一处理核心对应的第一运行队列,以保证该至少两个第一处理器核心中运行任务的任务优先级不小于该至少两个第二处理器核心中运行任务的任务优先级,其中,每个处理器核心对应一个运行队列,并且待分配的该至少一个第一任务是包含在该至少两个第二处理器核心的特定运行队列中的特定任务,该特定运行队列中的该特定任务具有的任务优先级高于该至少两个第一处理器核心的该第一运行队列中一个任务具有的最高任务优先级,并且分配该至少一个第一任务的步骤包含:将该特定任务从该至少两个第二处理器核心的该特定运行队列拉入该至少两个第一处理器核心的该第一运行队列中。7.如权利要求6所述的用于异构多核处理器系统的任务调度方法,其特征在于,在执行上述拉入步骤前,该特定运行队列中该特定任务具有的最高任务优先级是该至少两个第二处理器核心对应的该运行队列中任务具有的最高任务优...

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

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

1