>
首页 » 业界动态 » 基于BP神经网络的系统级电源管理算法

基于BP神经网络的系统级电源管理算法

作者:唐志芳,时海涛,鲁华祥,王守觉  时间:2006-12-03 11:17  来源:edires.net
摘要:在深入研究目前国际上比较流行的几种系统级电源管理(PM)算法的基础上,利用BP神经网络的非线性映射能力,提出基于BP神经网络的、对任务之间相互间隔时间也就是系统空闲时段的长度进行自适应学习的BPPM算法,具有传统回归PM算法不可比拟的优点。仿真实验表明引入神经网络的电源管理算法较之传统PM算法大大降低了系统级功耗。实现了在不需要建立系统模型、无需预先获得负载统计特性的前提下,通过从系统正常工作产生的数据中不断学习,使系统具有自适应、高效的电源管理能力,以达到降低系统功耗、提高器件可靠性、延长工作寿命的目的。

关键词:电源管理;系统级功耗;神经网络

概述

在一个功耗可控的系统中,组件可工作在表征不同性能和功耗水平的各个功耗状态。电源管理(简称PM)策略主要根据系统的历史空闲时段、负载及给定性能指标,决定何时进行组件工作状态转换以及转换到哪一个工作状态。不同功耗状态之间进行转换会带来功耗、性能等方面的损失。break-even时间(即Tbe)是使器件由空闲状态切换到休眠状态下节省的功耗与关断和重新启动器件所带来的功耗相等的最小空闲时段。

所谓先知最优算法(简称OPM算法),就是假定其预先知道任务到来时刻的次序及相应的响应时间。如果下一个空闲时段大于Tbe,OPM算法将关断系统,反之则任系统处于空闲状态。因此OPM算法能在此基础上做出最优决策。由于实际中任务不可能事先知道,因此它只是理论上的最优算法,但可以将其他PM算法拿来与它进行比较。

目前国际上有很多种电源管理算法,如在线算法、随机最优化算法、时间段聚类及预测算法、预测算法,以及适应性学习算法等。可归为3类:timeout-based算法,基于预测的算法以及随机最优算法。

Timeout算法的阈值可以是固定的,也可以是随时间而改变的。该方法的主要缺点是在等待激发timeout的时间里有无谓的功耗。Sribastava等人提出了启发式的方法,即在空闲时段一开始就将电源切断。预测空闲时段的长短,如果预测的空闲时段足够长,切断电源省下的能量足以补偿切断电源和重新激活系统时在系统延迟及功耗方面的损耗。该方法的缺陷在于:它是非在线预测的,不适用于动态的、实时的任务流。

Hwang和Wu则采用了CPU时间排定问题中的指数均值法来预测空闲时段。他们提出了一种新的算法,采用两种新的策略:预测任务关联以及预启动。他们的贡献在于提出的方法不依赖于系统的任务分布。但是,由于缺乏该算法的解析分析,他们的实验结果与最优结果有多接近并不清楚。

Paleologo等人提出了将嵌入式系统动态电源管理问题看成是随机最优化问题的观点。他们将一个便携式磁盘驱动器作为嵌入式系统,利用Auspex的任务流得出了利用一指数分布作为基本输入的马尔可夫模型。但他们假定任务之间的间隔时间服从指数分布,这简化了分析,而实际应用中很少出现这种情况。

以上这些方法都是建立在需已知精确的系统模型和负载统计特性的基础上,并试图在系统设计阶段就确定所采用的电源管理算法。由于存在负载统计特性的时变性和不可确定性、系统模型的不可确定性等因素,因此它们在实际可应用性方面存在缺陷。

而人工神经网络具有从大量不完整数据中逐步获取知识并进行复杂目标优化的能力。利用人工神经网络的这一特性,有可能实现在不需要建立系统模型、无需预先获得负载统计特性的前提下,通过从系统正常工作产生的数据中不断自学习进化,使系统具有自适应、高效的电源管理能力,以达到降低系统功耗、提高器件可靠性、延长工作寿命的目的。有鉴于此,本论文尝试利用人工神经网络中最基本也是最简单的BP神经网络,进行系统级电源管理算法的研究。

BP算法

BP网络是目前应用最广泛的神经网络之一,是一种正向求解、反向传播并达到修改网络层次之间连线上权值的网络模型。BP算法的具体思想是:对一个输入样本,从输入层经隐含层逐层正向计算,得到输出层的输出。然后,让它与期望样本比较,如有偏差,则把输出层单元的误差向输入层逆向传播,由此调整连接权值与阈值,从而使网络输出值逼近期望输出,通常使之达到误差均方值取最小为止。

典型的BP网络是3层前馈网络,即输入层、隐含层和输出层,其中每层的结点与上下层的结点间都有联系,而同层结点之间不存在联系。本文采用的网络结构如图1所示。

图1BP网络结构示意图

网络中的响应函数采用S形函数(Sigmoid):
f (x)=1/(1+e-x)

一个3层BP神经网络可以实现任意精确近似任何连续的非线性函数,正是这一特点,使其广泛应用于各种需要非线性函数逼近(拟合)及分类的领域,如模式识别、系统辨识、信号检测、自适应滤波和函数逼近等等。

BP算法应用于电源管理(BPPM算法)

外界任务之间相互间隔到来的时间是未知的,并且可能没有任何特征,一般不遵从已知的概率分布。我们的目的是利用BP神经网络,设计一个有效的电源管理策略(即BPPM算法),有选择性的将系统关断或者置电,使得整个系统的功耗最小。在此只讨论单器件单任务流的电源管理问题,且不考虑系统响应外界任务所引起的功耗及所需要的时间。我们只关心处于空闲状态的器件在运行状态或者休眠状态下的功耗情况。

Srivastava利用多元回归方程Tpred=ф[Tactive(n),Tidle(n-1),Tactive(n-2),.,Tactive(n-k),Tidle(n-k-1)],使各个空闲时段之间相互关联,来进行预测。其中n,n-1,.表示历史空闲时段和工作时段,n为当前空闲时段。这要求大量的存储单元来保存历史idle值。考虑到尽量节省系统资源,我们提出的BPPM算法采用单步预测法:即网络输入Tidle(n+1),.,Tidle(n+m)等m个历史Tidle数据,输出Tidle(n+m+k)的值。这里取m=10,k=1。本论文所采用的BP网络为3层神经网络,输入层有10个神经元,对应作为输入的10个历史Tidle值。对于隐含层单元数的选择,目前还没有现成的公式可用。本文采用隐层为20个神经元,输出层有1个神经元,输出所预测的下一个空闲时段Tidle(n+m+1)的大小。

我们利用一个随机数发生器模拟产生系统的输入任务,产生8列符合正态分布的不同的任务流。由于实际中外界任务是在线输入的,因此BP网络也采用在线训练的方式。但在BP网络训练完成之前,需要积累器件历史空闲时段长短的数据作为样本,所以采用BP网络结合传统基于预测的PM算法来进行电源管理:即前100个空闲时段采用预测算法进行电源管理,同时利用该100个历史空闲时段作为样本训练BP网络。

器件第100个之后的空闲时段即Tidle(101)、Tidle(102)..则通过初步训练的BP网络进行预测,如果预测的空闲时段Tidle>Tbe,则在空闲时段的一开始就关断系统;如果Tidlebe则让器件保持空闲状态,等待下一个任务的到来。并且每预测500 个空闲时段就对BPPM 算法进行评价,即比较相应空闲时段的BPPM 与OPM 算法的功耗情况。如果BPPM 算法下系统功耗小于等于OPM 算法的1.15 倍或者BP 网络达到设定训练次数的上限(本论文中设定为10 次),则确定BP网络,并依据此BP 网络对其后的空闲时段进行电源管理。

实验结果及分析

功耗可控系统的各个功耗状态特征如表1所示。其中Start-up能量是指从一个工作状态切换到工作状态时的能量消耗。

我们将具有表1所示功耗特征的IBM移动磁盘驱动器作为一个功耗可控系统,采用与BPPM算法相同的输入任务列,对以下几种电源管理算法进行了仿真和比较:
(1)先知最优算法(即OPM算法,以optimal表示);
(2)固定阈值timeout算法(以timeout表示);
(3)预测算法(以predictive表示);
(4)基于Markov链的随机最优算法(以Markov表示);
(5)BPPM算法(以BPPM表示)。

在相同的性能指标下,图2给出了这5种算法对于8个任务列的功耗情况,图2中对应每列任务从左到右柱状图依次代表Markov、OPM、timeout、预测算法及BPPM算法对于各个任务列的功耗情况。

图2对8列任务各PM算法的总功耗

图3给出了对于所有任务列各个PM策略的功率消耗、关断次数以及正确关断率,其中功率消耗和关断次数均为相对OPM算法标准化后的。

图3各PM算法的功耗、关断次数及正确关断率

可以看出,由于OPM算法具有将来任务的全部信息,因此能做出最优决策,故功耗最小,能实现最优电源管理。虽然固定阈值的timeout算法在预测即将到来的空闲时段是否大于Tbe比其他算法要准确的多,且关断次数最少,但在由于等待阈值激发timeout算法时段有无谓的功耗浪费,故总功耗最大。而基于神经网络的电源管理算法BPPM与其他传统PM方法相比,系统功耗进一步降低并获得全局最优电源管理。

传统的PM算法中,基于Markov的随机策略功耗较小、总的关断次数也最少,甚至低于OPM算法。因为基于Markov的随机最优化算法只要对系统建模准确,就能实现全局最优解。但对于实际问题的Markov模型只是对一个相当复杂的随机过程的大致估计,因此“最优解”也只不过是近似解。从图3也可以看出BPPM算法的系统功耗就比基于Markov随机算法要低。而我们提出的BPPM算法虽然关断次数比之传统PM算法有所增加,但增幅很小,且其正确关断百分比却相对提高(为45.29%),因此相应的性能损失、无谓能耗大大减小,系统总功耗也大大降低。

总之,基于神经网络的电源管理算法,能够自适应的发现隐含在系统历史空闲时段样本数据中的内在的特性及其规律性。这一自学习能力与传统PM算法中所采用的预测“学习”方法大不相同,后者往往依赖于编程者对系统模型及负载统计特性的准确建模,而BPPM算法对输入任务及系统空闲时段的分布状态无需做任何假设,而是利用神经网络的自学习功能,从空闲时段的历史数据中学习到任务之间相互间隔时间的非线性映射函数关系,具有传统的回归方法不可比拟的优点。

结论

本文在深入研究目前国际上比较流行的各种电源管理方法的基础上,利用人工神经网络的非线性映射特性,将BP网络引入系统级电源管理算法的研究。采用具有学习能力的算法,使其对任务之间相互间隔时间也就是系统空闲时段的长度具有很强的自学习、自适应和自组织能力。实现了在不需要建立系统模型、不需要预先获得负载统计特性的前提下,通过从系统正常工作时产生的数据中不断学习,使系统具有自适应的、高效的电源管理能力,以达到降低系统功耗、提高器件可靠性、延长工作寿命的目的。这也正是一个解决超深亚微米SOC中高效、智能化电源管理方法和实现技术的新思路。

需要指出的是,在设计电源管理算法时需要考虑的一个重要因素是算法所带来的系统延迟。当系统被关断,在外界有任务到来需要重新启动时,系统需要初始化完成后才能响应外界输入任务,这必然带来一定系统延迟。当系统响应任务产生了延迟,系统的空闲时段之间的相互间隔也将发生改变,从而影响电源管理算法的性能。当系统对时序有严格要求时,系统延迟是系统设计者必须考虑的一个很重要的设计参数,必须设法在尽量减小功耗的同时也尽量减小系统延迟。本文所提到的算法均没有对系统延迟进行建模,这将在以后的工作中进行。

相关推荐

成为“钢铁侠”不是梦 神经形态芯片产出

电源管理芯片市场预计从第二季度开始复苏

半导体  电源管理  2013-06-26

电源管理IC论英雄 从Altera并购案看成败

Altera  电源管理  2013-06-18

数字电源市场2017年将增三倍达124亿美元

数字电源  电源管理  2013-05-31

电源管理IC临近爆发,详解四大市场趋势

TI  电源管理  2013-05-14

电源管理IC即将爆发 解析未来四大市场趋势

电源管理  DC-DC  2013-05-08
在线研讨会
焦点