系统元件从一种耗能状态到另一种耗能状态往往需要一段时间,并且在这段时间内会消耗更多的额外能量。状态的改变会影响系统的性能,所以设计者需要在系统节能和系统性能之间找到恰当的折衷切入点。本文介绍了动态电源管理中的一些方法。这些方法将决定元件是否改变耗能状态和何时改变。
1 动态电源管理技术
“动态电源管理”是动态地分配系统资源,以最少的元件或元件最小工作量的低耗能状态,来完成系统任务的一种降低功耗的设计方法。对于电源管理实施时间的 判断,要用到多种预测方法,根据历史的工作量预测即将到来的工作量,决定是否转换工作状态和何时转换。这就是动态电源管理技术的核心所在——动态电源管理 方法。
动态电源管理技术适用的基本前提是,系统元件在工作时间内有着不相同的工作量。大多数的系统都具有此种情况。另 一个前提是,可以在一定程度上确信能够预知系统、元件的工作量的波动性。这样才有转换耗能状态的可能,并且在对工作量的观察和预知的时间内,系统不可以消 耗过多的能量。
2 电源管理
各个系统设备当接 到请求时,设备忙;而没有请求时,就进入了空闲状态。设置进入空闲时,可以关闭设备,进入低耗能的休眠状态;当再次接到请求后,设备被唤起。这就是所谓的 “电源管理”。然而,耗能状态的改变是需要时间的,也就是关闭时延和唤起时延。唤起休眠状态中的设备需要额外的能量开销,如图1所示。如果没有这项开销, 也就用不着电源管理技术了,完全可以只要设备空闲就关闭设备、这种时延和能量开销确定存在,所以必须考虑,只有当设备在休眠状态所节省的能量至少可以抵得 上状态转换耗能的情况时,才可以进入休眠状态。
电源管理技术是一个预知性问题。应寻求预知空闲时间是否足够长,以及于能否抵得上状态转换的耗能开销。空闲时间过短时,采用电源管理的方案就得不偿失 了。所以事先估计出空闲时间的长短是电源管理技术中的首要问题。定义“恰当的停止时间段”(tBE):能达到系统节能的最短空闲时间段。此时间与设备元件 本身有关,与系统发出的请求无关。假设状态转换延时t0(包括关闭和唤起延时)耗能为E0;工作状态功率Pw,休眠状态功率Ps,可由以下式求出tBE。
Pw×tBE=E0+Ps×(tBE-T0)
等式左边为“适合暂停时间段”内的耗 能,也就是系统在这段用于节能的最短空闲时间内继续工作所需能量;右边是状态转换耗能和休眠时间内的系统耗能。tBE换和这段休眠时间内的系统耗能。电源 管理技术就是要预知将要发生的休眠时间是否能够大于tBE,只有大于它,设备才有休眠的必要。
3 基于先验预知的动态电源管理技术
对于大多数真实系统,即将输入的信号是难以确定的。动态电源管理的决策是基于对未来的不确定预知的基础之上的。所有的基于预知的动态电源管理技术的基本 原理是探过去工作量的历史和即将发生的工作量之间的相互关系,来对未来事件进行可靠的预知。对于动态电源管理,我们关心怎样预知足够长的空闲时间进入休眠 状态,表达如下:
p={tIDLE>tBE}
我们称预知空闲时间比实际的空闲时间长(短)为“预知过度”(“预知不足”)。预知过度增加了对性能的影响;预知不足虽对性能无影响却造成了能量的浪费。要是能既无预知过度又无预知不足,那就是一个理想的预知。预知的质量取决于对观察样本的选择和对工作量的统计。
3.1 静态预知方法
固定超时法:最普遍的电源管理预知法,用过去的空闲时间作为观察校本对象来预知当前空闲时段的总持续时间。此方法总结如下:空闲时钟开始,计时器开始计 时,超过固定超时时间tTO系统仍处于空闲,则电源管理使得系统休眠,直到接收到外界请求,标志着空闲状态的结束。能够合理地选择tTO显然是这种方法的 关键。通常在要求不高的情况下取tTO=tBE。
固定超时法优点有二:①普遍适用(应用范围仅限决于工作量);②增加固定超时值可以减少“过度预知”(即预知时间比实际空闲时间长)的可能性。但是其缺点也明显:固定超时过大则将引起预知不足,结果不能有效的节省能量,相当多的能量浪费在等待超时上。
预知关闭法:此方法可以解决固定超时法中等待固定超时而耗费过多能量的问题,即预知到系统的空闲可能性就立即关闭系统,无需等到空闲时间超过超时值。预知方法是对历史工作量的统计上做的有肯定性估计。
Srivastave提出了两种先验关闭的方案。
①非线性衰减方程(φ)。此方程可由过去的历史中得到。
t的上标表示过去空闲和工作时期的序号,n表示当前的空闲时期(其长度有待于预知估计)和最近的工作时段。此方程表明了要估计将发生的空闲时期,要考虑到过去的空闲和工作时期。
如果tpred>tBE,那么系统一空闲就立即关闭。观察样本是
此方法的局限:
*无法自主决定衰减方程的类型;
*要根据收集和分析的分散数据建立衰减模型,并且这些数据适合此衰减模型。
这些数据适合此衰减模型。
②极限方案。此方案基于一个极限。观察样本为紧挨着当前空闲时期之前的工作时期,如果便认为空闲时期比前一个工作时期长,则系统关闭。
注意:统计研究表明,短时间的工作时期后是长时间的空闲期;长时间的工作期后是短时间的空闲期。这样的系统可以用极限法,如图2所示。而短时期的工作期后是短时期的空闲期这种情况下就不能用些极限法。总之,对tthr的选择尤为重要。
预知唤起法:可以解决固定超时方法中唤起时的性能损耗。当预知空闲时间超时后则系统唤起,即使此时没有接收收到任何系统请求。使用此方法应注意的是,如 果tidle被“预知不足”,则这种方法增加了能量的消耗,但同时也减少了等待接收第一个系统请求的时间,还是在一定程度上节省了能量,提高了系统性能。