调度处理器中的线程的方法和系统技术方案

技术编号:7532384 阅读:182 留言:0更新日期:2012-07-12 20:52
本发明专利技术提供一种用于引导多核心和/或多线程微处理器中的OS线程调度的方法。所述方法包括:对于活动线程中的每个线程,确定在上次环境切换间隔期间与线程执行的指令相关联的每个指令类型消耗的功率。所述方法还包括:b-对于活动线程中的每个线程,确定在下一环境切换间隔期间预期用于与所述线程调度的指令相关联的每个指令类型的功耗,c-生成活动线程(M)中的N个线程的至少一个组合,并且对于每个生成的组合,确定N个线程的组合是否满足主要条件,该主要条件涉及在下一环境切换间隔期间预期用于所述线程组合的每个线程的每指令类型的功耗,以及涉及在所述给定环境切换间隔期间对于所述线程组合的每个线程确定的每指令类型的功耗,d-在满足主要条件的组合中选择要调度的N个线程的组合。

【技术实现步骤摘要】

本专利技术通常涉及处理器技术,更具体地,涉及调度多线程或多核心处理器中的线程的方法和系统。
技术介绍
在过去几年,计算机的能耗在集成芯片(IC)并且特别是微处理器的设计中已经成为主要任务。温度直接涉及耗散的能量,这转而与时间间隔内的功耗直接成比例。温度水平决定冷却速率和封装技术选择。例如,近年来,各公司正考虑流体冷却子系统用于它们的高功率耗散机器。涉及功率耗散和温度水平的其它方面是IC的可靠性和封装的成本。IC的可靠性取决于IC加热的程度和频率。在IC生产线中,测试阶段的IC经历一定的压力以识别不可靠的IC,并且排除它们,因为它们低于预定的质量标准。通常,温度压力用于加速测试故障。许多故障机制可以通过以下方法之一加速-温度加速-电压和电流加速-湿度加速温度加速以及电压和电流加速方法在功率耗散观察方面最有影响。具体地,可靠性与温度的关系展现Arrhenius行为,并且电压和电流加速对于最大功耗是重要的。这是因为功率识别即时的电压电流乘积,并且高电流强度是引起IC中的金属线中的电子迁移的主要原因,这导致IC故障。这些故障机制在正常操作中也持续。温度和功率耗散之间的关系基于封装技术和对于该封装使用的冷却系统。如果选择的封装不能以可接受的速率耗散IC内生成的热量,则通常观察到温度上升。一旦该速率超过极限,在IC中就出现热失控,并且该IC永久故障。如果可以避免到达该速率值,则这将提高器件的可靠性并且也降低封装成本。这对于嵌入式微处理器应用特别重要,其中存在不能违反的空间和功率限制。功耗具有泄漏的、静态的和动态的成份。CMOS技术中最普通的一种是动态功耗。 在传统CMOS电路中不存在静态功耗,但是随着CMOS工艺技术的进一步缩小,泄漏变得越来越重要。功率消耗和/或耗散的特征在于两个度量峰值和平均功率。平均功率是影响能量消耗的度量,并且对机器正在执行的工作量有很大程度的依赖,而峰值功率对功率传递网络设计和可靠性有非常重要的影响。如果峰值功率超过集成芯片(IC)中的一定限度,则功率传递网络将出现故障,并且将永久地损坏,导致IC功能故障。具有最重要的功耗的计算机中的电路或IC是微处理器。微处理器设计和制造主要依赖于CMOS技术。因为所有应用转换为数字,所以微处理器总是在运行和操纵它们。这是微处理器的高功耗的主要原因。这也导致微处理器成为整个机器中的主要易损 (crunching)电路。为了减少功率消耗和耗散,已知两种方式基于硬件的方式和基于软件的方式。用来解决功率消耗和耗散问题的某些基于软件的方式依赖于用于减少在软件堆栈的若干级别的功耗的热管理方法。在US20060107^2中提供了对于功耗问题的热管理解决方案。US20060107262A1 描述了一种用于多核心处理器的线程调度技术,依赖于编译器将线程分类为复杂/高功率或简单/低功率,然后基于定义为减少功率/热强度的标准,调度和分布线程以在不同核心上运行。该解决方案提供来减少独特的多核心处理器中的功耗,并且不适于其中在每个核心上运行超过一个线程的多线程处理器。对于功耗问题的另一方式是US20030U6476中采用的方式。US20030126476提供一种用于超标量体系结构(superscalar)处理器的解决方案。然而,该解决方案不适于多线程或多核心处理器。US20050278520提供基于放置在分布式处理系统中的每个处理器上的温度传感器的另一解决方案。来自温度传感器的信息用于调度高特性值的任务到最低温度处理器。这样的解决方案只适于处理器的集群,并且不适于线程。US20056948082中描述的另一解决方案提供这样的方法,其允许程序基于通知事件进行参数改变,以适应温度概况。然而,这些参数改变可能影响硬件配置(频率或电压), 导致更差的性能。此外,该解决方案不提供用于经由调度保持性能的能力,并且不适于多线程或多核心系统。对于功耗的另一解决方案是US20097596430中描述的解决方案。根据该解决方案,对于多核心系统中的每个核心请求一组温度指标。这些指标用于将工作量调度到替代另一个处理器核心的处理器核心。该解决方案使用不同工作量的混合和匹配来管理温度, 并且不适于多线程系统。因此,需要一种热管理多线程多核心机器的任务调度系统和方法。
技术实现思路
根据本专利技术,提供了一种根据独立权利要求1的调度工作的方法、以及分别根据权利要求14和15的计算机程序和系统。从属权利要求中定义了优选实施例。利用本专利技术,一个环境切换(Context Switch, CS)间隔中生成的热量可以在保持性能的同时在将来的环境切换中耗散,并且增加了集成电路的可靠性。这在实时嵌入式系统中特别有利,其中存在对每个工作的期限,并且性能和封装成本最重要。根据本专利技术实施例的解决方案适于处理器中的任何数量的线程或核心。还适于要执行的指令中涉及的任何数量的指令类型。根据本专利技术实施例的工作调度方法的一个优点是保证每个线程的向前进展,因此避免线程不足(starvation)。本专利技术使得可以容易地使用内核软件能力和可用的硬件资源实现。本专利技术还允许使用具有较低峰值功率和较低温度水平的系统硬件。相应地,由于峰值功率的减少的器件的可靠性在器件内提高,并且由于较低的冷却要求需要较低的封装成本。附图说明现在将参考附图通过示例的方式描述本专利技术的实施例,附图中,相同参考标号表示相似元件,其中图1示意性图示根据本专利技术特定实施例的用于调度N向处理器中的工作/线程的工作调度系统;图2示意性图示根据特定实施例的功率预测单元;图3示出根据特定实施例的用于确定在上次环境切换间隔期间每指令类型的实际功耗的流程图;图4示出根据特定实施例的用于确定预期用于每个线程的不同指令类型的功耗的流程图;以及图5示出根据本专利技术特定实施例的用于选择一组N个要调度的线程的流程图。 具体实施例方式根据本专利技术的优选实施例,提供了一种用于引导多核心和多线程微处理器中的OS 线程调度的方法。该方法包括基于相对于上次环境切换(CS)的它们的预测功耗,选择运行的应用/工作的不同活动线程的子组,以在将来的环境切换时间段中运行。如本领域熟知的,“环境切换时间段”或“环境切换间隔”表示这样的时间段,在其期间,例如通过操纵系统调度一组应用或线程在计算机处理器上运行。为了描述容易,在此将使用时间相关术语(如“下一”、“将来的”、“上次”、“之前的”)来描述环境切换间隔与另一环境切换间隔的关系。将理解的是,这些时间相关术语意图包括根据时间线基准的连续的时间切换间隔。此外,除非另外定义,在此关于时间切换间隔使用的一方面的“下一”和“将来的”或另一方面的“上次”和“之前的”具有相同含义。符合之前的环境切换的反数(inverse)或补数(complement)的功率消耗的一组线程被选择作为要调度和使用的线程,以便填充用于下一环境切换的调度列表/表格。这确保在上次环境切换使用的功能单元将具有较低活性,因此将能够在将来的环境切换期间冷却。检查选择的线程以确定它们是否具有低于预定阈值的预测功耗值,否则出现替换。然后根据预定功耗调度选择的线程。每个运行的线程消耗的实际功率然后使用微处理器中可用的任何适当的硬件进行测量或估计。然后,基于实际消耗的功耗更新上次的环境切换的功耗历史表格,以对将来的环境本文档来自技高网
...

【技术保护点】

【技术特征摘要】
...

【专利技术属性】
技术研发人员:HE艾尔希希尼AT赛伊德加梅尔艾尔丁
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1
相关领域技术