[发明专利]一种异构多核线程调度方法、系统及异构多核处理器有效
申请号: | 201310206533.0 | 申请日: | 2013-05-29 |
公开(公告)号: | CN103294550A | 公开(公告)日: | 2013-09-11 |
发明(设计)人: | 王磊;陈云霁;陈天石;陆超;李梦竹 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京律诚同业知识产权代理有限公司 11006 | 代理人: | 祁建国;梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 线程 调度 方法 系统 处理器 | ||
技术领域
本发明涉及一种在单指令集异构多核处理器(Single-ISA heterogeneous multi-core processors)中线程与核数目相等情况下的线程调度方法(threads scheduling policy)领域,尤其涉及一种根据线程和核对彼此进行选择优先级排序后,用Gale-Shapley算法完成线程调度方法的实现。
背景技术
随着集成电路工艺的发展,越来越多的核被集成到同一个片上系统中,片上多核处理器(chip multi-processors,CMP)逐渐成为一种主流的处理器结构。片上多核处理器通过在片上集成多个相同的通用核为并行运行在系统中的程序提供更好的性能表现,但同时也会受到功耗,散热,芯片面积等的限制。为了更为有效地充分利用片上有限的功耗以及面积,工业界及学术界提出了异构多核处理器结构。
异构多核处理器有多种构成形式,本发明主要涉及单指令集异构多核处理器(Single-ISA heterogeneous multi-core processors)。在单指令集异构多核处理器中,不同类型的核共用同一套指令集。核之间的差异既可以是由频率、缓存大小、功耗限制(power budget)等参数导致的,也可能是由于基本结构设计(例如:out-of-order或in-order,指令发射宽度等)的不同引起。另外,本发明主要针对异构多核处理器中每个核上都各自运行着一个单线程程序的情况,因此线程数目总是等于系统中的核的数目,并且线程可视为与程序等价。
不同的程序通常具有不同的程序特征。进一步,即使对于同一个程序,根据输入集以及执行阶段的变化,其程序特征也会发生显著的变化。
在异构多核处理器中,根据程序特征,将各个线程调度到它们各自最为合适的核上面运行,这称之为线程调度。线程调度的目的在于用合适的核为线程提供更好的性能表现,同时尽量避免功耗的浪费,使得片上有限的功耗以及面积资源都得到更有效地利用。
调度方法有静态和动态之分,其中,静态的调度方法通过离线提取程序与具体执行环境无关的特征来推测各个线程在不同类型的核上运行的性能表现,根据预测结果,将各个线程调度到相应的核上运行。静态调度方法只用到了程序间的差异,忽略了程序自身在不同的执行阶段所具有不同的程序特征,因此静态调度方法存在天然的缺陷。
基于抽样的动态调度方法的做法将调度分为两个阶段进行:抽样阶段和稳定执行阶段。当标志着程序动态特征发生了显著变化的触发事件发生后,进入抽样阶段;在抽样阶段中,将各个线程分别调度到每种类型的核上试运行,因此需要遍历所有的调度方案,并记录下每种调度方案相应的性能表现;然后挑选出性能表现最优的调度方案进入较长时期的稳定执行阶段,直到下一个触发事件的发生。基于抽样的动态调度方法能够充分利用程序的动态特征进行调度。但是,在抽样阶段会带来大量的线程迁移代价,并且遍历不同的调度方案时需要让程序在各种非理想的调度方案下试运行,由此导致的性能开销也非常大;另外抽样开销会随着系统中核的类型增加而迅速增加,使得这类调度方法的可扩展性很差,无法应用于实际中。
为了避免抽样带来的开销,一类基于启发式的调度方法被提出。这类调度方法借助一些硬件的监控部件(monitor)来采集程序运行中的一些关键信息,例如IPC,缓存失效率,阻塞时间等,并根据经验规则用这些动态信息来估算各个线程在不同类型的核上运行的性能表现,然后使用贪心算法根据收益大小为线程选择合适的核。
下面对这类调度方法中具有代表性的技术方案进行一些简单的介绍:
在一个由不同频率的核构成的异构多核处理器中,将线程按照上一执行阶段的IPC由高到低排序,同时将核按频率进行排序,然后将线程与核按照排序的相对位置进行匹配。类似的做法还可以通过采集线程的缓存失效率(cache miss rate)等信息来将线程分为计算密集型(compute-intensive)和访存密集型(memory-intensive)两类,然后将计算密集型的线程调度到大核上(例如:频率高,缓存面积大,乱序执行等等)运行,访存密集型的线程被调度到小核上(例如:频率低,缓存面积小,顺序执行等等)运行。这种调度方法的出发点是将指令级并行度(ILP)较高的计算密集型线程分配到大核上从而取得更好的性能表现,访存密集型的线程分配到小核上以节约功耗。这类做法的进一步改进是,将采集到的缓存失效率、阻塞时间(stall time)等信息结合各个核的结构参数,估算出各个线程在不同核上运行的性能表现,然后用贪心算法根据性能收益大小将线程调度到各个核上运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310206533.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种控制终端屏幕的方法和移动终端
- 下一篇:输入法调用方法、调用装置和终端