CN104598426A - 用于异构多核处理器***的任务调度方法 - Google Patents

用于异构多核处理器***的任务调度方法 Download PDF

Info

Publication number
CN104598426A
CN104598426A CN201410594304.5A CN201410594304A CN104598426A CN 104598426 A CN104598426 A CN 104598426A CN 201410594304 A CN201410594304 A CN 201410594304A CN 104598426 A CN104598426 A CN 104598426A
Authority
CN
China
Prior art keywords
task
priority
processor core
core
heterogeneous multi
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410594304.5A
Other languages
English (en)
Other versions
CN104598426B (zh
Inventor
张雅婷
陈家明
林有明
陈尹
周宏霖
周业及
何硕文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US14/480,646 external-priority patent/US20150121387A1/en
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN104598426A publication Critical patent/CN104598426A/zh
Application granted granted Critical
Publication of CN104598426B publication Critical patent/CN104598426B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Power Sources (AREA)

Abstract

本发明揭露一种用于异构多核处理器***的任务调度方法,其中该异构多核处理器***包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该任务调度方法包含:根据该异构多核处理器***的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及分配该至少一个第一任务至该至少一个第一处理器核心的至少一个运行队列。该用于异构多核处理器***的任务调度方法可合理安排不同处理器核心的任务。

Description

用于异构多核处理器***的任务调度方法
交叉引用
本发明要求如下优先权:编号为61/897,362,申请日为2013年10月30日的美国临时专利申请。上述美国临时专利申请在此一并作为参考。
技术领域
本发明涉及一种任务调度方法。特别地,本发明涉及一种基于异构多核处理器***(heterogeneous multi-core processor system)中不同处理器的计算能力安排任务(例如实时任务)的任务调度方法。
背景技术
现今,由于对计算能力需求增大,电子装置中使用多核***变得越来越流行。因为多核***的出现,多核***的操作***(OS)需要决定不同处理器核心(processor core)的任务调度以保持较好的负载平衡及/或较高的***资源利用率。对于异构多核***,存在彼此不相同的处理器核心。例如,异构多核***可包含第一处理器核心与第二处理器核心,其中第一处理器核心具有第一处理器体系架构,以及第二处理器核心具有不同于第一处理器体系架构的第二处理器体系架构。因此,如果在第一处理器核心与第二处理器核心运作相同的任务,则第一处理器核心完成任务执行所需的处理时间与第二处理器核心完成相同任务执行所需的处理时间可为不相同的。
通常,由于不同的处理器体系架构,异构多核***中的第一处理器核心与第二处理器核心可具有不同的计算能力(computing power)。例如,第一处理器核心可为性能导向处理器核心,然而第二处理器核心可为省电导向处理器核心。因此,第一处理器核心的计算能力可强于第二处理器核心的计算能力。然而,传统的任务调度方案并未考虑异构多核***中处理器核心不同的计算能力。因此,传统的任务调度方案可将具有较高任务优先级的任务分配给具有较低计算能力的第二处理器核心,并且可将具有较低任务优先级的另一任务分配给具有较高计算能力的第一处理器核心。这样将导致优先级反转。总之,由于具有较低任务优先级的任务会比具有高任务优先级的任务先完成,所以具有较高任务优先级的任务将具有较长的延迟与反应时间。
因此,需要一种创新的任务调度设计,其能够基于处理器核心的不同计算能力合理安排异构多核***中不同处理器核心的任务。
发明内容
有鉴于此,本发明揭露一种用于异构多核处理器***的任务调度方法。
根据本发明一实施例,本发明提供一种用于异构多核处理器***的任务调度方法,其中该异构多核处理器***包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器***的任务调度方法包含:根据该异构多核处理器***的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及分配该至少一个第一任务至该至少一个第一处理器核心的至少一个运行队列。
根据本发明一实施例,本发明提供一种用于异构多核处理器***的任务调度方法,其中该异构多核处理器***包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器***的任务调度方法包含:根据该异构多核处理器***的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务以及属于第二优先任务组的该任务的至少一个第二任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组,属于该第二优先任务组的每个第二任务的任务优先级不低于另外任务的任务优先级,并且该另外任务不属于该第一优先任务组与该第二优先任务组;以及分配该至少一个第二任务至该至少一个第二处理器核心的至少一个运行队列。
本发明提供的用于异构多核处理器***的任务调度方法可合理安排不同处理器核心的任务。
附图说明
图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中的任务的任务优先级,确定属于第一优先任务组的至少一个第一任务以及属于第二优先任务组的至少一个第二任务。例如,可配置识别单元102比较异构多核处理器***10的多个任务的任务优先级,其中上述多个任务包含当前正在执行的任务、等待执行的任务等,从而决定哪些任务属于第一优先任务组(例如哪些任务应该在第一处理器核心113中运作)以及进一步决定哪些任务属于第二优先任务组(例如,哪些任务应该在第二处理器核心115中运作)。第一优先任务组的大小取决于第一处理器核心113的数量,并且第二优先任务组的大小取决于第二处理器核心115的数量。例如,第一优先任务组的大小可等于第一处理器核心113的数量,并且第二优先任务组的大小可等于第二处理器核心115的数量。
第一优先任务组可作为最高优先任务组,以及第二优先任务组可作为次高优先任务组。因此,属于第一优先任务组的每个第一任务可具有不低于其他不属于第一优先任务组的其他任务的任务优先级,并且属于第二优先任务组的每个第二任务可具有不低于其他不属于第一优先任务组与第二优先任务组的其他任务的任务优先级。换句话说,任何属于第二优先任务组的第二任务不具有高于属于第一优先任务组的任何第一任务的任务优先级。
基于识别单元102通知的任务鉴定结果,调度单元104可设定或调整异构多核处理器***10的处理器核心的运行队列(run queue)。可为异构多核处理器***10的每个处理器核心设定一个调度单元104管理的运行队列。在本实施例中,第一集群112中的一个第一处理器核心113使用运行队列105,并且第二集群114中的一个第二处理器核心115使用运行队列106。因此,当存在多个第一处理器核心113时,调度单元104可分别管理第一处理器核心113产生的多个运行队列105;并且当存在多个第二处理器核心115时,调度单元104可分别管理第二处理器核心115产生的多个运行队列106。运行队列可为记录任务列表的数据结构,其中,上述任务可包含当前执行的任务与等待执行的其他任务。在某些实施例中,处理器核心可根据任务的任务优先级顺序执行相应运行队列的任务。换句话说,处理器核心执行具有较高任务优先级的任务,比较低任务优先级的任务优先执行。举例但并不限定于此,上述任务可包含程序、应用程序子件或者两者组合。
为了降低或避免优先级反转,调度单元104可将属于第一优先任务组(例如最高优先任务组)的至少一个第一任务分配至异构多核处理器***10的第一集群112中的至少一个第一处理器核心113的至少一个运行队列,及/或可将属于第二优先任务组(例如次高优先任务组)的至少一个第二任务分配至异构多核处理器***10的第二集群114中的至少一个第二处理器核心115的至少一个运行队列。为了更好地理解本发明的技术特征,调度单元104基于下面讨论的任务调度方法执行几个任务调度操作。
为了简化起见,在接下来的段落,假设第一集群112包含两个第一处理器核心113,分别标为Core_11与Core_12,并且第二集群114包含两个第二处理器核心115,分别标为Core_21与Core_22。因此,调度单元104可分别向第一处理器核心Core_11与Core_12分配两个运行队列105,分别标为RQ11与RQ12;并且可分别向第二处理器核心Core_21与Core_22分配两个运行队列106,分别标为RQ21与RQ22。任务优先级按照降序排列为0、1、2、3。因此,在异构多核处理器***10执行的任务中,将具有任务优先级“0”的任务设定为最高优先级。
图2是描述第一任务调度操作的示意图,其中将属于第一优先任务组的一个第一任务分配至具有较高计算能力的一个第一处理器核心的运行队列。在本示例中,在需要将具有任务优先级“0”的任务T0加入用于执行的运行队列RQ11、RQ12、RQ21、RQ22之前,运行队列RQ11可包含具有任务优先级“2”的任务T2并且可进一步包含具有较低任务优先级的其他任务(图2中未示出);运行队列RQ12可包含具有任务优先级“1”的任务T1并且可进一步包含具有较低任务优先级的其他任务(图2中未示出);运行队列RQ21可包含具有任务优先级“3”的任务T3并且可进一步包含具有较低任务优先级的其他任务(图2中未示出);运行队列RQ22可包含具有任务优先级“4”的任务T4并且可进一步包含具有较低任务优先级的其他任务(图2中未示出)。在将任务T0加入运行队列RQ11、RQ12、RQ21、RQ22之前,运行队列RQ11中具有最高任务优先级的任务可为任务T2,运行队列RQ12中具有最高任务优先级的任务可为任务T1,运行队列RQ21中具有最高任务优先级的任务可为任务T3,运行队列RQ22中具有最高任务优先级的任务可为任务T4。因此,任务T1、T2、T3、T4可为当前分别在第一处理器核心Core_12、第一处理器核心Core_11、第二处理器核心Core_21、第二处理器核心Core_22中运作的任务。
***可生成新任务或当请求***资源可用时加入到等待队列以等待请求***资源并使用上述已请求的***资源的任务。在本示例中,任务T0可为新任务或恢复任务(例如,当前被唤醒的唤醒任务),其不包含在异构多核处理器***10的运行队列RQ11、RQ12、RQ21、RQ22中,并且调度单元104需要选择运行队列RQ11、RQ12、RQ21、RQ22中的一个,然后将任务T0分配到已选运行队列,从而将任务T0加入运行队列RQ11、RQ12、RQ21、RQ22中的一个用于执行。
如上所述,可配置识别单元102执行任务鉴别从而确定第一优先任务组(例如,最高优先任务组)与第二优先任务组(例如,次高优先任务组),其中第一优先任务组的大小取决于具有第一计算能力的第一处理器核心的数量,并且第二优先任务组的大小取决于具有低于第一计算能力的第二计算能力的第二处理器核心的数量。在本示例中,存在两个第一处理器核心Core_11与Core_12以及两个第二处理器核心Core_21与Core_22。考虑将第一优先任务组的大小设定为等于第一处理器核心数量,以及将第二优先任务组的大小设定为等于第二处理器核心数量的情况。因为两个任务T0与T1的任务优先级并不低于其他任务T2、T3、T4的任务优先级,并且两个任务T2与T3的任务优先级并不高于任务T0、T1的任务优先级,以及不低于其他任务(例如T4)的任务优先级,识别单元102可将任务T0与T1标识为属于第一优先任务组的任务,并且将T2与T3标识为属于第二优先任务组的任务。任务T0的优先级“0”比任务T1与T2的优先级“1”与“2”要高,其中任务T1与T2正在具有较高计算能力的第一处理器核心Core_11与Core_12上运作。因此,调度单元104可将任务T0(标识为属于第一优先任务组的任务)推送至运行队列RQ11、RQ12中的一个以减少或避免优先级反转。
调度单元104可从第一处理器核心Core_11与Core_12的运行队列RQ11、RQ12中选择特定运行队列,并且将任务T0加入上述特定运行队列。在一示例设计中,特定运行队列中一个任务具有的最高任务优先级为运行队列RQ11、RQ12中任务拥有的所有最高任务优先级的最低值。在本示例中,既然运行队列RQ11中任务T2具有的最高任务优先级“2”低于运行队列RQ12中任务T1具有的最高任务优先级“1”,则调度单元104选择运行队列RQ11作为加入任务T0的特定运行队列。
在任务T0的任务调度完成后,运行队列RQ11可至少包含任务T0与T2,运行队列RQ12可至少包含任务T1,运行队列RQ21可至少包含任务T3,以及运行队列RQ22可至少包含任务T4。举例来说,但并不仅限于此,调度单元104可进一步确保属于第一优先任务组的每个第一任务在一个第一处理器核心的运行队列中。如图2所示,属于第一优先任务组的所有任务T0与T1位于第一处理器核心Core_11与Core_12的运行队列RQ11、RQ12中。
值得注意的是,任务T0的任务优先级“0”高于任务T2的任务优先级“2”。因此,在将任务T0加入运行队列RQ11中后,任务T0变为当前在第一处理器核心Core_11中执行的任务,并且任务T2变为在第一处理器核心Core_11中等待执行的任务。
图3是描述第二任务调度操作的示意图,其中将属于第二优先任务组的一个第二任务分配至具有较低计算能力的一个第二处理器核心的运行队列。在本示例中,在需要将具有任务优先级“3”的任务T32加入用于执行的运行队列RQ11、RQ12、RQ21、RQ22之前,运行队列RQ11可包含具有任务优先级“2”的任务T2并且可进一步包含具有较低任务优先级的其他任务(图3中未示出);运行队列RQ12可包含具有任务优先级“1”的任务T1并且可进一步包含具有较低任务优先级的其他任务(图3中未示出);运行队列RQ21可包含具有任务优先级“3”的任务T31并且可进一步包含具有较低任务优先级的其他任务(图3中未示出);运行队列RQ22可包含具有任务优先级“4”的任务T4并且可进一步包含具有较低任务优先级的其他任务(图3中未示出)。运行队列RQ11中具有最高任务优先级的任务可为任务T2,运行队列RQ12中具有最高任务优先级的任务可为任务T1,运行队列RQ21中具有最高任务优先级的任务可为任务T31,运行队列RQ22中具有最高任务优先级的任务可为任务T4。因此,任务T1、T2、T31、T4可为当前分别在第一处理器核心Core_12、第一处理器核心Core_11、第二处理器核心Core_21、第二处理器核心Core_22中运作的任务。
如上所述,***可生成新任务或当请求***资源可用时加入到等待队列以等待请求***资源并使用上述已请求的***资源的任务。在本示例中,任务T32可为新任务或恢复任务(例如,当前被唤醒的唤醒任务),其不包含在异构多核处理器***10的运行队列RQ11、RQ12、RQ21、RQ22中,并且调度单元104需要选择运行队列RQ11、RQ12、RQ21、RQ22中的一个,然后将任务T32分配到已选运行队列,为了要执行任务T32,从而将任务T32加入运行队列RQ11、RQ12、RQ21、RQ22中被分配的运行队列。
在本示例中,存在两个第一处理器核心Core_11与Core_12以及两个第二处理器核心Core_21与Core_22。考虑将第一优先任务组的大小设定为等于第一处理器核心数量,以及将第二优先任务组的大小设定为等于第二处理器核心数量的情况。因为两个任务T1与T2的任务优先级并不低于其他任务T31、T32、T4的任务优先级,并且两个任务T31与T32的任务优先级并不高于任务T1、T2的任务优先级,以及不低于其他任务(例如T4)的任务优先级,识别单元102可将任务T1与T2标识为属于第一优先任务组的任务,并且将T31与T32标识为属于第二优先任务组的任务。
任务T32的优先级“3”比任务T1与T2的优先级“1”与“2”要低,其中将任务T1与T2标识为属于第一优先任务组的任务并且正在具有较高计算能力的第一处理器核心Core_11与Core_12上运作。因此,调度单元104可将任务T32(标识为属于第二优先任务组的任务)推送至运行队列RQ21、RQ22中的一个以减少或避免优先级反转。
调度单元104可从第二处理器核心Core_21与Core_22的运行队列RQ21、RQ22中选择特定运行队列,并且将任务T32加入上述特定运行队列。例如,特定运行队列中一个任务具有的最高任务优先级为运行队列RQ21、RQ22中任务拥有的所有最高任务优先级的最低值。在本示例中,既然运行队列RQ22中任务T4具有的最高任务优先级“4”低于运行队列RQ21中任务T31具有的最高任务优先级“3”,则调度单元104选择运行队列RQ22作为加入任务T32的特定运行队列。
在任务T32的任务调度完成后,运行队列RQ11可至少包含T2,运行队列RQ12可至少包含任务T1,运行队列RQ21可至少包含任务T31,以及运行队列RQ22可至少包含任务T32与T4。值得注意的是,任务T32的任务优先级“3”高于任务T4的任务优先级“4”。因此,在将任务T32加入运行队列RQ22中后,任务T32变为当前在第二处理器核心Core_22中执行的任务,并且任务T4变为在第二处理器核心Core_22中等待执行的任务。
图4是描述第三任务调度操作的示意图,其中将属于第二优先任务组的一个第二任务分配至具有较低计算能力的一个第二处理器核心的运行队列。在本示例中,在将具有任务优先级“1”的任务T12从运行队列RQ22中移除前,运行队列RQ11可包含具有任务优先级“0”的任务T01并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“3”的任务T31以及具有任务优先级“4”的任务T41);运行队列RQ12可包含具有任务优先级“0”的任务T02并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“2”的任务T2);运行队列RQ21可包含具有任务优先级“1”的任务T11并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“3”的任务T32);运行队列RQ22可包含具有任务优先级“1”的任务T12并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“4”的任务T42)。在从运行队列RQ22中移除任务T12之前,运行队列RQ11中具有最高任务优先级的任务可为任务T01,运行队列RQ12中具有最高任务优先级的任务可为任务T02,运行队列RQ21中具有最高任务优先级的任务可为任务T11,运行队列RQ22中具有最高任务优先级的任务可为任务T12。因此,在从运行队列RQ22中移除任务T12之前,任务T01、T02、T11、T12可为当前分别在第一处理器核心Core_11、第一处理器核心Core_12、第二处理器核心Core_21、第二处理器核心Core_22中运作的任务。
在第二处理器核心Core_22完成执行任务T12的情况下(即第二处理器核心Core_22是处在做任务调度时),由于任务T12现在是完成任务,所以调度单元104可从运行队列RQ22中移除任务T12。另外一种情况是,在当前执行在第二处理器核心Core_22上任务T12请求的***资源不可用的另一情况下,可停止任务T12的执行,并且由于任务T12需要等待所请求的***资源,所以调度单元104从运行队列RQ22中移除任务T12并且将任务T12加入等待队列中。在上述任意情况下,当移除运行队列RQ22中具有最高任务优先级的任务T12时,调度单元104可将一个任务拉至运行队列RQ22,其中上述拉入的任务被标识为属于第二优先任务组的任务并且包含在第一处理器核心Core_11与Core_12与第二处理器核心Core_21与Core_22中的一个处理器核心的运行队列。
如上所述,可配置识别单元102执行任务鉴别从而确定第一优先任务组(例如,最高优先任务组)与第二优先任务组(例如,次高优先任务组),其中第一优先任务组的大小取决于具有第一计算能力的第一处理器核心的数量,并且第二优先任务组的大小取决于具有低于第一计算能力的第二计算能力的第二处理器核心的数量。在本示例中,存在两个第一处理器核心Core_11与Core_12以及两个第二处理器核心Core_21与Core_22。考虑将第一优先任务组的大小设定为等于第一处理器核心数量,以及将第二优先任务组的大小设定为等于第二处理器核心数量的情况。在从运行队列RQ22中移除任务T12之后,两个任务T01与T02的任务优先级并不低于其他任务的任务优先级(例如T11、T2、T31、T32、T41、T42),并且两个任务T11与T2的任务优先级并不高于任务T01、T02的任务优先级,以及不低于其他任务(例如T31、T32、T41、T42)的任务优先级。因此,识别单元102可将任务T01与T02标识为属于第一优先任务组的任务,并且将T11与T2标识为属于第二优先任务组的任务。
在从运行队列RQ22中移除任务T12之后,在第二处理器核心Core_22上等待执行的任务T42变为运行队列RQ22中具有最高任务优先级的任务。属于第二优先任务组的任务T11与T2的任务优先级高于任务T42的任务优先级,其中属于第二优先任务组的任务T2包含在第一处理器核心Core_12的运行队列RQ12中。因此,调度单元104可将任务T2从运行队列RQ12拉至运行队列RQ22中以减少或避免优先级反转。例如,在从运行队列RQ22中移除任务T12之后,当任务T2具有运行队列RQ12拥有的次高任务优先级时(即运行队列RQ12中的任务T2是在第一处理器核心Core_12中等待执行的任务),调度单元104将属于第二优先任务组的任务T2从第一处理器核心Core_12的运行队列RQ12拉至第二处理器核心Core_22的运行队列RQ22中。对于另一示例,在从运行队列RQ22中移除任务T12之后,当任务T2具有仅次于被移除任务T12的任务优先级时,调度单元104将属于第二优先任务组的任务T2从第一处理器核心Core_12的运行队列RQ12拉到第二处理器核心Core_22的运行队列RQ22中。对于另一示例,在从运行队列RQ22中移除任务T12之后,当任务T2具有高于运行队列RQ22中等待执行的一个任务(例如任务T42)的最高优先级时,调度单元104将属于第二优先任务组的任务T2从第一处理器核心Core_12的运行队列RQ12推送至第二处理器核心Core_22的运行队列RQ22中。
在任务T2的任务调度完成后,运行队列RQ11可至少包含T01、T31、T41,运行队列RQ12可至少包含任务T02,运行队列RQ21可至少包含任务T11、T32,以及运行队列RQ22可至少包含任务T2与T42。值得注意的是,任务T2的任务优先级“2”高于任务T42的任务优先级“4”。因此,在将任务T2从运行队列RQ12拉入运行队列RQ22中后,任务T2变为当前在第二处理器核心Core_22中执行的任务,并且任务T42变为在第二处理器核心Core_22中等待执行的任务。
在图4的上述示例中,将任务T2从运行队列RQ12拉到运行队列RQ22中。然而,这仅是描述的目的,并不是对本发明的限制。在另一种情况下,上述相同的任务调度方案可将具有任务优先级“2”的任务T2从不同的运行队列拉入移除任务T12的运行队列RQ22中。例如,当具有任务优先级“2”的任务T2在运行队列RQ11中,而不是在运行队列RQ12中,可在从运行队列RQ22移除任务T2后,将属于第二优先任务组的任务T2从运行队列RQ11拉入运行队列RQ22。在另一示例中,当具有任务优先级“2”的任务T2在运行队列RQ21中,而不是在运行队列RQ12中,可在从运行队列RQ22移除任务T2后,将属于第二优先任务组的任务T2从运行队列RQ21拉入运行队列RQ22
图5是描述第四任务调度操作的示意图,其中将属于第一优先任务组的一个第一任务分配至具有较高计算能力的一个第一处理器核心的运行队列。在本示例中,在将具有任务优先级“0”的任务T01从运行队列RQ11中移除前,运行队列RQ11可包含具有任务优先级“0”的任务T01并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“3”的任务T3以及具有任务优先级“4”的任务T41);运行队列RQ12可包含具有任务优先级“0”的任务T02并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“2”的任务T21);运行队列RQ21可包含具有任务优先级“1”的任务T1并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“2”的任务T22);运行队列RQ22可包含具有任务优先级“2”的任务T23并且可进一步包含具有较低任务优先级的其他任务(例如具有任务优先级“4”的任务T42)。在从运行队列RQ11中移除任务T01之前,运行队列RQ11中具有最高任务优先级的任务可为任务T01,运行队列RQ12中具有最高任务优先级的任务可为任务T02,运行队列RQ21中具有最高任务优先级的任务可为任务T1,运行队列RQ22中具有最高任务优先级的任务可为任务T23。另外,在从运行队列RQ11中移除任务T01之前,任务T01、T02、T1、T23可为当前分别在第一处理器核心Core_11、第一处理器核心Core_12、第二处理器核心Core_21、第二处理器核心Core_22中运作的任务。
如上所述,在完成执行任务T12或任务请求的***资源无法取得时,可将任务从运行队列中移除。在本示例中,由于上述原因,调度单元104从运行队列RQ11中移除任务T01。另外,调度单元104可将任务拉入运行队列RQ11以响应运行队列RQ11中具有最高任务优先级的任务T01的移除,其中上述拉入的任务被标识为属于第一优先任务组的任务并且包含在第二处理器核心Core_21与Core_22与第一处理器核心Core_12中的一个处理器核心的运行队列。或者,在任务T01从运行队列RQ11中移除的同时,任务T1可为在第一处理器核心Core_11上等待执行的任务。上述内容也落入本发明的保护范围。
存在两个第一处理器核心Core_11与Core_12以及两个第二处理器核心Core_21与Core_22。考虑将第一优先任务组的大小设定为等于第一处理器核心数量,以及将第二优先任务组的大小设定为等于第二处理器核心数量的情况。在从运行队列RQ11中移除任务T01之后,两个任务T02与T1的任务优先级并不低于其他任务的任务优先级(例如T21、T22、T23、T3、T41、T42),并且两个任务T22与T23的任务优先级并不高于任务T02、T1的任务优先级,以及不低于其他任务(例如T21、T3、T41、T42)的任务优先级。因此,识别单元102可将任务T02与T1标识为属于第一优先任务组的任务,并且将T22与T23标识为属于第二优先任务组的任务。值得注意的是,将T22与T23标识为属于第二优先任务组的任务仅是为了说明的目的。例如,具有相同任务优先级“2”的任务T21、T22与T23中的任意两个可标识为属于第二优先任务组的任务。
在从运行队列RQ11中移除任务T01之后,在第一处理器核心Core_11上等待执行的任务T3变为运行队列RQ11中具有最高任务优先级的任务。属于第一优先任务组的任务T02与T1的任务优先级高于任务T3的任务优先级,其中属于第一优先任务组的任务T1包含在第二处理器核心Core_21的运行队列RQ21中。因此,调度单元104可通知运行队列RQ21释放当前正在第二处理器核心Core_21上执行的任务T1,并且让运行队列RQ21中的任务T22在第二处理器核心Core_21上执行。调度单元104将释放的任务T1从运行队列RQ21拉入运行队列RQ11中以减少或避免优先级反转。例如,当在运行队列RQ21中的一个任务(例如T1)具有的最高任务优先级是第二处理器核心Core_21与Core_22运行队列中任务(例如T1和T23)所拥有的最高任务优先级并且在运行队列RQ21中具有最高任务优先级的任务(例如T1)具有高于在运行队列RQ11中等待执行的一个任务(例如T3)的最高任务优先级的任务优先级时,调度单元104将属于第一优先任务组的任务T1从第二处理器核心Core_21的运行队列RQ21拉到第一处理器核心Core_11的运行队列RQ11中。在另一示例中,当任务T1具有仅次于移除任务T01的任务优先级并且具有高于运行队列RQ11中等待执行的一个任务(例如任务T3)的最高优先级时,调度单元104将属于第一优先任务组的任务T1从第二处理器核心Core_21的运行队列RQ21拉到第一处理器核心Core_11的运行队列RQ11中。
在任务T1的任务调度完成后,运行队列RQ11可至少包含T1、T3、T41,运行队列RQ12可至少包含任务T02、T21,运行队列RQ21可至少包含任务T22,以及运行队列RQ22可至少包含任务T23与T42。在本示例中,调度单元104可进一步确保属于第一优先任务组的每个第一任务进入一个第一处理器核心的运行队列。如图5所示,属于第一优先任务组的所有任务T1与T02皆在第一处理器核心Core_11与Core_12的运行队列RQ11与RQ12中。
值得注意的是,任务T1的任务优先级“1”高于任务T3的任务优先级“3”。因此,在将任务T1从运行队列RQ21拉入运行队列RQ11中后,任务T1变为当前在第一处理器核心Core_11中执行的任务,并且任务T3变为在第一处理器核心Core_11中等待执行的任务。
基于任务优先级,在异构多核处理器***10中执行的所有任务可分为实时任务与普通任务。与普通任务相比,实时任务具有更高的任务优先级。例如,每个实时任务的任务优先级落入第一优先级范围[0,99],并且每个普通任务的任务优先级落入第二优先级范围[100,139]。在上述实施例中,任务调度器100执行的任务调度方法可用于实时任务调度。因此,使用上述任务调度方法的任务可仅为实时任务。然而,这仅是为了说明的目的,并不是对本发明的限制。在另一设计中,任务调度器100执行的上述任务调度方法可用于普通任务。因此,使用上述任务调度方法的任务可仅为普通任务。在另一设计中,任务调度器100执行的上述任务调度方法可用于实时任务与普通任务。为了简化起见,使用上述任务调度方法的操作***的任务调度器皆落入本发明的范围。
在不脱离本发明精神或本质特征的情况下,可以其他特定形式实施本发明。描述示例被认为说明的所有方面并且无限制。因此,本发明的范围由权利要求书指示,而非前面描述。所有在权利要求等同的方法与范围中的变化皆属于本发明的涵盖范围。

Claims (17)

1.一种用于异构多核处理器***的任务调度方法,其中该异构多核处理器***包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器***的任务调度方法包含:
根据该异构多核处理器***的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组;以及
分配该至少一个第一任务至该至少一个第一处理器核心的至少一个运行队列。
2.如权利要求1所述的用于异构多核处理器***的任务调度方法,其特征在于,进一步包含:确定该至少一个第一任务中的该每个任务位于该至少一个第一处理器核心的运行队列中。
3.如权利要求1所述的用于异构多核处理器***的任务调度方法,其特征在于,待分配的该至少一个第一任务是不包含在该异构多核处理器***运行队列中的特定任务。
4.如权利要求3所述的用于异构多核处理器***的任务调度方法,其特征在于,分配该至少一个第一任务的步骤包含:从该至少一个第一处理器核心的该至少一个运行队列选择特定运行队列,其中该特定运行队列中一个任务具有的最高任务优先级是该至少一个第一处理器核心的该至少一个运行队列中任务拥有的最高任务优先级的最低值;以及将该特定任务加入该特定运行队列。
5.如权利要求1所述的用于异构多核处理器***的任务调度方法,其特征在于,待分配的该至少一个第一任务是包含在该至少一个第二处理器核心的特定运行队列中的特定任务。
6.如权利要求5所述的用于异构多核处理器***的任务调度方法,其特征在于,该特定运行队列中的该特定任务具有的任务优先级高于该至少一个第一处理器核心的另一特定运行队列中一个任务具有的最高任务优先级,并且分配该至少一个第一任务的步骤包含:将该特定任务从该至少一个第二处理器核心的该特定运行队列拉入该至少一个第一处理器核心的该另一特定运行队列中。
7.如权利要求6所述的用于异构多核处理器***的任务调度方法,其特征在于,在执行上述拉入步骤前,该特定运行队列中该特定任务具有的最高任务优先级是该至少一个第二处理器核心的该至少一个运行队列中任务具有的最高任务优先级的最高值。
8.如权利要求1所述的用于异构多核处理器***的任务调度方法,其特征在于,该第一优先任务组的大小取决于该至少一个第一处理器核心的数量。
9.如权利要求1所述的用于异构多核处理器***的任务调度方法,其特征在于,该至少一个任务是实时任务。
10.一种用于异构多核处理器***的任务调度方法,其中该异构多核处理器***包含具有第一计算能力的至少一个第一处理器核心以及具有第二计算能力的至少一个第二处理器核心,该第一计算能力高于该第二计算能力,该用于异构多核处理器***的任务调度方法包含:
根据该异构多核处理器***的任务的任务优先级确定属于第一优先任务组的该任务的至少一个第一任务以及属于第二优先任务组的该任务的至少一个第二任务,其中属于该第一优先任务组的每个第一任务的任务优先级不低于其他任务的任务优先级,并且该其他任务不属于该第一优先任务组,属于该第二优先任务组的每个第二任务的任务优先级不低于另外任务的任务优先级,并且该另外任务不属于该第一优先任务组与该第二优先任务组;以及
分配该至少一个第二任务至该至少一个第二处理器核心的至少一个运行队列。
11.如权利要求10所述的用于异构多核处理器***的任务调度方法,其特征在于,待分配的该至少一个第二任务是不包含在该异构多核处理器***运行队列中的特定任务。
12.如权利要求11所述的用于异构多核处理器***的任务调度方法,其特征在于,分配该至少一个第二任务的步骤包含:从该至少一个第二处理器核心的该至少一个运行队列选择特定运行队列,其中该特定运行队列中一个任务具有的最高任务优先级是该至少一个第二处理器核心的该至少一个运行队列中任务拥有的最高任务优先级的最低值;以及将该特定任务加入该特定运行队列。
13.如权利要求10所述的用于异构多核处理器***的任务调度方法,其特征在于,待分配的该至少一个第二任务是包含在该至少一个第一处理器核心与该至少一个第二处理器核心的特定运行队列中的特定任务。
14.如权利要求13所述的用于异构多核处理器***的任务调度方法,其特征在于,该特定任务具有的任务优先级高于该至少一个第二处理器核心的另一特定运行队列中一个任务具有的最高任务优先级,并且分配该至少一个第二任务的步骤包含:将该特定任务从该特定运行队列拉入该另一特定运行队列中。
15.如权利要求14所述的用于异构多核处理器***的任务调度方法,其特征在于,在该特定运行队列中,该特定任务具有仅次于最高任务优先级的该任务优先级。
16.如权利要求10所述的用于异构多核处理器***的任务调度方法,其特征在于,该第一优先任务组的大小取决于该至少一个第一处理器核心的数量,以及该第二优先任务组的大小取决于该至少一个第二处理器核心的数量。
17.如权利要求10所述的用于异构多核处理器***的任务调度方法,其特征在于,该至少一个任务是实时任务。
CN201410594304.5A 2013-10-30 2014-10-29 用于异构多核处理器***的任务调度方法 Active CN104598426B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201361897362P 2013-10-30 2013-10-30
US61/897,362 2013-10-30
US14/480,646 2014-09-09
US14/480,646 US20150121387A1 (en) 2013-10-30 2014-09-09 Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
US14/516,566 US9858115B2 (en) 2013-10-30 2014-10-16 Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core processor system and related non-transitory computer readable medium
US14/516,566 2014-10-16

Publications (2)

Publication Number Publication Date
CN104598426A true CN104598426A (zh) 2015-05-06
CN104598426B CN104598426B (zh) 2018-02-09

Family

ID=52997007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410594304.5A Active CN104598426B (zh) 2013-10-30 2014-10-29 用于异构多核处理器***的任务调度方法

Country Status (2)

Country Link
US (1) US9858115B2 (zh)
CN (1) CN104598426B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017070900A1 (zh) * 2015-10-29 2017-05-04 华为技术有限公司 多核数字信号处理***中处理任务的方法和装置
WO2017101811A1 (en) * 2015-12-15 2017-06-22 Huawei Technologies Co., Ltd. Space and time aware organization and isolation of components in real time systems
CN107203423A (zh) * 2016-03-16 2017-09-26 联发科技股份有限公司 处理工作负载的方法及其多处理器***
CN110196737A (zh) * 2018-11-13 2019-09-03 张俊峰 一种异构多核处理***
CN111190726A (zh) * 2018-11-15 2020-05-22 三星电子株式会社 计算设备和用于操作计算设备的方法
CN111209112A (zh) * 2019-12-31 2020-05-29 杭州迪普科技股份有限公司 一种异常处理方法及装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9465645B1 (en) * 2014-06-25 2016-10-11 Amazon Technologies, Inc. Managing backlogged tasks
US10366358B1 (en) 2014-12-19 2019-07-30 Amazon Technologies, Inc. Backlogged computing work exchange
US9563431B2 (en) * 2014-12-26 2017-02-07 Intel Corporation Techniques for cooperative execution between asymmetric processor cores
CN108139929B (zh) * 2015-10-12 2021-08-20 华为技术有限公司 用于调度多个任务的任务调度装置和方法
ITUA20161426A1 (it) * 2016-03-07 2017-09-07 Ibm Dispaccio di lavori per esecuzione in parallelo da processori multipli
CN109144682A (zh) 2017-06-27 2019-01-04 阿里巴巴集团控股有限公司 任务的优先级处理方法和处理装置
CN107608770A (zh) * 2017-08-08 2018-01-19 西安交大捷普网络科技有限公司 多任务并发执行处理方法
KR102641520B1 (ko) * 2018-11-09 2024-02-28 삼성전자주식회사 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법
CN111930488B (zh) * 2020-09-11 2021-02-05 北京国科环宇科技股份有限公司 一种操作***任务调度的优先级继承方法及***
CN116670647A (zh) * 2020-12-30 2023-08-29 华为技术有限公司 一种任务调度方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161922A1 (en) * 2003-12-26 2006-07-20 Katsushige Amano Task scheduling apparatus, method, program, storage medium and transmission medium for prioritized signal handler scheduling
US20100211954A1 (en) * 2009-02-17 2010-08-19 International Business Machines Corporation Practical contention-free distributed weighted fair-share scheduler
CN102171627A (zh) * 2008-10-03 2011-08-31 悉尼大学 对在异构计算***中执行的应用的调度
CN102222022A (zh) * 2011-07-15 2011-10-19 范示德汽车技术(上海)有限公司 基于多核处理器的实时任务调度方法
CN102955685A (zh) * 2011-08-17 2013-03-06 上海贝尔股份有限公司 多核dsp及其***和调度器
CN103019810A (zh) * 2011-09-19 2013-04-03 辉达公司 具有不同执行优先级的计算任务的调度和管理
CN103164278A (zh) * 2011-12-09 2013-06-19 沈阳高精数控技术有限公司 一种面向多核处理器的实时动态内存管理器实现方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means
US6513057B1 (en) * 1996-10-28 2003-01-28 Unisys Corporation Heterogeneous symmetric multi-processing system
US6205150B1 (en) * 1998-05-28 2001-03-20 3Com Corporation Method of scheduling higher and lower priority data packets
JP3914230B2 (ja) * 2004-11-04 2007-05-16 株式会社東芝 プロセッサシステム及びその制御方法
JP2007133723A (ja) * 2005-11-11 2007-05-31 Hitachi Ltd マルチプロセッサ、タスクスケジューリング方法、及びコンパイラ
JP4936517B2 (ja) * 2006-06-06 2012-05-23 学校法人早稲田大学 ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
TWI386814B (zh) * 2007-12-31 2013-02-21 Ind Tech Res Inst 具動態工作管理能力之多處理器界面及其程式載卸方法
US8417919B2 (en) * 2008-09-12 2013-04-09 Wisconsin Alumni Research Foundation Assigning different serialization identifier to operations on different data set for execution in respective processor in multi-processor system
US8276142B2 (en) * 2009-10-09 2012-09-25 Intel Corporation Hardware support for thread scheduling on multi-core processors
KR101686010B1 (ko) * 2010-12-21 2016-12-13 삼성전자주식회사 실시간 멀티코어 시스템의 동기화 스케쥴링 장치 및 방법
US8917279B2 (en) * 2011-01-24 2014-12-23 Nec Laboratories America, Inc. Method and system to dynamically bind and unbind applications on a general purpose graphics processing unit
US9443095B2 (en) * 2012-05-16 2016-09-13 Nokia Corporation Method in a processor, an apparatus and a computer program product
US9619282B2 (en) 2012-08-21 2017-04-11 Lenovo (Singapore) Pte. Ltd. Task scheduling in big and little cores
WO2015070789A1 (en) * 2013-11-14 2015-05-21 Mediatek Inc. Task scheduling method and related non-transitory computer readable medium for dispatching task in multi-core processor system based at least partly on distribution of tasks sharing same data and/or accessing same memory address (es)

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161922A1 (en) * 2003-12-26 2006-07-20 Katsushige Amano Task scheduling apparatus, method, program, storage medium and transmission medium for prioritized signal handler scheduling
CN102171627A (zh) * 2008-10-03 2011-08-31 悉尼大学 对在异构计算***中执行的应用的调度
US20100211954A1 (en) * 2009-02-17 2010-08-19 International Business Machines Corporation Practical contention-free distributed weighted fair-share scheduler
CN102222022A (zh) * 2011-07-15 2011-10-19 范示德汽车技术(上海)有限公司 基于多核处理器的实时任务调度方法
CN102955685A (zh) * 2011-08-17 2013-03-06 上海贝尔股份有限公司 多核dsp及其***和调度器
CN103019810A (zh) * 2011-09-19 2013-04-03 辉达公司 具有不同执行优先级的计算任务的调度和管理
CN103164278A (zh) * 2011-12-09 2013-06-19 沈阳高精数控技术有限公司 一种面向多核处理器的实时动态内存管理器实现方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017070900A1 (zh) * 2015-10-29 2017-05-04 华为技术有限公司 多核数字信号处理***中处理任务的方法和装置
CN108351783A (zh) * 2015-10-29 2018-07-31 华为技术有限公司 多核数字信号处理***中处理任务的方法和装置
WO2017101811A1 (en) * 2015-12-15 2017-06-22 Huawei Technologies Co., Ltd. Space and time aware organization and isolation of components in real time systems
CN107203423A (zh) * 2016-03-16 2017-09-26 联发科技股份有限公司 处理工作负载的方法及其多处理器***
CN110196737A (zh) * 2018-11-13 2019-09-03 张俊峰 一种异构多核处理***
CN111190726A (zh) * 2018-11-15 2020-05-22 三星电子株式会社 计算设备和用于操作计算设备的方法
CN111209112A (zh) * 2019-12-31 2020-05-29 杭州迪普科技股份有限公司 一种异常处理方法及装置

Also Published As

Publication number Publication date
US20150121388A1 (en) 2015-04-30
CN104598426B (zh) 2018-02-09
US9858115B2 (en) 2018-01-02

Similar Documents

Publication Publication Date Title
CN104598426A (zh) 用于异构多核处理器***的任务调度方法
US9542223B2 (en) Scheduling jobs in a cluster by constructing multiple subclusters based on entry and exit rules
US9027028B2 (en) Controlling the use of computing resources in a database as a service
KR101953906B1 (ko) 태스크 스케줄링 방법 및 장치
CN109117260A (zh) 一种任务调度方法、装置、设备和介质
CN102027453B (zh) 用于在虚拟环境中优化中断处理的***和方法
CN103179048B (zh) 云数据中心的主机QoS策略变换方法及***
US20150121387A1 (en) Task scheduling method for dispatching tasks based on computing power of different processor cores in heterogeneous multi-core system and related non-transitory computer readable medium
US20120284730A1 (en) System to provide computing services
CN111406250A (zh) 无服务器计算环境中的使用经预取的数据的配设
CN113342477B (zh) 一种容器组部署方法、装置、设备及存储介质
CN104050137B (zh) 一种异构操作***中内核运行的方法及装置
CN103744716A (zh) 一种基于当前vcpu调度状态的动态中断均衡映射方法
CN104102548A (zh) 任务资源调度处理方法和***
US20160127382A1 (en) Determining variable wait time in an asynchronous call-back system based on calculated average sub-queue wait time
CN103365726A (zh) 一种面向gpu集群的资源管理方法和***
CN109840142A (zh) 基于云监控的线程控制方法、装置、电子设备及存储介质
CN105487919A (zh) 多核心处理器***及任务分配方法
CN112783659B (zh) 一种资源分配方法、装置、计算机设备及存储介质
CN107003713B (zh) 用于电力管理的逻辑分区的事件驱动的方法和***
CN112579267A (zh) 一种去中心化大数据作业流调度方法及装置
WO2012016472A1 (zh) 多核CPU加载Linux操作***的方法及***
CN107624181B (zh) 包括虚拟处理器的闲置和调度的虚拟机管理方法和装备
CN110990154A (zh) 一种大数据应用优化方法、装置及存储介质
US20140259022A1 (en) Apparatus and method for managing heterogeneous multi-core processor system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant