- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
BUCBAT自适应动态电源管理策略
目前,越来越多的嵌入式系统利用电池供电,但是电池容量在最近几十年中的增长速度已经严重滞后于数字集成电路运算功耗的增长速度。因此,在系统中采用合适的动态电源管理DPM(Dynamic Power Management)策略就显得尤为重要[1]。
系统级DPM功耗管理策略可分为三类:超时策略(TimeOut)、预测策略和随机策略。TimeOut策略的基本思想是根据已观察到的空闲时间长度确定一个时间阙值,一旦持续空闲时间超过这一阙值,就切换到休眠模式。预测策略的提出是为了改善超时策略等待超时过程中的能量开销,通过某种预测方法预测PMC下一个空闲时间长度值,一旦预测值大于阙值,立即使PMC转入低功耗状态,从而避免了TimeOut策略等待超时的功耗开销。文献[2]提出用指数平均法预测空闲时间的大小,实质是将历史空闲时段以加权平均值作为下一个预测空闲时间的大小。该算法的优点是容易实现、算法复杂度低,缺点是缺乏算法的解析分析。文献[3]认为设备使用请求具有突发性,邻近的工作期和空闲期彼此之间存在某种相关性,并且把K个彼此连接的空闲期和工作期作为一个负载基因;相邻的基因差别较小,使用遗传算法求出下一个负载基因,进而得到下一个空闲期长度的预测值。该算法的缺点是不太适合非平稳任务流。Chung等人[4]使用自适应学习树ALT(Adaptive Learning Tree)把空闲期序列编码到树的节点。当一个空闲期开始时,功耗管理器PM(Power Manager)在生成的树中寻找一条最有可能导致这个空闲期的路径并使用该路径上节点的参数预测这个空闲期的长度。该算法的缺点是当分支的PCL(predictive confidence level)降为零时,发生预测错误PCL也不能减小,导致错误一直传播下去。文献[5]认为应用程序的指令激发的I/O操作和紧跟其后的空闲期长度之间具有很强的相关性,他们观察并记录每一个引起较长空闲期的程序计数器序列值,当相似的程序上下文再次出现时,就认为下一个将要到来的空闲期比较长。文献[6]提出基于小波预测理论预测PMC的行为,算法的优点是去除了某些算法只适用于稳态任务流的假设,缺点是必须存在并找到适合各种PMC负载特性的小波。
以上各种DPM策略的节能效果与设计者对功耗可管理器件PMC(Power Manageable Component)的负载特性的认识程度密切相关,然而在实际应用中PMC负载的特性有时候很难预知。同时由于嵌入式系统处理器处理能力有限并且要求有良好的实时性能,因此上文提及的遗传算法、小波算法等复杂算法应用于功耗管理不仅加重了处理器的负担,也增加了功耗管理的能量开销。以上DPM策略都从功耗可管理器件特性的角度进行功耗管理。本文结合电池的放电特性针对应用最广泛的超时策略进行改进,提出一种基于电池放电特性的自适应TimeOut动态电源管理策略——BUCBAT(Battery Uncharge Characteristic Based Adaptive TimeOut)。
1 TimeOut策略
1.1 收支平衡点
收支平衡点TBE的意义是只有当功耗可管理器件(PMC)处于空闲状态的时间大于该时间时,将PMC从Running状态转为Sleeping状态才能节省能量。其计算公式如下:
其中,TEnter表示PMC从Running状态转换到Sleeping状态的过渡时间;Twake表示从Sleeping状态转换到Running状态的过渡时间;PTrans表示两种状态相互转换的平均功率;PSleep表示Sleeping状态的功率;PRun表示Running状态的功率。
1.2 TimeOut策略及其不足
TimeOut策略的基本思想是根据已观察到的空闲时间数据确定一个时间阙值,一旦持续空闲时间超过这一阙值,就切换到相应休眠模式。任何一种超时策略在执行过程中都基于一个假设条件,如果系统处于空闲状态的时间已经超过了某一超时阙值Tfix,则系统至少还可以继续保持TBE的空闲时间,从而在进入和退出Sleeping状态的过程不会带来能量浪费,而且这种概率还会随着Tfix取值的增大而上升。这种假设条件用概率的形式表示为[7]:
根据时间阙值是否可变,TimeOut策略可以分为固定超时策略(Fixed TimeOut)和自适应超时策略(Adaptive TimeOut)。前者在设备经过一段固定的空闲时间段后会关闭该设备,而后者会根据设备使用的历史记录来动态调整超时阙值。在硬盘控制算法中,Douglis等[8]实验测量了固定时限算法的功耗性能。Greenawalt[9]假设磁盘访问请求是泊松过程,空闲时间长度为负指数分布,理论分析了固定超时算法的功耗性能。固定超时算法比较简单,算法本身开销较小,但在工作负荷波动较大的应用中,固定时限算法很难获得理想的效果。Douglis等[10]提出了一种自适应算法,根据前一次切换的结果按比例调整时限值。Helmbold等[11]基于机器学习原理选择一系列候选时限值作模拟控制,根据控制结果设置权重,进行加权平均得到实际控制的时限值。以上自适应超时策略仅考虑了时限值如何适应负载特性的变化,而忽略了由电池供电系统自身电池的放电特性。对于由电池供电的系统,忽略电池放电特性的自适应超时策略很难成为一个高质量的DPM策略。
2 电池的放电特性
人们通常关心电池的输出电压和容量,理想电池模型的输出电压是一个常数,当电池放电完毕之后,输出电压骤降为零。然而实际的电池放电过程与理想电池模型有很大的区别。实际电池主要有三个放电特性值得关注:
(1)由于电池在放电的过程中,电池内阻会逐渐增大,因而输出电压逐渐减小;当电压减小到某个阙值(如正常电压的80%)后,就认为该电池放电完全。
(2)电池的容量与放电电流密切相关,放电电流越大,电池存储的化学能转化为电能的效率越低。也就是说,放电电流越大,电池的容量越小。电池放电的这种非线性特征可以用peukert公式[12]描述,图1为标称值为1.35A/hr的电池放电电流与电池容量的关系。由图可以明显看出,放电电流越大,电池化学能转化为电能的效率越低。
(3)电池具有恢复效应,当电池处于间断性放电时,电池的电能会有某种程度上的恢复,并且电压呈现波动性,放电电压下降慢,放电时间较长。
以上电池的放电特性很容易被忽视,但这些特性给用户高效正确地使用电池提供了有用的信息。第一,使用电池的过程中应该注意到电池电压下降给系统带来的影响;第二,避免使电池处于过大电流放电状态,以保证电池的放电效率不会太低;第三,使用多块电池轮流放电,使每块电池处于间断放电状态,充分利用电池的恢复效应。
3 BUCBAT动态电源管理策略及评价指标
3.1 BUCBAT动态电源管理策略
自适应TimeOut策略就是根据系统中某些参量动态调整超时阙值Tfix。因为电池在放电过程中电压逐渐下降,为了延长电池的放电时间,希望系统能够更快进入休眠状态(Sleeping),从而节省更多能量来延长电池的使用寿命,所以应尽可能减小Tfix值。另一方面,频繁进入休眠状态,会给系统的性能带来一定的影响。当系统处于休眠状态而响应某个到来的任务请求时,系统需要先从休眠态返回到工作状态(这个过程需要一定的时间开销),然后再去响应请求,这样系统的实时响应性能会受到影响。根据电池放电电压动态调整Tfix的大小,以求得功耗和性能在某种程度上的折衷。为此定义:
其中,VO表示电池输出电压,VE表示电池完全放电时的输出电压,α表示Tfix步进调整系数。按照式(1),系统就能根据输出电压动态调整超时时限Tfix大小,以收支平衡点TBE作为基本步进调整幅度,根据不同的α取值,调整步进幅度也可以不同。
为了更好地利用电池的放电恢复效应,采用两块电池按照频率fsw轮流放电。文献[13]表明采用两块电池轮流放电可以明显延长电池的放电时间,并且fsw越高,电池的放电时间越长,当fsw=0.1Hz时,能够获得80%左右的放电延长时间。电源管理器(PM)功能框图如图2所示,其中电压检测器的分辨率为0.01V。
3.2 BUCBAT动态电源管理策略评价指标
首先,应该关心BUCBAT降低功耗的性能,用Tunch表示连续放电时间。
其次,为了描述BUCBAT对实时性能的影响,定义服务质量ηQOS:
其中,Tsleep表示采用BUCBAT动态电源管理策略后PMC处于Sleeping状态的时间,Tsw表示PMC状态转换时间。对于同样的任务序列,PMC处于Sleeping的时间越长,说明服务质量QoS越差。通常情况下,Tsw可以忽略。
4 实验和结论
为了测试BUCBAT的节能性能和服务质量ηQOS,进行了如下实验。
实验:采用两节干电池,标称值为3.6V/1250mAh,放电截至电压为3.0V,电压调整步进系数α取0.001,电池切换频率fsw取0.1Hz,功耗可管理器件PMC采用StrongARM-SA1000处理器,其工作状态及其状态转换开销如表1所示。利用随机数发生器产生多路任务到来时间服从pareto分布的任务序列,处理的任务都是进行相同的数据处理。测试分别在以下三种策略下PMC可以正常工作的最大时间TWork和服务质量ηQOS,测试结果如图3和图4所示,所有的测量值以Normal策略下任务序列1的测量值进行归一化处理。
条件1:不采用任何功耗管理策略,记为Normal策略。
条件2:采用固定时限的超时电源管理策略,Tfix=50s,记为TimeOut策略。
条件3:采用BUCBAT电源管理策略,记为BUCBAT策略。
由图3和图4可以看出,当系统不采用任何功耗管理策略时,工作时间随随机任务流的变化不大,因为不采用功耗管理策略(Normal策略),处理器一直处于工作状态,任务到来时不需要任何等待就可以响应任务,因此服务质量最好。采用固定超时策略(TimeOut)时工作时间相比Normal策略可以增加25%左右,同时QoS下降为82%左右;而采用BUCBAT策略时,由于充分利用了电池的放电特性和自恢复效应,随着放电电压的下降动态调整超时阙值,相比Normal策略工作时间可以增加30%左右,同时QoS下降为85%左右。可见,BUCBAT策略相比Normal策略大大增加了系统的工作时间,而相比TimeOut策略,在保证一定服务质量的同时进一步增加了系统的工作时间。采用BUCBAT策略时,系统开始工作时,超时阙值很大,由式(3)可以计算出约为96s,此时系统很少进入Sleeping状态,因此服务质量很高;随着电池放电电压逐渐减小,超时阙值Tfix也随电压线性降低,同时QoS也越来越小。但是就整个放电过程来说,QoS略高于固定超时策略。
本文基于电池放电特性,提出一种自适应超时动态电源管理策略——BUCBAT。该策略充分利用电池的放电特性,使得自适应超时动态电源管理策略从原来单纯对工作负载进行自适应扩展到了对系统电压源的自适应,拓展了DPM策略中自适应对象的范畴。实验结果表明,本文所提出的BUCBAT动态电源管理策略在兼顾系统QoS性能的同时,能够在很大程度上延长系统的可持续使用时间。将工作负载和系统电压源的自适应超时策略结合起来进行动态电源管理有待于进一步研究,这也是今后工作的重点之一。
参考文献
[1] CHUNG Eui-Young,BENINI L.Dynamic power management for nonstationary service requests[J].IEEE Transactions
on Computers.2002,51(11):1345-1361.
[2] Chi-Wong Hwang,Allen C.-H.Wu.A Predictive System Shutdown Method for Energy Saving of Event-Driven Com-
putation[C].Proceedings of the 1997 IEEE/ACM International Conference on Computer-Aided Design,ICCAD.CA,USA:IEEE Comp Soc,Los Alamitos,1997:28-32.
[3] FEI Kong,PIN Tao,SHI Qiang Yang,et al.Genetic Algorithm Based Idle Length Prediction Scheme for Dynamic Power Management[C].Proceeding of 2006 Multiconference on Computational Engineering in Systems Applications,IMACS.Beijing,China:TingHua University publish company,2006:1437-1502.
[4] CHUNG Eui-Young,BENINI L,De Micheli G.Dynamic power management using adaptive learning tree[C].Proceedings of the 1999 IEEE/ACM International Conference on Computer-Aided Design(ICCAD-99).CA,USA:Institute of Electrical and Electronics Engineers Computer Society,Los Alamitos,1999:274-279.
[5] GNIADY C,BUTT A R,HU Y C,et al.Program Counter Based Prediction Techniques for Dynamic Power Management[J].IEEE TRANSACTIONS ON COMPUTERS,2006,55(6):641-649.
[6] ABBASIAN A,1Safar Hatami,1Ali Afzali-Kusha,et al.Event-driven dynamic power management based on wavelet forecasting theory[C].Proceedings of the 2004 IEEE International Symposium on Circuits and Systems.Piscataway,New Jersey,United States:Institute of Electrical and Electronics Engineers Inc.,2004:325-328.
[7] DOUGLIS F,KRISHNAN P,MARSH B.Thwarting the Power-Hun-gry Disk[A].In:proc.of the Usenix Technical
Conference[C],1994:292-306.
[8] BENINI L,BOGLIOLO A,MICHELI G D.A Survey of Design Techniques for System-LevelDynamic Power Management[J].IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION(VLSI) SYSTEMS,2000,8(3):299-306.
[9] GREENAWALT P.Modeling Power Management for Hard Disks[A].In:proc.of Conf.on Modeling,Analysis,and Simu-
lation of Computer and Telecommunication Systems[C],1994:62-66.
[10] DOUGLIS F,KRISHNAN P,BERSHAD B.Adaptive Disk Spin-Down Policies for Mobile Computers[A].In:proc.of
the 2nd Usenix Symp.on Mobile and Location-Independent Computing(MOBLIC)[C],1995:121-137.
[11] HELMBOLD D,LONG D,SHERROD B.A Dynamic Disk Spin-Down Technique for Mobile Computing[A],In:proc.of
the Second Annual ACM International Conference on Mobile Computing and Networking[C],1996:130-142.
[12] CALDARI M,CONTI M M,CIPPA P,et al.Dynamic power management in an AMBA-based battery-powered
system[J].Electronics,Circuits and Systems,2002,2:525-528.
[13] BENINI L,CASTELLI G.Battery-driven dynamic power management[J].Design & Test of Computers IEEE,2001,18
(2):53-60.
来源:电子技术应用