[发明专利]用于节能的基于软件的线程重映射有效
申请号: | 200910258390.1 | 申请日: | 2009-12-08 |
公开(公告)号: | CN102163072B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | J·J·宋 | 申请(专利权)人: | 英特尔公司 |
主分类号: | G06F1/32 | 分类号: | G06F1/32 |
代理公司: | 上海专利商标事务所有限公司31100 | 代理人: | 钱慰民 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 节能 基于 软件 线程 映射 | ||
背景
在所有细分种类的基于计算机的系统中,功率和热管理要比以前更具有挑战性。而在服务器领域,电的成本驱使人们需要低功率系统,在移动系统中电池寿命和热限使这些问题相关。可以在不活动或另外不需要的时候,通过减少提供给全部或部分计算系统的电力来实现最高性能和最小功耗的基于计算机的系统的管理。
计算机的一种功率管理标准是2006年10月10日出版的“高级配置和功率接口(ACPI)标准”,例如,Rev.3.0b,该标准定义了一种接口,该接口允许操作系统(OS)控制硬件元件。许多现代操作系统使用ACPI标准来执行计算系统的功率和热管理。ACPI实施使得核心(core)可处于不同的节能状态(也称为低功率或空闲状态),一般称之为所谓的C1到Cn状态。
当核心处于活动时,它以所谓的C0状态运行,但是当核心处于空闲时,操作系统试图使它能节约的功率量与进入和退出给定状态的额外开销之间保持平衡。因此,C1表示具有最少节能但是几乎可以立即开机和关机的低功率状态(因此,称之为“浅低功率”或“浅空闲”状态),而深低功率状态(例如,C3、C6或C7)表示根据硅实施静功耗可忽略不计的功率状态,但是进入这个状态和响应于活动性(即,回到活动C0)的时间是相当长的。注意,不同的处理器可以包括不同数量的核心C-状态,每个C-状态映射到一个ACPI C-状态。即,多个核心C-状态可以映射到相同的ACPI C-状态。
当前操作系统C-状态策略可能不会提供最有效的性能结果,因为当前操作系统C-状态策略可能没有考虑同一封装中其它核心的活动。尤其,当前操作系统C-状态策略不能得到效率方面的优点,这个效率方面的优点是通过更紧密地跟踪和管理运行在同一封装的不同核心上的各种线程的功率状态可以获得的。即,核心的一个硬件线程可以处于深低功率状态,而核心的另一个硬件线程可以是活动的。根据当前操作系统C-状态策略,核心不能进入深低功率状态,除非核心上的所有线程都处于深低功率状态。如果多个核心都经历这个情况,则没有核心可以进入深低功率状态(即使多个硬件线程是不活动的)。
附图说明
图1是框图,示出执行所揭示技术的至少一个实施例。
图2是根据至少一个实施例的、表示重映射例子视图之前和之后的数据流框图。
图3是数据流和控制流图,示出执行基于软件的线程-跳跃的、供在包括两个双线程核心的采样系统上节能的方法的至少一个实施例。
图4是流程图,示出执行基于软件的线程-跳跃的、供节能的方法的至少一个实施例。
图5是根据本发明至少一个实施例的系统的框图。
图6是根据本发明至少另一个实施例的系统的框图。
图7是根据本发明至少另一个实施例的系统的框图。
具体实施方式
各个实施例正确地和实时地对核心执行线程的基于软件的逻辑重映射,有效地对同一核心“交换”空闲线程以使核心可以进入低功率状态。更具体地,操作系统可以执行逻辑重映射和任务牵引(task pulling),把任务从一个核心上的一个硬件线程上下文拉到不同核心上的另一个硬件线程上下文。如果硬件线程上下文已准备好转换到低功率状态,则操作系统就可以确定封装中的任何其它线程上下文是否也处于低功率状态。然后操作系统就可以执行基于软件的逻辑重映射,以对同一核心交换一个或多个低功率线程上下文作为第一低功率线程,并且如果合适的话,使活动线程从该核心交换到另一个核心。当已经完成了交换以致映射到特定核心的所有线程上下文都处于低功率状态时,核心本身也可以处于低功率状态。如这里所使用的,术语“线程”是指软件线程。在这里可以互换地使用术语“逻辑CPU”、“逻辑处理器”、“硬件线程上下文”和“线程单元”来指可在其上执行软件线程的硬件线程上下文。下面结合图2更详细地描述硬件线程上下文的至少一个实施例(见LP0和LP1的讨论)。对于该实施例,线程单元可以包括核心的一部分,例如,多线程SMT核心的SMT(同步多线程)逻辑处理器。然而,对于其它实施例,线程单元可以包括,例如,整个单线程核心。
对于至少一个实施例,可以结合现有的操作系统机制使用这里所讨论的交换方案的实施例,以便以最少成本(根据功率和/或时间)得到这些核心上的任务的调度。各个实施例连同操作系统C-状态和调度策略可用于操作系统内核(kernel)代码。另一方面,一个或多个实施例可以用于具有对操作系统C-状态和调度机构的接口的平台固件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于英特尔公司,未经英特尔公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910258390.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双柱帆板式风力涡轮
- 下一篇:无线电接入网(RAN)中的内容高速缓存