CN102822768A - 通过从处理器性能管理系统掩蔽处理来减少功耗 - Google Patents
通过从处理器性能管理系统掩蔽处理来减少功耗 Download PDFInfo
- Publication number
- CN102822768A CN102822768A CN201180015576XA CN201180015576A CN102822768A CN 102822768 A CN102822768 A CN 102822768A CN 201180015576X A CN201180015576X A CN 201180015576XA CN 201180015576 A CN201180015576 A CN 201180015576A CN 102822768 A CN102822768 A CN 102822768A
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- period
- duration
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Power Sources (AREA)
Abstract
可通过从处理器性能管理系统掩蔽计算密集型任务来获得节能,该处理器性能管理系统基于处理器(CPU)上的负荷来选择处理器。通过防止PPM系统对应用置于处理器上的计算性负荷做出反应,完成执行应用的时间增加,但是,应用所使用的能量被极大地减小,并且,CPU上的热压力也被降低(防止有噪声的风扇操作)。该方式使得将计算密集型任务作为后台任务运行很方便。可通过在小突发中运行任务来获得掩蔽,在小突发之间带有微休眠,使得在PPM系统用于测量CPU活动/负荷的时段中平均CPU负荷为低。
Description
背景技术
本发明一般涉及信息技术中的能效的领域,具体涉及当处理器性能管理(PPM)(或者,处理器性能管理(PPM)也被称为动态频率和电压调节(DFVS))被采用时提高能效。具体地,本发明涉及通过减少与特定处理(特别是用户应用、系统级服务或“精灵虚拟光驱(daemon)”)相关联的计算负荷对功率性能管理算法或系统的影响来运作的节电技术。
现在,处理器性能管理被广泛使用以便减少包含处理器(特别是中央处理单元,CPU)的计算机以及其他设备/装置(尤其是大部分时间使用电池电力的便携设备-膝上型电脑、PDA、移动电话等)的功耗。在本文中,术语“计算装置”应当被用作表示包括处理器的设备/装置的一般表述。
现代的处理器能够在不同时钟频率和处理器核心电压(Vcc)的范围内工作。根据高级配置和电源接口标准(ACPI),操作频率和操作电压的每种组合对应于不同的处理器性能标准,并且通常被称为“性能状态”或“操作点”或者“P状态”。每种性能状态涉及不同水平的功耗:功耗随着CPU时钟频率并且随着操作电压的平方以线性方式上升。换句话说,下面的公式(1)是对功耗P随着CPU时钟频率f和操作电压v如何变化的近似:
P=CV2f (1)
其中C是处理器容量。
作为示例,表1指出由1.6GHz Intel PentiumTM M处理器支持的处理器性能状态。
表1
频率 | 电压 |
1.6GHz | 1.484V |
1.4GHz | 1.420V |
1.2GHz | 1.276V |
←高性能模式
(最高功耗)
1.0GHz | 1.164V |
800MHz | 1.036V |
600MHz | 0.956V |
←低性能模式
(最低功耗)
广义上讲,处理器性能管理涉及动态地基于当时可用于系统的条件和/或基于用户已经指定的功率管理协议来选择处理器性能状态。通常,当处理器的利用百分率高时,高性能状态(最高可能操作频率和电压)将被选择,而当处理器的利用百分率低时,低性能状态(最低可能操作频率和电压)将被选择,并且在其他情况中,中间状态被选择。
影响对处理器性能状态的选择的具体因素可有多种并且可因系统不同而变化。通常考虑的参数包括但不限于:处理器利用百分率(或处理器“活动性”)、用户的功率策略、当前的电池水平以及热状况和事件。而且,某些PPM算法基于对于即将到来的时段这些参数的预测值而实现对处理器性能状态的选择。
PPM可以多种方式来实现,可利用处理器、BIOS和/或操作系统中的特征。众所周知的PPM系统的示例包括AMD的powerNow!TM、ARM的PowerWise自适应电压调节(AVS)和智能能量管理器(IEM)以及Intel的高级SpeedStepTM这些技术。
分解PPM系统的一种方式是考虑存在以下组件:控制单元,该控制单元决定对于给定时段应选择哪种处理器性能状态;以及驱动器模块,该驱动器模块实施所希望的处理器性能状态设置(例如,通过向寄存器写入代码,向处理器内写入代码,这种代码标识出下一目标处理器性能状态-如在Intel SpeedStepTM系统中那样)。在某些情况中,操作系统可能需要参考BIOS以便确定保持目标处理器性能状态和/或实际处理器性能状态的寄存器的位置。当处理器被指示改变性能状态时,通常,该处理器将向相关联的电压调节器标识出所希望的操作电压。
不论用于指示所希望的处理器性能状态的改变的具体技术如何并且不论被采用来实施所指示的改变的具体技术如何,都可应用本发明。
通常,存在一组不同的功率管理策略并且用户可在给定时间选择哪种策略希望应用于系统,和/或可以配置策略。例如,微软Windows 7TM操作系统指定了三种功率管理策略(或“功率规划”),它们分别称为“性能”、“平衡”和“节电”,并且用户被允许定制这些策略,例如通过指定给定策略中对于处理器利用率的上下限。
在许多情况中,系统将在PPM模式中运作,在PPM模式中,处理器上的负荷影响被选择用于该处理器的性能状态。
被配置为实施考虑处理器活动性而选择处理器性能状态的PPM策略的计算机(或具有数据处理能力的其他设备)在当计算密集型的任务被处理时,将选择高性能处理器状态(即,高操作频率和高操作电压-相应地具有高功耗)。一般而言,PPM模块不能在确实应当被迅速处理的高优先级任务和不怎么急的任务(即,用户将容忍较慢地完成的任务-即,低处理器性能状态-如果这将导致功耗降低的话)之间进行区分。
就此,考虑当计算机用户将其系统的资源提供给志愿(volunteer)计算项目并且其系统被配置为实施至少部分地基于处理器上的计算负荷选择处理器性能状态的PPM策略时会有什么发生。
在志愿计算中,人们将它们的计算机资源贡献于大的并且最常见的科研计算项目。众所周知的志愿计算项目为主要由牛津大学在climateprediction.net网站上运行的气候建模项目。
为了能够参与到志愿计算项目中,用户通常要从与志愿计算项目相关联的服务器下载小型应用并将此应用安装到该用户的计算机上。此应用然后下载数据块,利用志愿用计算机的处理器执行计算,将结果更新到服务器,下载下一数据块,等等。志愿计算项目一般涉及计算密集型应用,即,需要处理器主要执行数学运算的应用。这样的应用通常被称为“CPU约束(CPU-bound)”应用。
在大多数普通情况中,志愿计算应用被配置为使得它们仅当计算机在一段时间内空闲时才运行,即,它们作为屏保运行。为了估计此种情况(以及其他情况)中的功耗,基准(benchmark)应用被写入,并且此基准应用被设计为执行虚拟计算以使得其将模仿CPU约束用户应用的行为。基准应用利用如下的装置运行:使用特征在于SpeedStepTM技术的1500MHzIntel PentiumTM M Banias处理器、使用具有Linux kernel 2.6.31版的GNU/Linux操作系统、并且被配置为基于处理器利用百分率来选择处理器的性能状态的Sony VAIOTM膝上型电脑(型号PCG-Z1SP)。
当基准应用作为屏保在上述装置上运行时,该应用运行期间的处理器利用率(或处理器负荷)为100%(因为该应用是计算密集型的应用),并且相应地,PPM系统选择可用的最高性能处理器状态。在这些情形中,完成计算需要大约57秒并且粗略地1700焦耳的能量被使用,使得平均功耗为30瓦。如果用户故意纯粹地使其计算机开着而使得志愿计算应用能够使用其资源,则由于参与到志愿计算项目中而全部此功率都被纯粹消耗。
相对地,还可能将志愿计算应用(或者其他CPU约束任务)作为后台任务来运行,例如在当用户使用其计算机用于例行的办公室工作时。
图1图示出当用户使用上述膝上型电脑(按照描述配置)用于例行的办公室工作时CPU的活动性的典型图样。图1(a)图示出在PPM系统的控制下CPU负荷随时间的变化的典型图样,并且图1(b)示出CPU时钟频率在同样的时段的改变(PPM系统被配置为当CPU负荷高时选择高性能处理器模式,而当CPU负荷低时选择低性能处理器模式)。
从图1(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<α≤1;
P0是当CPU负荷为0%(CPU空闲)时的功耗;
P100是当CPU负荷为100%时的功耗;
T100是当以CPU负荷为100%执行应用并且如果计算未被中断时所花的时间;并且
T是完成计算实际所花的时间(包括“睡眠”时段)。
平均功耗应为P=αP100+(1-α)P0。然而,由于运行志愿计算应用而导致的“超额”功耗(在计算机空闲时使用的功耗以上或以外)仅为P=α(P100-P0)。
因为BOINC引入的睡眠,计算时间从T100增加为T=T100/α。因此,由于运行志愿计算应用所消耗的总“超额”能量E=P×T变为(P100-P0)×T100,这确实与没有“睡眠”的情况所花费的一样。
实际上,实践中已经发现,当计算密集型的应用对CPU的访问按照这种方式被限制时,所消耗的总能量实际升高。图2示出在修改后的版本的基准应用-适于减少BOINC所提供的功能-在测试用膝上型电脑配置上运行的情况中功耗随着参数α(表示志愿计算应用访问CPU的时间的比例)的值如何变化。图3示出在这些实验中消耗的时间随参数α的值如何变化。
从图2可以看出,对于几乎所有α值,能耗大于没有睡眠的情况(即,α=1的情况)。另外,图3示出对于所有小于1的α值,计算持续时间增长。换句话说,使用BOINC所提供的限制CPU使用的手段看来主要导致能耗增大并且完成计算所需的时间加长。
另外,已经发现,当在BOINC偏好中参数α被设置为比0.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 7TM操作系统以新的方式来处理对处理器活动的计量(accounting),当基于当前系统活动性来确定哪个性能状态是合适的时,这种方式能够实现更高的准确度。
不管PPM系统用于评估CPU利用率当前所使用的具体启发式是什么,都可应用本发明,并且,本发明基于如下概念:在PPM系统正根据至少部分基于CPU利用率来选择处理器性能状态的简档运行的同时,通过欺骗(trick)PPM系统使得即使处理器正在执行CPU约束任务或处理也保持处理器的相对低的性能状态,可以获得节能。
本发明基于如下发现:一般而言,PPM系统以固定时间间隔评估CPU负荷并基于针对给定时间间隔所确定的CPU负荷来决定选择哪个处理器性能状态。根据本发明,与任务执行相关联的平均处理器利用率在当确定CPU负荷时PPM系统所应用的计量时段中减小,并且因此,PPM算法并未“看到”任务(或仅“看到”部分任务)。换言之,与任务执行相关联的计算负荷被使得对PPM系统所选的处理器性能状态具有减小的影响。
在发明的第一优选实施例中,所使用的使得任务可在PPM系统所使用的用于评估CPU负荷的每个计量时段上减少其CPU使用的技术是:布置任务在非常短的时段上运行,且在活动的时段之间具有固定的短间隔。通过与BOINC所使用的方式进行类比,在发明的第一优选实施例中,其可被看作为:任务具有“微休眠(micro-sleeps)”(即,很小的休眠,此处使用词“微”并不是将这些小休眠的持续时间限为微秒量级)。
在本发明的第一优选实施例的情形中,活动时段的持续时间和其间的间隔被设置为使得在PPM系统的计量时段中由任务所导致的平均CPU负荷相对低,并且,其不大可能为处理器触发选择更高的性能状态,但是,该减小的平均CPU负荷仍旧是非零的,即,仍旧使得某些进程在计算上进行。因此,与BOINC中的休眠不同,发明的第一优选实施例中所使用的微休眠确实获得了能耗降低。
实际上,BOINC不能获得本发明中所使用的定时粒度。当BOINC软件包被用于部署志愿计算应用时,该应用必须用实现单个处理程序的BOINC库来编译。在应用执行在志愿处理器上的期间内,BOINC管理器作为单独的处理运行并以固定的时间间隔向应用发送信号(利用操作系统所提供的处理间通信设备)。当信号处理程序从BOINC管理器接收信号时,其检查已经过去了多少时间并将应用置为休眠(如果必要的话)。该用于将应用置入休眠的技术不能获得本发明所涉及的短持续时间的活动时段和微休眠。
图4至图7示出了根据用于获得节能的第一优选实施例的方法的效果。上述基准应用根据以下伪码运行在测试膝上型计算机配置上:
该伪码导致基准应用访问处理器,以在时段T期间执行少量工作,然后在间隔S期间将自己置于休眠。
取不同的T和S值,从而显示发明的第一优选实施例的效果。
当S=0时,这相当于基准应用连续访问处理器,导致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)中所画出的数据点。
表2
从图4(a)中可见,当T等于或大于大约107的CPU时钟滴答数(CPUticks)时,其粗略等于本示例中的计量时段Pa,则运行基准应用所需的额外能量比不中断地在后台运行应用所需的能量超过969焦耳。类似地,图4(b)示出了当T取大约107的CPU时钟滴答数(≈Pa)的值时,则处理器并未在使用最低功率的性能状态中花费很多时间。
但是,当T和S被设置为更小值时,观察到了有趣的行为。在S和T值的小范围内,在PPM计量时段期间,平均CPU负荷保持在100%以下,并且因此,PPM系统并未为基准应用提高CPU性能状态,但是,仍旧获得对计算的有用处理。
图5示出了当S被设置为500微秒而T被设置为105到107的CPU时钟滴答数范围内的不同值时本实验中所观察到的结果。利用与英特尔处理器相兼容的处理器所提供的CPU时间戳计数器来测量T。该计数器在每个CPU时钟滴答处递增,并且可利用单个指令无需操作系统介入地被读取。
图5(a)示出了在实验期间总能量是如何随着T值变化的;图5(b)示出了完成对基准应用的执行所需要多少时间是如何随着T而变化的;图5(c)示出了针对不同的T值CPU在低能量(空闲)性能模式中的时间比例;以及图5(d)示出了额外的能耗是如何随着T而变化的,该额外能耗可归因于对基准应用的执行。
图5(d)示出了可归因于对基准应用的执行的额外功耗的清楚的最小值。当T被设置为106的CPU时钟滴答数时,出现该最小值:机器仍旧在低性能(低功率/空闲)模式,但是,仍旧完成了有用的工作。计算时间延长到190秒-即,在未中断的100%CPU使用(作为屏保运行或在后台运行)的情形中的持续时间的三倍多一点,但是,可归因于运行带有微休眠的基准应用的总的额外能耗小于基准应用在后台未中断地运行的全功率模式中所需的能量的50%。另外,与上述情形(基准应用在后台未中断地运行(以100%的CPU负荷))相比,针对所有所画出的大于100000CPU时钟滴答的T值,观察到利用微休眠的节能。虽然未在图5中示出,但是,从图4和图5中可理解,存在T的上限,即,T应当被设置为小于计量时段Pa的持续时间,即,T<Pa,以便确保在每个计量时段期间该任务所施加的平均CPU负荷小于100%。
图6示出了当T被设置为106的CPU时钟滴答而S以25微秒为增量被从1增加到1000微秒时所观察到的结果。图6(a)示出了在实验期间所消耗的总功率时如何随着S的值而变化的;图6(b)示出了为了完成对基准应用的执行所需的时间是如何随着S而变化的;图6(c)示出了针对不同的S值,CPU在低功率(空闲)性能模式中的时间比例;以及图6(d)示出了可归因于对基准应用的执行的额外的能耗是如何随着S变化的。
图6示出了针对从1到500微秒的范围内的非活动时段S的小值,PPM系统被扰乱并倾向于将CPU从高性能状态翻转到低性能状态并再次翻转回来。实际上,如果S过小,则操作系统可用活动循环来替代所请求的休眠函数,这导致100%CPU负荷的评估。但是,针对长于500微秒的非活动时段S,行为稳定,且CPU被保持在低性能/低功率状态,并且,可归因于对基准应用的执行的能耗被保持为低。
从图6(d)中可见,针对大约90和大约100微秒之间的S值的小范围以及大于大约130微秒的所有所画出的值(即便在上述PPM系统被“扰乱”时的低值处),与基准应用非中断地运行在后台中的情形相比,在本实验中,获得了节能。针对S在500和600微秒之间的值,获得了最低能耗,虽然甚至在S的更大值处获得了类似的节能。
理论上,S没有上限;但是,小休眠的持续时间越长,则将花费更长的时间来完成感兴趣的任务。因此,在本具体实施例中,节能和计算持续时间之间的最佳折中涉及将休眠持续时间S设置在500至600微秒的范围中。
如果可容忍低于最佳的节能(以及某些风扇噪音),则通过将S的值设置为低于给出最佳能效的值但足够大以使得计量时段Pa中的平均CPU负荷将仍旧低于100%的值(例如,在本示例中,将S设置为90和100微秒之间或从130至500微秒的范围中),可获得对任务的更快执行。
实践中,将提供最佳节能的活动时段T和非活动时段S的值的具体范围将依赖于所考虑的具体任务和平台(处理器、操作系统、PPM系统)针对情况而变化。
在以上实验中,基准应用可在15.3瓦特的功耗下运行,这仅比机器的“空闲”功耗(13瓦特)高2.3瓦特,并且等于440焦耳所消耗的能量。虽然该计算花费大约为连续运行基准应用的情形中的计算的3.3倍的时间,但是,上述实验示出根据发明的第一优选实施例的方式使得比相同计算密集型应用非中断地在后台运行的情形中所使用的能量少2.2倍,并比应用作为屏保运行的情形中所使用的能量少3.8倍。
根据发明的第一优选实施例,存在众多不同的获得对任务的间歇性执行的方式,即,与小的休眠间隔相交错的小的计算时段。在用户应用或系统级服务(守护进程)的情形中,不需要对原始代码进行任何变更的一种简单技术包括利用特殊的编译选项来重新编译应用(或系统级服务),使得每当应用(或服务)调用函数调用时,所经过的时钟周期被核实,并且当发现已经经过了所希望的时间T时,引入小的休眠(其持续时间为S)。例如,这可通过利用许多编译器中可用的简档选项来获得,并且在以下所描述的实验中,使用了GNU操作系统的工具中可用的“mcount”函数的适配版本,以便每当调用函数调用时引入小的休眠。
第二种技术包括通过在指令列表中以固定间隔插入特殊函数来修改低级指令(其代表将要由CPU执行的任务)的线性列表,该特殊函数测试T的当前值,并且当T达到所希望的值时,针对所选的时段S将程序置入休眠。
第三种技术包括事先在虚拟机上执行应用(系统级服务、守护程序等),该虚拟机仿真本地CPU。虚拟机可对代码进行简档化以找出程序的CPU密集型部分并生成新的指令流,该新的指令流在CPU上本地运行(例如,通过虚拟层)并具有额外的指令以在所选间隔处将应用置入休眠。
应理解,本发明的第一优选实施例并不限于以上所引用的三种技术:本领域技术人员将容易想到其他合适的技术。
根据上述三种技术的第一种,现有技术中的气候建模应用被重新编译并利用上述测试膝上型笔记本配置在后台运行。图7示出了当T(计算的每个小时段的持续时间)被固定为处理器时钟的106.2周期时、重新编译应用所需的能耗如何随着不同的S值(休眠持续时间)而变化。如图7所示,针对S的最佳值(在本情形中,为700微秒),气候模型需要308焦耳来完成并占用82.3秒。通过对比,当相同的气候模型作为屏保运行在测试膝上型笔记本配置上时其在25.8秒中完成但需要782.704焦耳的能量。因此,可以使得执行重新编译的应用所需的能耗低于作为屏保在测试膝上型笔记本上执行相同的应用所需的能量的2.5倍。
在上述实验中,在未明确知晓PPM系统所使用的计量时段Pa的持续时间的条件下,探讨了T和S的不同值。确实,计量时段Pa的持续时间可极大地变化,特别是当使用Linux操作系统(如在测试膝上型笔记本配置中)时。当根据本发明的技术被应用到任务设计以使得其可从PPM系统掩蔽自身时,可使用不同的方式以便设置T和S的合适值。
一种方式包括软件提供商提前执行实验,以便确定当利用流行的CPU(或CPU家族)和操作系统的各种组合来执行时T和S的哪些值为讨论中的任务提供好的节能。然后,可列出相关的值,例如,在查找表或数据库中列出,并且,任务随后被写入或适配,使得其访问针对其试图在其上执行的CPU或CPU家族以及操作系统所列出的值。例如通过将值列表硬编码到任务自身中,可直接提供该访问,或者,例如通过设计任务使得其从具体位置(其可以是存储介质-CDROM、RAM、ROM、光盘,等等-或在网络上访问的位置,例如,因特网、LAN或WAN)取回合适的S和T值来间接提供该访问。
设计任务以使得其适配从列表检索的S和T的初始值从而对其进行优化是有优点的。这例如可通过设计任务是用诸如CPU频率之类的启发式以确定对从列表检索的初始S和T值的合适调整来获得。另一技术包括设计任务使得其可运行小的基准处理,该基准处理确定从初始所检索的值开始的S和T的最佳值。
在实践中,发现许多情形中可通过将S的值粗略设置为500微秒(当使用Linux操作系统时)或1000微秒(当使用WindowsTM操作系统时)并随后微调T的值来获得良好的结果。
在发明的第一优选实施例的修改例中,已经发现:如果任务变得更加紧急,则例如为了加速完成任务,设计任务以使得在任务被处理器执行期间任务以动态方式调整S和T的值是有优点的(以限制可获得的节能为代价)。这对于存在获得计算完成的截止期限的应用中特别有用。
例如,在某些志愿计算应用中,存在与提供给志愿者的每个数据块相关联的截止期限,并且,处理后的数据必须在截止期限过期之前被返回到服务器。当对本发明的第一实施例的修改被应用到该类型的志愿计算应用时,则如果任务确定T和S的当前值将导致给定计算的完成晚于与数据的相关块相关联的截止期限,则其可调整S和T的值,以获得对任务的更快的完成(在非常紧急的情形中,S的值可被设置为零,使得计算继续非中断地完成)。
可以任意合适的方式来获得该功能。例如:
完成任务的截止期限被表示为D,以100%的CPU负荷来完成任务所花费的时间被指定为T100,而以低功率模式中的CPU来完成对任务的执行所需的时间被指定为T1p,并且,在给定时刻t已经完成的任务的比例被指定为δ(其中,0≤δ≤1),则任务可被配置,以在执行期间的预定时刻处做出如下测试:
在预定时刻t,检查在低功率模式中完成的时间(即,确定(1-δ)xT1p的值);
比较低功率模式中完成的时间[即,(1-δ)xT1p]和截止期限之前可用的剩余时间,即,与(D-t)相比较,这允许ΔT的安全边界,以确定在低功率模式中是否剩余足够的时间来完成计算;以及
如果[{(1-δ)xT1p}+ΔT]<(D-t),则将S设置为零,即,从现在开始连续运行任务(即使这将很可能将CPU负荷提升到100%,带来节能的结束)。
通常,在实践中不可能确保当任务被执行时将在连续活动时段之间相交错的间隔S的持续时间将与任务所设置的值一致。这是因为任务可能请求特定持续时间的休眠,但是,系统可将任务置于某种程度上更长时段的休眠。但是,这将不会防止对低性能处理器状态的维持。
本发明的一般原理(通过该原理,任务可被从PPM系统掩蔽,以便节能)可以以各种方式实现,其中某些方式利用特定于具体PPM系统和算法的特征。
例如,WO2007/103051提出了一种PPM系统,其中,不仅基于CPU负荷、还考虑量化正被执行的任务受存储器约束的程度的参数,来选择处理器的性能状态。在另一示例中,US2009/0089598提出了一种PPM系统,其中,不仅基于CPU负荷、还部分基于对处理器何时被停止的评估,来选择处理器性能状态。根据这些PPM系统,当任务被看作是受存储器限制的或在执行任务期间处理器被看作为被停止时,则为CPU选择低性能状态。本发明的第二实施例使得任务能够将自身从这些类型的PPM系统中掩蔽。这是通过将虚拟指令插入到任务代码中、欺骗这些PPM系统的反馈机制来实现的。
任意合适的虚拟指令可被插入到任务代码中,以欺骗上述类型的PPM系统的反馈机制:该任务是存储器约束的。合适的虚拟指令的一个示例包括请求CPU将数据从随机(但有效的)存储器位置载入到CPU寄存器的指令,其无需对该数据负荷操作的计算。当CPU将所请求的数据载入到寄存器中时,没有对任务进行实际处理,因此,其可被简单看作是任务在休眠。从存储器读取的数据量越大,该小休眠的持续时间越长。因此,将要载入的数据量控制小休眠间隔S的持续时间。
在发明的第二实施例中,变更任务的指令流并不需要来自操作系统的任何支持。因此,如在第一实施例中那样,可通过在任务级执行的动作而非在操作系统级采取的动作来获得节能。
在本发明的第二实施例中,当将活动时段T和休眠间隔S的持续时间设置为如第一实施例的情形中一样时(并且因此,为了简洁,此处不重复那些特征),应用相同的考虑。
在上述发明的第一和第二实施例中,假定即便当计算密集型任务正在后台执行时,CPU的低功率/低性能状态可通过减少该具体任务在CPU上施加的平均CPU负荷来维护。但是,后台任务所施加的减小的CPU负荷是正在同时执行的其他任务所施加的任意CPU负荷(例如,用户参与的前台任务)额外的负荷。如果这些其他任务是用100%的CPU负荷,则后台任务并未导致任意额外能量使用。在另一方面,可存在如下情形:这些其他任务自身并未施加足够的CPU负荷以触发使用高性能CPU状态,但是,叠加后台任务确实触发PPM系统选择高性能状态。将理解,遍及当后台任务正在执行时的整个时段,该情形几乎不可能为真,因此,发明的第一和第二实施例将产生有用的节能。但是,发明的第三实施例允许避免该情形。
根据发明的第三实施例,通过利用与第一和第二实施例相关的上述方法中的任意一个,任务被配置为在短的活动时段中执行,其间具有小的休眠间隔,并且,任务还被配置为基于对平均CPU负荷的评估而适应性地变更S和T的值,使得由于在其他任务所施加的负荷之上添加的当前任务所导致的负荷所施加的总负荷在PPM系统的计量时段Pa期间保持低于100%。这可通过配置任务以向操作系统询问关于平均CPU负荷和处理器在给定性能状态中所花费的时间量的信息来实现。
一般而言,根据发明的第一、第二和第三实施例的发明将在程序代码中找到表达,该程序代码表示已经根据上述原理设计的任务(用户应用、系统级服务、守护进程,等等),使得其凭借形成程序代码的一部分的指令或形成作为编译任务的更早版本的结果的代码的一部分将自身从PPM系统掩蔽。通常,该程序代码将体现为计算机程序产品,其包括记录在合适的物理介质(例如,CDROM、RAM、ROM、光盘、磁带、或其他存储介质)上的特殊适配的程序代码。该程序代码还可在网络上被广播或传输(例如,LAN、WAN、因特网等)。
但是,根据发明的第四实施例,所选择的任务可由主管应用被从PPM系统掩蔽,该主管应用在任务自身的外部,但是,用来通过当任务运行时在任务中引入微休眠来从PPM系统掩蔽所选择的任务。该主管应用并不形成操作系统的一部分,其为附加应用,例如可从存储介质安装、从因特网下载等。将理解,主管应用可实现以上已经描述的第一至第三实施例的各种特征,除了出现明显的不兼容以外。
以上已经参照某些当前优选的实施例描述了发明。本领域技术人员将容易理解,可在优选实施例中做出修改和改进,只要其在权利要求中所定义的本发明的范围内即可。
以上已经关于从PPM系统掩蔽用户应用的实施例描述了本发明。但是,除了用户应用以外,相同的技术可被应用到从PPM系统掩蔽处理,明显的是系统级服务(包括打印、文件共享、数据库服务等)和Unix中的守护进程以及其他多任务操作系统。
以上已经特别参照提升志愿计算应用的能效描述了本发明。但是,本发明可被更广泛地应用于其他任务,该其他任务是计算密集型的但是不必是紧急的(例如,渲染不规则碎片、在编辑之后压缩视频数据、视频和音频编码和解码、以及许多更多的任务)。
本发明的各种实施例可以与提供额外功能的辅助模块相关联地使用。例如,在某些情形中,可提供用户界面,以便与通过利用发明的第一至第四实施例的技术来从PPM系统掩蔽的任务。用户界面可允许用户控制掩蔽处理的各种参数,特别是以下的一个或多个:针对活动时段T的持续时间和/或小休眠间隔S的持续时间所设置的值、任务必须访问以便获取S和T的合适(初始)值的源、完成对任务的执行所占用的时间,以及与执行任务所需的时间相比的节能的相关重要性。用户界面可允许用户手动地向任务/掩蔽处理通知任务将要在其上执行的CPU和/或操作系统的细节(例如,标识CPU和操作系统、指定CPU时钟频率等)。
Claims (18)
1.一种减少当处理器在后台执行任务时所述处理器所消耗的能量的方法,所述处理器的性能状态由处理器性能管理PPM系统控制,所述处理器性能管理系统在考虑计量时段Pa期间对处理器负荷的评估的情况下来选择所述性能状态,该能耗减少方法包括如下步骤:
(a)在活动时段T期间使得所述处理器执行所述任务的一部分,
(b)在每个活动时段后,使得所述处理器在间隔S期间停止执行所述任务,以及
(c)重复执行步骤(a)和步骤(b),直到所述任务已经被完成为止;
其中,所述活动时段T和间隔S的持续时间被选择,使得在所述任务的执行的开始和结束之间的所述PPM系统的每个计量时段Pa期间,对所述任务的执行在所述处理器上施加平均负荷,所述平均负荷小于100%但大于0%。
2.根据权利要求1所述的能耗减少方法,其中,每个活动时段T的持续时间小于所述PPM系统的所述计量时段Pa的持续时间。
3.根据权利要求1或2所述的能耗减少方法,其中,步骤(b)包括配置所述任务的指令序列以包括一个或多个虚拟指令以及使得所述处理器在所述间隔S执行一个或多个所述虚拟指令。
4.根据权利要求1或2所述的能耗减少方法,其中,步骤(b)包括在所述间隔S内将所述任务置入休眠。
5.根据权利要求1所述的能耗减少方法,其中,所述任务被配置为使得在执行期间进行对执行的当前时段期间所经过的时间的检查,并且当已经经过预定持续时间T时,做出请求以在所述间隔S内将所述任务置于休眠。
6.根据权利要求2所述的能耗减少方法,其中,所述任务被配置为使得在执行期间进行对执行的当前时段期间所经过的时间的检查,并且当已经经过预定持续时间T时,做出请求以在所述间隔S内将所述任务置于休眠。
7.根据权利要求5或6所述的能耗减少方法,其中,所述任务被配置为使得每当所述任务调用函数调用时进行对已经经过的时间的所述检查。
8.根据权利要求1所述的能耗减少方法,包括根据用来执行所述任务的处理器和操作系统来设置所述活动时段T和所述间隔S中的至少一个的持续时间。
9.根据权利要求1所述的能耗减少方法,其中,所述活动时段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的持续时间短。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP10305286.6 | 2010-03-23 | ||
EP10305286 | 2010-03-23 | ||
PCT/EP2011/054355 WO2011117243A1 (en) | 2010-03-23 | 2011-03-22 | Reducing power consumption by masking a process from a processor performance management system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102822768A true CN102822768A (zh) | 2012-12-12 |
Family
ID=44071009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180015576XA Pending CN102822768A (zh) | 2010-03-23 | 2011-03-22 | 通过从处理器性能管理系统掩蔽处理来减少功耗 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9268389B2 (zh) |
EP (1) | EP2550576B1 (zh) |
JP (1) | JP5763168B2 (zh) |
CN (1) | CN102822768A (zh) |
WO (1) | WO2011117243A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509324A (zh) * | 2017-02-28 | 2018-09-07 | 通用汽车环球科技运作有限责任公司 | 选择计算平台的系统和方法 |
CN117632521A (zh) * | 2024-01-26 | 2024-03-01 | 中电云计算技术有限公司 | 后台任务的cpu利用率控制方法、装置、设备及存储介质 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9552478B2 (en) | 2010-05-18 | 2017-01-24 | AO Kaspersky Lab | Team security for portable information devices |
US8943336B2 (en) | 2011-07-01 | 2015-01-27 | Intel Corporation | Method and apparatus for configurable thermal management |
US8782454B2 (en) * | 2011-10-28 | 2014-07-15 | Apple Inc. | System and method for managing clock speed based on task urgency |
RU2494453C2 (ru) | 2011-11-24 | 2013-09-27 | Закрытое акционерное общество "Лаборатория Касперского" | Способ распределенного выполнения задач компьютерной безопасности |
KR20130074401A (ko) * | 2011-12-26 | 2013-07-04 | 삼성전자주식회사 | 계층적 스케줄러를 갖는 멀티코어 기반의 컴퓨팅 장치 및 계층적 스케줄 방법 |
JP6186862B2 (ja) * | 2013-05-07 | 2017-08-30 | 富士通株式会社 | 情報処理装置、省電力化制御方法および省電力化制御プログラム |
US20150355942A1 (en) * | 2014-06-04 | 2015-12-10 | Texas Instruments Incorporated | Energy-efficient real-time task scheduler |
KR102169692B1 (ko) | 2014-07-08 | 2020-10-26 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 동적 전력 관리 방법 |
US10007555B1 (en) * | 2014-12-05 | 2018-06-26 | Google Llc | Dynamic resource management |
CN114138095B (zh) * | 2022-01-29 | 2022-05-10 | 阿里巴巴(中国)有限公司 | 互联网数据中心idc的功耗处理方法、设备和可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
CN101379453A (zh) * | 2006-03-07 | 2009-03-04 | 英特尔公司 | 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置 |
CN101539799A (zh) * | 2007-09-28 | 2009-09-23 | 英特尔公司 | 使用处理器硬件反馈机制来选择最佳处理器性能水平的系统和方法 |
Family Cites Families (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4977529A (en) * | 1973-02-23 | 1990-12-11 | Westinghouse Electric Corp. | Training simulator for a nuclear power plant |
US6848054B1 (en) * | 1989-10-30 | 2005-01-25 | Texas Instruments Incorporated | Real-time computer thermal management and power conservation |
JP3090767B2 (ja) * | 1992-04-02 | 2000-09-25 | ダイヤセミコンシステムズ株式会社 | コンピュータシステムの節電制御装置 |
US5887178A (en) * | 1994-08-29 | 1999-03-23 | Matsushita Electronics Corporation | Idle state detector and idle state detecting method for a microprocessor unit for power savings |
US5887179A (en) * | 1996-06-11 | 1999-03-23 | Motorola, Inc. | System power saving means and method |
JP2000148134A (ja) * | 1998-11-13 | 2000-05-26 | Seiko Epson Corp | 画像表示方法および画像処理装置 |
US6834386B1 (en) * | 1999-07-16 | 2004-12-21 | Microsoft Corporation | Method and system for regulating background tasks using performance measurements |
AU731189B1 (en) * | 1999-12-10 | 2001-03-29 | Robert Bosch Gmbh | A switch input circuit |
US6816977B2 (en) * | 2001-12-03 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Power reduction in computing devices using micro-sleep intervals |
US7036030B1 (en) * | 2002-02-07 | 2006-04-25 | Advanced Micro Devices, Inc. | Computer system and method of using temperature measurement readings to detect user activity and to adjust processor performance |
JP2003271401A (ja) * | 2002-03-18 | 2003-09-26 | Fujitsu Ltd | 負荷監視機能を有するマイクロプロセッサ |
WO2003083693A1 (fr) * | 2002-04-03 | 2003-10-09 | Fujitsu Limited | Planificateur de taches dans un systeme de traitement distribue |
JP2004164566A (ja) * | 2002-09-27 | 2004-06-10 | Casio Comput Co Ltd | 通信端末の電力制御装置及び通信端末の電力制御方法 |
JP4213572B2 (ja) * | 2003-11-28 | 2009-01-21 | 株式会社東芝 | 電子機器およびプロセッサ速度制御方法 |
US7945914B2 (en) * | 2003-12-10 | 2011-05-17 | X1 Technologies, Inc. | Methods and systems for performing operations in response to detecting a computer idle condition |
US7765543B1 (en) * | 2003-12-17 | 2010-07-27 | Vmware, Inc. | Selective descheduling of idling guests running on a host computer system |
US20050138642A1 (en) * | 2003-12-18 | 2005-06-23 | International Business Machines Corporation | Event correlation system and method for monitoring resources |
US20080307248A1 (en) * | 2004-04-28 | 2008-12-11 | Katsushige Amano | Cpu Clock Control Device, Cpu Clock Control Method, Cpu Clock Control Program, Recording Medium, and Transmission Medium |
US7205753B2 (en) * | 2004-06-30 | 2007-04-17 | Giga-Byte Technology Co., Ltd. | Switching power supply system for automatically regulating circuit operating power and method thereof |
US7272731B2 (en) * | 2004-10-13 | 2007-09-18 | Dell Products L.P. | Information handling system having reduced power consumption |
US7814485B2 (en) * | 2004-12-07 | 2010-10-12 | Intel Corporation | System and method for adaptive power management based on processor utilization and cache misses |
EP1715405A1 (en) * | 2005-04-19 | 2006-10-25 | STMicroelectronics S.r.l. | Processing method, system and computer program product for dynamic allocation of processing tasks in a multiprocessor cluster platforms with power adjustment |
US20070136726A1 (en) * | 2005-12-12 | 2007-06-14 | Freeland Gregory S | Tunable processor performance benchmarking |
TWI291609B (en) * | 2006-01-10 | 2007-12-21 | Giga Byte Tech Co Ltd | Methods of controlling fan speed |
US20080007222A1 (en) * | 2006-06-09 | 2008-01-10 | Jasper Nance | Low cost ultra low power in-battery charge monitor |
US8344475B2 (en) * | 2006-11-29 | 2013-01-01 | Rambus Inc. | Integrated circuit heating to effect in-situ annealing |
JP4413915B2 (ja) * | 2006-12-13 | 2010-02-10 | 株式会社東芝 | 異常兆候検出装置および方法 |
US7788511B2 (en) * | 2007-08-16 | 2010-08-31 | Texas Instruments Incorporated | Method for measuring utilization of a power managed CPU |
US7941681B2 (en) * | 2007-08-17 | 2011-05-10 | International Business Machines Corporation | Proactive power management in a parallel computer |
US8555283B2 (en) * | 2007-10-12 | 2013-10-08 | Oracle America, Inc. | Temperature-aware and energy-aware scheduling in a computer system |
US20090150696A1 (en) * | 2007-12-10 | 2009-06-11 | Justin Song | Transitioning a processor package to a low power state |
US20090199019A1 (en) | 2008-01-31 | 2009-08-06 | Nokia Corporation | Apparatus, method and computer program product for reducing power consumption based on relative importance |
US8140876B2 (en) * | 2009-01-16 | 2012-03-20 | International Business Machines Corporation | Reducing power consumption of components based on criticality of running tasks independent of scheduling priority in multitask computer |
WO2010100598A1 (en) * | 2009-03-02 | 2010-09-10 | Nxp B.V. | Software protection |
US20130125133A1 (en) * | 2009-05-29 | 2013-05-16 | Michael D. Schuster | System and Method for Load Balancing of Fully Strict Thread-Level Parallel Programs |
US9311245B2 (en) * | 2009-08-13 | 2016-04-12 | Intel Corporation | Dynamic cache sharing based on power state |
JP6186862B2 (ja) * | 2013-05-07 | 2017-08-30 | 富士通株式会社 | 情報処理装置、省電力化制御方法および省電力化制御プログラム |
-
2011
- 2011-03-22 EP EP11710748.2A patent/EP2550576B1/en active Active
- 2011-03-22 JP JP2013500469A patent/JP5763168B2/ja active Active
- 2011-03-22 US US13/636,824 patent/US9268389B2/en not_active Expired - Fee Related
- 2011-03-22 CN CN201180015576XA patent/CN102822768A/zh active Pending
- 2011-03-22 WO PCT/EP2011/054355 patent/WO2011117243A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219796B1 (en) * | 1997-12-23 | 2001-04-17 | Texas Instruments Incorporated | Power reduction for processors by software control of functional units |
CN101379453A (zh) * | 2006-03-07 | 2009-03-04 | 英特尔公司 | 使用动态工作负载特征来控制cpu频率和电压调节的方法和装置 |
CN101539799A (zh) * | 2007-09-28 | 2009-09-23 | 英特尔公司 | 使用处理器硬件反馈机制来选择最佳处理器性能水平的系统和方法 |
Non-Patent Citations (1)
Title |
---|
JAN KNUTAR等: "《http://www.spacekb.com/Uwe/Forum.aspx/seti2/1920/The-annoying-way-that-BOINC-throttles》", 20 November 2007 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108509324A (zh) * | 2017-02-28 | 2018-09-07 | 通用汽车环球科技运作有限责任公司 | 选择计算平台的系统和方法 |
CN108509324B (zh) * | 2017-02-28 | 2021-09-07 | 通用汽车环球科技运作有限责任公司 | 选择计算平台的系统和方法 |
CN117632521A (zh) * | 2024-01-26 | 2024-03-01 | 中电云计算技术有限公司 | 后台任务的cpu利用率控制方法、装置、设备及存储介质 |
CN117632521B (zh) * | 2024-01-26 | 2024-05-03 | 中电云计算技术有限公司 | 后台任务的cpu利用率控制方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2011117243A1 (en) | 2011-09-29 |
JP2013522787A (ja) | 2013-06-13 |
EP2550576A1 (en) | 2013-01-30 |
EP2550576B1 (en) | 2020-01-01 |
US20130132754A1 (en) | 2013-05-23 |
JP5763168B2 (ja) | 2015-08-12 |
US9268389B2 (en) | 2016-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102822768A (zh) | 通过从处理器性能管理系统掩蔽处理来减少功耗 | |
KR101411756B1 (ko) | 동적 전력 관리를 위한 도메인 특정 언어, 컴파일러 및 jit | |
US7346787B2 (en) | System and method for adaptive power management | |
US7917789B2 (en) | System and method for selecting optimal processor performance levels by using processor hardware feedback mechanisms | |
US8402293B2 (en) | Power management in electronic systems | |
US9164803B2 (en) | Background task resource control | |
US8082459B2 (en) | Power management based on policy | |
US8327172B2 (en) | Adaptive memory frequency scaling | |
US7577860B2 (en) | Processor specific BIOS interface for power management | |
CN110832434B (zh) | 用于处理器的频率调控的方法和系统 | |
US20060123253A1 (en) | System and method for adaptive power management | |
Lim et al. | A dynamic energy management scheme for multi-tier data centers | |
Tang et al. | Energy‐Efficient Reliability‐Aware Scheduling Algorithm on Heterogeneous Systems | |
US10275007B2 (en) | Performance management for a multiple-CPU platform | |
US9766672B2 (en) | System for managing power provided to a processor or memory based on a measured memory consumption characteristic | |
Haj-Yihia et al. | DOEE: Dynamic optimization framework for better energy efficiency | |
Nassiffe et al. | Optimizing quality of service in real-time systems under energy constraints | |
Kambadur et al. | Energy exchanges: Internal power oversight for applications | |
Nassiffe et al. | A Model for Reconfiguration of Multi-Modal Real-Time Systems under Energy Constraints | |
Iranli et al. | System-level power management: An overview | |
Hung et al. | Energy-Efficient Communications for Improving Timely Progress of Intermittent-Powered BLE Devices | |
Manzak et al. | Low Power Design for DVFS Capable Software | |
Haj-Yahya et al. | Dynamic Optimizations for Energy Efficiency | |
Jain | Energy-efficient Scheduling for Heterogeneous Servers in the Dark Silicon Era | |
DiRienzo et al. | Concepts for computer center power management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121212 |