至少部分基于共享相同数据及/或存取相同存储地址的任务分布的任务调度方法以及多核处理器系统中用于分配任务的相关非暂时性计算机可读介质技术方案

技术编号:12222526 阅读:98 留言:0更新日期:2015-10-22 00:53
本发明专利技术揭露一种多核处理器系统的任务调度方法,至少包含下列步骤:当第一任务属于当前在该多核处理器系统中的线程组时,其中,该线程组具有共享相同特定数据及/或存取相同特定存储地址的多个任务,并且该多个任务包含该第一任务与至少一个第二任务,至少部分基于该至少一个第二任务的分布决定该多核处理器系统中的目标处理器核心,其中该至少一个第二任务位于该多核处理器系统中至少一个处理器核心的至少一个运行队列中;以及将该第一任务分配至该目标处理器核心的运行队列。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】至少部分基于共享相同数据及/或存取相同存储地址的任务分布的任务调度方法以及多核处理器系统中用于分配任务的相关非暂时性计算机可读介质交叉引用本专利技术要求如下优先权:编号为61/904,072,申请日为2013年11月14日的美国临时专利申请。上述美国临时专利申请在此一并作为参考。
本专利技术揭露的实施例涉及一种任务调度方案。特别地,本专利技术揭露的实施例涉及一种多核处理器系统(mult1-core processor system)中用于调度任务(例如,普通任务)的任务调度方法以及相关非暂时性计算机可读介质(non-transitory computer readablemedium),其中上述任务调度方法至少部分基于共享相同特定数据及/或存取相同特定存储地址的任务分布。
技术介绍
现今,由于对运算能力的越来越多需求,多核系统变得普及。因此,多核系统的操作系统(operating system,OS)需要决定不同处理器核心调度的任务以维持较好的负载平衡及/或较高的系统资源利用。上述处理器核心可按照不同集群(cluster)进行分类,并且上述集群可分别随着在高速缓存层中同级的分立高速缓存(cache)进行分配。例如,可配置不同集群以分别使用不同第二层(leVel-2,L2)的高速缓存。通常,在多核系统中实施高速缓存一致性互联(cache coherent interconnect)以管理致力于不同集群的高速缓存之间的高速缓存一致性。然而,当L2高速缓存读未命中或L2高速缓存书写发生时,上述高速缓存一致性互联具有一致性开销(coherency overhead)。传统任务调度设计简单地找出最忙处理器核心,并且将最忙处理器核心的运行队列中的任务移动至最空闲处理器核心的运行队列。因此,传统调度设计在不考虑高速缓存一致性开销的情况下控制将任务从一个集群到另一个集群的转移。总之,需要创新的任务调度设计,其当将任务分配至集群中运行队列时考虑高速缓存一致性开销,这样可缓解或避免高速缓存一致性开销从而取得改善的任务调度性能。
技术实现思路
依据本专利技术实施例,提出至少部分基于共享相同特定数据及/或存取相同特定存储地址的任务分布在多核处理器系统中分配任务的任务调度方法与非暂时性计算机可读介质以解决上述问题。根据本专利技术第一方面,揭露一种多核处理器系统的示例任务调度方法。该示例任务调度方法包含:当第一任务属于当前在该多核处理器系统中的线程组时,其中,该线程组具有共享相同特定数据的多个任务,并且该多个任务包含该第一任务与至少一个第二任务,至少部分基于该至少一个第二任务的分布决定该多核处理器系统中的目标处理器核心,其中该至少一个第二任务位于该多核处理器系统中至少一个处理器核心的至少一个运行队列中;以及将该第一任务分配至该目标处理器核心的运行队列。根据本专利技术第二方面,揭露一种多核处理器系统的示例任务调度方法。该示例任务调度方法包含:当第一任务属于当前在该多核处理器系统中的线程组时,其中,该线程组具有存取相同特定存储地址的多个任务,并且该多个任务包含该第一任务与至少一个第二任务,至少部分基于该至少一个第二任务的分布决定该多核处理器系统中的目标处理器核心,其中该至少一个第二任务位于该多核处理器系统中至少一个处理器核心的至少一个运行队列中;以及将该第一任务分配至该目标处理器核心的运行队列。此外,本专利技术也提供一种存储任务调度程序代码的非短暂计算机可读介质,其中当多核处理器系统执行该任务调度程序代码时,该任务调度程序代码引发该多核处理器系统执行上述任务调度方法。在读了用各种示图描述的较佳实施例的详细描述后,本领域技术人员可理解本专利技术的宗旨。【附图说明】图1是根据本专利技术实施例描述的多核处理器系统的示意图;图2是根据本专利技术实施例描述的非暂时性计算机可读介质的示意图;图3是描述第一任务调度操作的示意图,其中上述操作将一个单线程进程的任务分配入处理器核心的运行队列;图4是描述第二任务调度操作的示意图,其中上述操作将属于线程组的一个任务分配入处理器核心的运行队列;图5是描述第三任务调度操作的示意图,其中上述操作将属于线程组的一个任务分配入处理器核心的运行队列;图6是描述第四任务调度操作的示意图,其中上述操作将属于线程组的一个任务分配入处理器核心的运行队列;图7是描述第五任务调度操作的示意图,其中上述操作将属于线程组的一个任务分配入处理器核心的运行队列;图8是描述第六任务调度操作的示意图,其中上述操作将属于线程组的一个任务从一集群中处理器核心的运行队列转移至另一集群中处理器核心的运行队列;图9是描述第七任务调度操作的示意图,其中上述操作将一个单线程进程的任务从一集群中处理器核心的运行队列转移至另一集群中处理器核心的运行队列;图10是描述第八任务调度操作的示意图,其中上述操作将一个单线程进程的任务从一集群中处理器核心的运行队列转移至另一集群中处理器核心的运行队列;图11是描述第九任务调度操作的示意图,其中上述操作将一个单线程进程的任务从一集群中处理器核心的运行队列转移至相同集群中处理器的运行队列。【具体实施方式】在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属
的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准贝1J。在通篇说明书及权利要求项中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。此外,“耦接”一词在此包含任何直接及间接的电气连接手段。因此,若文中描述一个装置耦接于另一装置,则代表该一个装置可直接电气连接于该另一装置,或通过其它装置或连接手段间接地电气连接至该另一装置。图1是根据本专利技术实施例描述的多核处理器系统的示意图。多核处理器系统10可在可携式装置中进行实施,例如移动电话、平板电脑、可穿戴式设备等。然而,上述说明并非对本专利技术的限制。即,任何使用所述任务调度方法的电子装置皆落入本专利技术的保护范围。在本实施例中,多核处理器系统10可具有多个集群112_1-112_N,其中N为正整数并且可基于实际设计考虑进行调整。即,本专利技术不限制多核处理器系统10中配置的集群数量。对于集群112_1_112_N,每个集群可为一组处理器核心。例如,集群112_1可包含一个或多个处理器核心117,其中每个处理器核心117具有运算能力相同的相同处理器结构;以及集群112_N可包含一个或多个处理器核心118,其中每个处理器核心118具有运算能力相同的相同处理器结构。在一示例中,处理器核心117可具有运算能力不同的不同处理器结构。在另一示例中,处理器核心118可具有运算能力不同的不同处理器结构。在一示例设计中,多核处理器系统10可使用所述任务调度方法以及对称多处理(symmetricmult1-processing, SMP)结构。因此,多核处理器系统10中的每个处理器核心可具有运算能力相同的相同处理器结构。在另一示例设计中,多核处理器系统10可使用所述任务调度方法以及异构多核(heterogeneous mult1-core)结构。例如,集群112_1的每个处理器核心117可具有支持第一运算能力的第一处理器结构,并且本文档来自技高网
...

【技术保护点】
一种多核处理器系统的任务调度方法,包含:当第一任务属于当前在该多核处理器系统中的线程组时,其中,该线程组具有共享相同特定数据的多个任务,并且该多个任务包含该第一任务与至少一个第二任务,至少部分基于该至少一个第二任务的分布决定该多核处理器系统中的目标处理器核心,其中该至少一个第二任务位于该多核处理器系统中至少一个处理器核心的至少一个运行队列中;以及将该第一任务分配至该目标处理器核心的运行队列。

【技术特征摘要】
【国外来华专利技术】...

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

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

1