通过从处理器性能管理系统掩蔽处理来减少功耗的制作方法

文档序号:6359990阅读:178来源:国知局
专利名称:通过从处理器性能管理系统掩蔽处理来减少功耗的制作方法
通过从处理器性能管理系统掩蔽处理来减少功耗
背景技术
本发明一般涉及信息技术中的能效的领域,具体涉及当处理器性能管理(PPM)(或者,处理器性能管理(PPM)也被称为动态频率和电压调节(DFVS))被采用时提高能效。具体地,本发明涉及通过减少与特定处理(特别是用户应用、系统级服务或“精灵虚拟光驱(daemon)”)相关联的计算负荷对功率性能管理算法或系统的影响来运作的节电技术。现在,处理器性能管理被广泛使用以便减少包含处理器(特别是中央处理单元,CPU)的计算机以及其他设备/装置(尤其是大部分时间使用电池电力的便携设备-膝上型电脑、PDA、移动电话等)的功耗。在本文中,术语“计算装置”应当被用作表示包括处理器的设备/装置的一般表述。现代的处理器能够在不同时钟频率和处理器核心电压(Vcc )的范围内工作。根据 高级配置和电源接口标准(ACPI ),操作频率和操作电压的每种组合对应于不同的处理器性能标准,并且通常被称为“性能状态”或“操作点”或者“P状态”。每种性能状态涉及不同水平的功耗功耗随着CPU时钟频率并且随着操作电压的平方以线性方式上升。换句话说,下面的公式(I)是对功耗P随着CPU时钟频率f和操作电压V如何变化的近似P=CV2f (I)其中C是处理器容量。作为示例,表I指出由I. 6GHz Intel Pentium M处理器支持的处理器性能状态。表I
频率~~iS ~176GHz I. 484V ~174GHz I. 420V ~172GHz I.276V—高性能模式(最闻功耗)
~I. OGHz ~I. 164V 800MHz 1.036V 600MHz 0.956V—低性能模式(最低功耗)广义上讲,处理器性能管理涉及动态地基于当时可用于系统的条件和/或基于用户已经指定的功率管理协议来选择处理器性能状态。通常,当处理器的利用百分率高时,高性能状态(最高可能操作频率和电压)将被选择,而当处理器的利用百分率低时,低性能状态(最低可能操作频率和电压)将被选择,并且在其他情况中,中间状态被选择。影响对处理器性能状态的选择的具体因素可有多种并且可因系统不同而变化。通常考虑的参数包括但不限于处理器利用百分率(或处理器“活动性”)、用户的功率策略、当前的电池水平以及热状况和事件。而且,某些PPM算法基于对于即将到来的时段这些参数的预测值而实现对处理器性能状态的选择。PPM可以多种方式来实现,可利用处理器、BIOS和/或操作系统中的特征。众所周知的PPM系统的示例包括AMD的powerNow! 、ARM的PowerWise自适应电压调节(AVS)和智能能量管理器(IEM)以及Intel的高级SpeedStep 这些技术。分解PPM系统的一种方式是考虑存在以下组件控制单元,该控制单元决定对于给定时段应选择哪种处理器性能状态;以及驱动器模块,该驱动器模块实施所希望的处理器性能状态设置(例如,通过向寄存器写入代码,向处理器内写入代码,这种代码标识出下 一目标处理器性能状态-如在Intel SpeedStep 系统中那样)。在某些情况中,操作系统可能需要参考BIOS以便确定保持目标处理器性能状态和/或实际处理器性能状态的寄存器的位置。当处理器被指示改变性能状态时,通常,该处理器将向相关联的电压调节器标识出所希望的操作电压。不论用于指示所希望的处理器性能状态的改变的具体技术如何并且不论被采用来实施所指示的改变的具体技术如何,都可应用本发明。通常,存在一组不同的功率管理策略并且用户可在给定时间选择哪种策略希望应用于系统,和/或可以配置策略。例如,微软Windows 7 操作系统指定了三种功率管理策略(或“功率规划”),它们分别称为“性能”、“平衡”和“节电”,并且用户被允许定制这些策略,例如通过指定给定策略中对于处理器利用率的上下限。在许多情况中,系统将在PPM模式中运作,在PPM模式中,处理器上的负荷影响被选择用于该处理器的性能状态。被配置为实施考虑处理器活动性而选择处理器性能状态的PPM策略的计算机(或具有数据处理能力的其他设备)在当计算密集型的任务被处理时,将选择高性能处理器状态(即,高操作频率和高操作电压-相应地具有高功耗)。一般而言,PPM模块不能在确实应当被迅速处理的高优先级任务和不怎么急的任务(即,用户将容忍较慢地完成的任务-即,低处理器性能状态-如果这将导致功耗降低的话)之间进行区分。就此,考虑当计算机用户将其系统的资源提供给志愿(volunteer)计算项目并且其系统被配置为实施至少部分地基于处理器上的计算负荷选择处理器性能状态的PPM策略时会有什么发生。在志愿计算中,人们将它们的计算机资源贡献于大的并且最常见的科研计算项目。众所周知的志愿计算项目为主要由牛津大学在climateprediction. net网站上运行的气候建模项目。为了能够参与到志愿计算项目中,用户通常要从与志愿计算项目相关联的服务器下载小型应用并将此应用安装到该用户的计算机上。此应用然后下载数据块,利用志愿用计算机的处理器执行计算,将结果更新到服务器,下载下一数据块,等等。志愿计算项目一般涉及计算密集型应用,即,需要处理器主要执行数学运算的应用。这样的应用通常被称为“CPU 约束(CPU-bound)” 应用。在大多数普通情况中,志愿计算应用被配置为使得它们仅当计算机在一段时间内空闲时才运行,即,它们作为屏保运行。为了估计此种情况(以及其他情况)中的功耗,基准(benchmark)应用被写入,并且此基准应用被设计为执行虚拟计算以使得其将模仿CPU约束用户应用的行为。基准应用利用如下的装置运行使用特征在于SpeedStep 技术的1500MHzIntel Pentium M Banias 处理器、使用具有 Linux kernel 2· 6· 31 版的 GNU /Linux操作系统、并且被配置为基于处理器利用百分率来选择处理器的性能状态的SonyVAI0 膝上型电脑(型号PCG-ZISP)。当基准应用作为屏保在上述装置上运行时,该应用运行期间的处理器利用率(或处理器负荷)为100% (因为该应用是计算密集型的应用),并且相应地,PPM系统选择可用的最高性能处理器状态。在这些情形中,完成计算需要大约57秒并且粗略地1700焦耳的能量被使用,使得平均功耗为30瓦。如果用户故意纯粹地使其计算机开着而使得志愿计算应用能够使用其资源,则由于参与到志愿计算项目中而全部此功率都被纯粹消耗。 相对地,还可能将志愿计算应用(或者其他CPU约束任务)作为后台任务来运行,例如在当用户使用其计算机用于例行的办公室工作时。图I图示出当用户使用上述膝上型电脑(按照描述配置)用于例行的办公室工作时(PU的活动性的典型图样。图I (a)图示出在PPM系统的控制下CPU负荷随时间的变化的典型图样,并且图1(b)示出CPU时钟频率在同样的时段的改变(PPM系统被配置为当CPU负荷高时选择高性能处理器模式,而当CPU负荷低时选择低性能处理器模式)。从图I (a)将看出,平均CPU负荷低-一般低于20%-当膝上型电脑被用于通常的办公室工作时。图1(b)示出CPU的时钟频率也保持低,对于较高频率(例如,当办公室应用加载并解压缩图像时)偶然有尖峰。当膝上型电脑被用于例行的办公室工作时的功耗约为13瓦,这实际上与当膝上型电脑空闲时相同(即,CPU负荷接近零)。在当用户在上述测试用膝上型电脑配置上涉及例行的办公室工作的同时基准应用作为后台任务运行时,基准应用使得处理器利用率跳到100%,这导致PPM系统对于当基准应用运行时的整个时段选择高性能处理器模式。再次,计算花去大约57秒并且在此时段平均功率为30瓦。然而,在此情况中,很公平地认为在用户为了执行他的例行的办公室工作无论如何所需要的功率以上或以外仅仅17瓦“超额”功率被过渡消耗(这表示从屏保情况中使用的1700焦耳的能量下降到后台运行的情况中的969焦耳)。因此,在用户使用他的计算机的同时作为后台任务运行计算密集型的应用(或者,更一般地,计算密集型的任务)比作为屏保运行该应用能效更高,但是仍涉及相当大的额外能量的花费。而且,当CPU约束任务在后台运行时,CPU从相对低的水平升高到100%,这马上给CPU造成热压力并且计算机风扇开始全速运转。机器的噪声马上变得会烦扰用户并且对于任意延长的时段都难以容忍。在志愿计算的环境中已经尝试的一种解决方法是允许用户将其计算机资源可用于志愿计算应用的时间部分进行限制。此功能通过称为BOINC (伯克利开放式网络计算平台)的软件包来提供,该软件包常被采用来部署志愿计算项目。如果用户指定他的计算机资源对于少于100%的时间可用于志愿计算项目,则BOINC管理器将间歇地请求操作系统改变该应用的状态以进行“加速”,从而将平均CPU利用率降低到用户指定的分数。例如,20%的用户设置将导致BOINC管理器运行2秒并且然后“使得该应用睡眠” 8秒,其中假定在所述2秒时段期间,该应用是计算密集型的应用,并当该应用运行时的CPU负荷为100%。当该应用睡眠时,CPU负荷将落回到其空闲水平(或者可归因于CPU正运行的任何其他处理的水平)。BOINC为用户提供的用于限制志愿计算应用对CPU的访问的这种手段不会导致由该应用消耗的能量降低。这可从下面看出使α表示用户设置的允许CPU利用度,其中,0〈 α ( I ;P0是当CPU负荷为0% (CPU空闲)时的功耗;P100是当CPU负荷为100%时的功耗;
T100是当以CPU负荷为100%执行应用并且如果计算未被中断时所花的时间;并且T是完成计算实际所花的时间(包括“酬民”时段)。平均功耗应为P=a Pltltl+(I-a Wtltj然而,由于运行志愿计算应用而导致的“超额”功耗(在计算机空闲时使用的功耗以上或以外)仅为P= a (P100-Po)。因为BOINC引入的睡眠,计算时间从TltlO增加为T=Tltltl/α。因此,由于运行志愿计算应用所消耗的总“超额”能量E=PXT变为(Picici-Pci) XTltltl,这确实与没有“酬民”的情况所花费的一样。实际上,实践中已经发现,当计算密集型的应用对CPU的访问按照这种方式被限制时,所消耗的总能量实际升高。图2示出在修改后的版本的基准应用-适于减少BOINC所提供的功能-在测试用膝上型电脑配置上运行的情况中功耗随着参数α (表示志愿计算应用访问CPU的时间的比例)的值如何变化。图3示出在这些实验中消耗的时间随参数α的值如何变化。从图2可以看出,对于几乎所有α值,能耗大于没有睡眠的情况(S卩,α=1的情况)。另外,图3示出对于所有小于I的α值,计算持续时间增长。换句话说,使用BOINC所提供的限制CPU使用的手段看来主要导致能耗增大并且完成计算所需的时间加长。另外,已经发现,当在BOINC偏好中参数α被设置为比O. 2大的值时,CPU上的热压力使得风扇运行并且机器迅速地变得不能忍受的吵杂。从上述可见,不论自愿计算应用(或者其它CPU约束任务,例如,用户应用、系统级服务、多任务操作系统环境中的基准等)作为屏保运作还是作为后台任务运作,在运行此应用中都涉及到相当大的额外的能量浪费。对于此非常大的能量使用的部分原因在于如下事实自愿计算应用涉及高百分比的CPU利用率(为或者接近100%),并且这导致PPM系统选择高性能处理器模式,即使此应用不真正需要处理器的高性能(用户并不真需要任务被快速运行-用户可以容忍完成此任务的运行所需的时间延长)。更一般地考虑,至少部分地基于利用率来选择处理器性能状态的PPM系统即使在促使高性能状态被选择的某些部分的处理器负荷对于用户来说实际上并不紧急或者并不具有高优先级的情况中,也可能以相当大的比率消耗电力。显然,如果仅仅要被处理器执行的任务是非紧急的,则用户可以选择功率管理简档(profile),该简档总是将处理器设置为低性能/低功耗状态。然而,如果处理器将面对某些任务紧急而其它任务不紧急的情况,则这并不适当。在这样的情形中,则用户很可能把当设置处理器性能状态时将CPU负荷考虑在内的PPM简档搁置不用。US2009/0199019描述了一种技术,通过该技术,计算机系统(特别是其操作系统)被配置使得对于不同工作负荷具有明确的优先级水平指派。从而使得PPM算法可以使其处理器性能状态选择不仅仅基于百分比处理器利用率,而且还基于所涉及的工作负荷的优先级水平。然而,为了现有计算机系统(或者具有数据处理能力的其它设备)能能够利用这种技术,将需要更新每个系统/设备上的操作系统。如果大量不同类型的操作系统(以及不同操作系统版本)当前在被使用,这是不实际的任务。

发明内容
本发明提出了一种不同解决方案,该解决方案在处理器面对虽然计算密集型但是对于用户而言不紧急的任务(即,用户可容忍完成运行所需的时间一定程度增加的那些任务)的情况中实现相对低性能处理器状态。本发明并非解决操作系统级别上的问题,相反,本发明解决任务本身级别上的问题,适配任务以使得它们从PPM系统被掩蔽(mask)。 更具体地,本发明提供了在权利要求中定义的能耗减少方法、计算机程序产品、编译器和计算装置。根据本发明的技术使得当计算密集型但不紧急的任务在采用至少部分地基于CPU上的负荷选择处理器性能状态的PPM算法的系统上运行时能够节省能量。本发明减少了与任务的运行相关联的计算负荷对PPM算法的影响。具体地,本发明使得与PPM系统完全考虑与所选任务的运行相关联的对CPU的计算负荷的情况相比,更有可能的是PPM系统将维持相对较低性能处理器状态。可认为与所选任务的运行相关联的CPU负荷已被全部或部分地从PPM系统被掩蔽。这种掩蔽可使得任务将利用正常所需能量的一部分来被运行。此外,本发明的节能技术提供了如下优点减少了对处理器的热压力;减少了运行冷却风扇所需的时间量(以及伴随着噪声的降低)。本发明的节能技术独立于被采用的具体处理器、操作系统、PPM系统或设备架构,并且实质上可使用任何现代的处理器、操作系统和/或设备架构,倘若相关操作系统和/或PPM系统使用CPU负荷作为启发式来确定处理器功率状态。本发明的节能技术即使在多核处理器的情况也能应用。如果采用本发明的掩蔽技术的任务正在第一处理器核心上运行并且突然迁移到不同的处理器核心上,则在掩蔽过程中可能出现短期的扰动,但是最多这会导致CPU负荷临时增大,但是这种增大很快会消失。


本发明的进一步特征和优点通过下面作为示例而非限制的联合附图对本发明的优选实施例的描述将变得更加清楚,在附图中图1(a)是示出CPU负荷的图示,并且图1(b)是示出在膝上型电脑被用于例行的办公室工作的情况中的CPU时钟频率的图示;图2是示出当用户应用在运行时所消耗的能量随着参数α (即,根据BOINC软件包提供的选项的CPU被允许运行的时间的比例)如何变化的图示;图3是图示在图2的实验中计算时间随着参数α如何变化的图示;
图4(a)是图示节能(当运行基准应用时)随着参数T和S的值的改变如何变化的图示;图4(b)是图示处理器保持在最低功率模式中的时间的百分比(当运行基准应用时)随着参数T和S的值的改变如何变化的图示;图5(a)图示在图示本发明的第一优选实施例的功效的实验中运行基准应用时所消耗的总能量随着活动时段T的持续时间如何变化;图5(b)图示在图5(a)的实验中为了完成基准应用的允许所需的时间随着时间T如何变化;图5(c)示出对于图5(a)的实验中的不同T值CPU处于低功率(空闲)性能模式的时间的部分;图5(d)图示在图5(a)的实验中可归因于基准应用的运行的额外能耗随着T如何变化; 图6(a)图示在图示本发明的第一优选实施例的功效的实验中所消耗的总能量随着活动时段之间的间隔S的持续时间如何变化;图6(b)图示在图6(a)的实验中为了完成基准应用的运行所需的时间随着S如何变化;图6(c)示出在图6(a)的实验中对于不同的S值CPU处于低功率(空闲)性能模式中的时间部分;图6(d)图示在图6(a)的实验中可归因于基准应用的运行的额外能耗随着S如何变化;以及图7图示可归因于气候模型的运行的额外能耗随着活动时段T之间的间隔S如何变化。
具体实施例方式现将参照图4至图7来描述当前优选的本发明的第一实施例。PPM系统所使用的用于确定CPU负荷的详细的启发式针对操作系统的类型/版本而显著不同。例如,据称微软Windows 7 操作系统以新的方式来处理对处理器活动的计量(accounting),当基于当前系统活动性来确定哪个性能状态是合适的时,这种方式能够实现更高的准确度。不管PPM系统用于评估CPU利用率当前所使用的具体启发式是什么,都可应用本发明,并且,本发明基于如下概念在PPM系统正根据至少部分基于CPU利用率来选择处理器性能状态的简档运行的同时,通过欺骗(trick)PPM系统使得即使处理器正在执行CPU约束任务或处理也保持处理器的相对低的性能状态,可以获得节能。本发明基于如下发现一般而言,PPM系统以固定时间间隔评估CPU负荷并基于针对给定时间间隔所确定的CPU负荷来决定选择哪个处理器性能状态。根据本发明,与任务执行相关联的平均处理器利用率在当确定CPU负荷时PPM系统所应用的计量时段中减小,并且因此,PPM算法并未“看到”任务(或仅“看到”部分任务)。换言之,与任务执行相关联的计算负荷被使得对PPM系统所选的处理器性能状态具有减小的影响。在发明的第一优选实施例中,所使用的使得任务可在PPM系统所使用的用于评估CPU负荷的每个计量时段上减少其CPU使用的技术是布置任务在非常短的时段上运行,且在活动的时段之间具有固定的短间隔。通过与BOINC所使用的方式进行类比,在发明的第一优选实施例中,其可被看作为任务具有“微休眠(miciO-sleeps)”(即,很小的休眠,此处使用词“微”并不是将这些小休眠的持续时间限为微秒量级)。在本发明的第一优选实施例的情形中,活动时段的持续时间和其间的间隔被设置为使得在PPM系统的计量时段中由任务所导致的平均CPU负荷相对低,并且,其不大可能为处理器触发选择更高的性能状态,但是,该减小的平均CPU负荷仍旧是非零的,S卩,仍旧使得某些进程在计算上进行。因此,与BOINC中的休眠不同,发明的第一优选实施例中所使用的微休眠确实获得了能耗降低。实际上,BOINC不能获得本发明中所使用的定时粒度。当BOINC软件包被用于部署志愿计算应用时,该应用必须用实现单个处理程序的BOINC库来编译。在应用执行在志愿处理器上的期间内,BOINC管理器作为单独的处理运行并以固定的时间间隔向应用发送信号(利用操作系统所提供的处理间通信设备)。当信号处理程序从BOINC管理器接收信号 时,其检查已经过去了多少时间并将应用置为休眠(如果必要的话)。该用于将应用置入休眠的技术不能获得本发明所涉及的短持续时间的活动时段和微休眠。图4至图7示出了根据用于获得节能的第一优选实施例的方法的效果。上述基准应用根据以下伪码运行在测试膝上型计算机配置上
start = now () loop until work done do some work if (now() - start > T) sleep (S) start = now()
end ifend loop.该伪码导致基准应用访问处理器,以在时段T期间执行少量工作,然后在间隔S期间将自己置于休眠。取不同的T和S值,从而显示发明的第一优选实施例的效果。当S=O时,这相当于基准应用连续访问处理器,导致100%的平均CPU利用率以及(由PPM系统)为处理器选择高性能模式。这等同于上述的屏保或惯常的后台执行。当T和S 二者被设定为与PPM系统的计量时段(Pa,在利用GNU / Linux的本示例中,大约为10毫秒)相比更大的值时,则存在CPU使用为100%的某些PPM计量时段(活动时段T期间),并存在CPU使用为0%的其他PPM计量时段(休眠S期间)。因此,在某些时段期间,高性能模式被选择,而针对其他时段,低性能模式被选择。这等同于没有节能的利用BOINC的使用限制设备所获得的行为。图4示出了当T和S被设置为比计量时段Pa更大和更小的不同值时所观察到的行为。图4(a)示出了能量使用是如何随着T和S的值变化的,而图4(b)示出了变更T和S的值对处理器在最低功率性能状态中所花费的时间百分比的影响。下表2列出了图4 (a)和图4 (b)中所画出的数据点。表 权利要求
1.一种减少当处理器在后台执行任务时所述处理器所消耗的能量的方法,所述处理器的性能状态由处理器性能管理PPM系统控制,所述处理器性能管理系统在考虑计量时段Pa期间对处理器负荷的评估的情况下来选择所述性能状态,该能耗减少方法包括如下步骤 (a)在活动时段T期间使得所述处理器执行所述任务的一部分, (b)在每个活动时段后,使得所述处理器在间隔S期间停止执行所述任务,以及 (c)重复执行步骤(a)和步骤(b),直到所述任务已经被完成为止; 其中,所述活动时段T和间隔S的持续时间被选择,使得在所述任务的执行的开始和结束之间的所述PPM系统的每个计量时段Pa期间,对所述任务的执行在所述处理器上施加平均负荷,所述平均负荷小于100%但大于0%。
2.根据权利要求I所述的能耗减少方法,其中,每个活动时段T的持续时间小于所述PPM系统的所述计量时段Pa的持续时间。
3.根据权利要求I或2所述的能耗减少方法,其中,步骤(b)包括配置所述任务的指令序列以包括一个或多个虚拟指令以及使得所述处理器在所述间隔S执行一个或多个所述虚拟指令。
4.根据权利要求I或2所述的能耗减少方法,其中,步骤(b)包括在所述间隔S内将所述任务置入休眠。
5.根据权利要求I所述的能耗减少方法,其中,所述任务被配置为使得在执行期间进行对执行的当前时段期间所经过的时间的检查,并且当已经经过预定持续时间T时,做出请求以在所述间隔S内将所述任务置于休眠。
6.根据权利要求2所述的能耗减少方法,其中,所述任务被配置为使得在执行期间进行对执行的当前时段期间所经过的时间的检查,并且当已经经过预定持续时间T时,做出请求以在所述间隔S内将所述任务置于休眠。
7.根据权利要求5或6所述的能耗减少方法,其中,所述任务被配置为使得每当所述任务调用函数调用时进行对已经经过的时间的所述检查。
8.根据权利要求I所述的能耗减少方法,包括根据用来执行所述任务的处理器和操作系统来设置所述活动时段T和所述间隔S中的至少一个的持续时间。
9.根据权利要求I所述的能耗减少方法,其中,所述活动时段T和所述间隔S中的至少一个的持续时间在所述任务的执行的开始和结束之间被变更。
10.一种存储在计算机可用介质上并包括软件代码的计算机程序产品,所述软件代码表示适合由处理器CPU实现的任务,所述处理器的性能状态由处理器性能管理PPM系统控制,所述处理器性能管理系统考虑计量时段Pa期间对处理器负荷的评估来选择所述性能状态,所述任务包括程序代码,当利用所述处理器来运行所述计算机程序产品时,所述程序代码被适配为在各自活动时段T期间使得所述CPU执行所述任务的一部分,所述活动时段T之间具有当所述处理器停止执行所述任务时的间隔S,其中,所述活动时段T和间隔S的持续时间被选择,使得在所述任务的执行的开始和结束之间的所述PPM系统的每个计量时段Pa期间,对所述任务的执行在所述处理器上施加平均负荷,所述平均负荷小于100%但大于0%。
11.根据权利要求10所述的计算机程序产品,其中,所述程序代码被适配为使得所述任务在比所述计量时段Pa的持续时间更短的活动时段T期间执行所述任务。
12.—种计算装置,包括处理器并被配置为实现处理器性能管理PPM,所述处理器性能管理考虑计量时段Pa期间对处理器负荷的评估来选择所述性能状态,其中,所述计算装置被配置为通过在活动时段T期间执行所述任务的一部分并在每个活动时段后在间隔S内停止执行所述任务来执行所选择的任务,其中,所述活动时段T和间隔S的持续时间被选择为使得在所述任务的执行的开始和结束之间的所述PPM系统的每个计量时段Pa期间,对所述任务的执行在所述处理器上施加平均负荷,所述平均负荷小于100%但大于0%。
13.根据权利要求12所述的计算装置,其中,所述活动时段T的持续时间比所述计量时段Pa的持续时间短。
14.一种被配置为重新编译程序代码的编译器,所述程序代码表示将要在处理器上执行的任务,所述处理器的性能状态由处理器性能管理系统控制,所述处理器性能管理系统考虑计量时段Pa期间对处理器负荷的评估来选择所述性能状态,所述编译器被配置为重新编译所述程序代码,使得当重新编译后的任务在所述处理器上执行时,执行如下步骤 (a)在活动时段T内运行, (b)在每个活动时段T后,在间隔S内停止运行,以及 (C)重复执行步骤(a)和步骤(b),直到所述任务已经被完成为止; 其中,所述重新编译后的程序代码被适配为使得所述活动时段T和间隔S的持续时间使得在所述任务的执行的开始和结束之间的所述PPM系统的每个计量时段Pa期间,对所述任务的执行在所述处理器上施加平均负荷,所述平均负荷小于100%但大于0%。
15.根据权利要求14所述的编译器,其中,所述重新编码后的程序代码被适配为使得所述活动时段T的持续时间比所述计量时段Pa的持续时间短。
16.根据权利要求14所述的编译器,其中,所述编译器被配置为重新编译所述程序代码,使得当在所述处理器上执行重新编译后的任务时,执行如下步骤 每当所述重新编译后的任务调用函数调用时核实所经过的时钟周期,以及 当所述核实步骤显示在所述活动时段T内所述任务在所述处理器上是活动的时,在所述间隔S内将所述任务置入休眠。
17.一种存储在计算机可用介质上并包括软件代码的计算机程序产品,当所述软件代码在包括处理器的计算装置上运行时,所述软件代码被适配为控制由所述处理器进行的对任务的执行,所述处理器的性能状态由处理器性能管理系统控制,所述处理器性能管理系统考虑计量时段Pa期间对处理器负荷来选择所述性能状态,其中,所述软件代码被适配为使得所述处理器执行如下步骤 (a)针对活动时段T,执行所述任务, (b)在每个活动时段T后,针对间隔S停止执行所述任务,以及 (c)重复执行步骤(a)和步骤(b),直到所述任务已经被完成为止; 其中,所述活动时段T和间隔S的持续时间被选择,使得在所述任务的执行的开始和结束之间,在所述PPM系统的每个计量时段Pa期间对所述任务的执行在所述处理器上施加平均负荷,所述平均负荷小于100%但大于0%。
18.根据权利要求17所述的计算机程序产品,其中,所述活动时段T的持续时间比所述计量时段Pa的持续时间短。
全文摘要
可通过从处理器性能管理系统掩蔽计算密集型任务来获得节能,该处理器性能管理系统基于处理器(CPU)上的负荷来选择处理器。通过防止PPM系统对应用置于处理器上的计算性负荷做出反应,完成执行应用的时间增加,但是,应用所使用的能量被极大地减小,并且,CPU上的热压力也被降低(防止有噪声的风扇操作)。该方式使得将计算密集型任务作为后台任务运行很方便。可通过在小突发中运行任务来获得掩蔽,在小突发之间带有微休眠,使得在PPM系统用于测量CPU活动/负荷的时段中平均CPU负荷为低。
文档编号G06F1/32GK102822768SQ201180015576
公开日2012年12月12日 申请日期2011年3月22日 优先权日2010年3月23日
发明者皮特·哈纳皮 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1