嵌入式系统的能耗管理方法

文档序号:6585849阅读:370来源:国知局
专利名称:嵌入式系统的能耗管理方法
技术领域
本发明涉及嵌入式系统能耗管理技术领域,特别适用于基于电池供电的嵌入式实
时系统的能耗管理。
背景技术
在嵌入式系统设计中,系统的高性能带来的能耗需求越来越大,特别是对于电池 供电的嵌入式系统,越来越高的能量需求与有限的电池容量之间的矛盾正变得越来越突 出。因此,如何使嵌入式系统能够根据当前能耗的提供情况调整自身行为,适应能耗约束变 化,从而提高能耗的利用率已成为嵌入式系统设计者面临的严峻挑战。 在现有的嵌入式系统低功耗实现技术中主要分为静态低功耗和动态低功耗技术, 静态低功耗技术主要是从硬件角度涉及电子元器件;动态低功耗技术是从软件的角度来实 现的,主要从操作系统、编译器和嵌入式应用程序三个层次来实现对低功耗的优化设计。动 态电压调节(Dynamic VoltageScaling, DVS)技术提供了一种操作系统级别的能耗管理能 力,随着大规模集成电路的发展,越来越多的现代处理器采用了 DVS技术。DVS技术可以根 据需要动态地改变处理器的运行电压和时钟频率,由于频率与电压成正比,功耗和电压的 二次方成正比,降低电压可以有效地降低功耗,同时也导致任务的执行时间延长,如果任务 的执行时间太长以至于超过其截止期,那么该任务的执行宣告失败。并且,研究表明处理器 的执行频率越低,系统的可靠性越低。因此在能耗管理中,要兼顾系统的能耗限制,实时性 及可靠性,现有的能耗管理技术中,如公开号为CN101515338A的中国发明专利申请公布说 明书所公开的一种降低嵌入式系统功耗的方法,仅考虑系统的能耗优化,而现有技术中还 未有兼顾系统的能耗限制,实时性及可靠性的嵌入式系统能耗管理方法。
人工鱼群算法(AFSA)最早是由李晓磊等人在2002年提出的一种新型的寻优算 法,该算法模拟鱼集群游弋觅食的行为,通过鱼之间的集体协作使群体达到最优化的目的。
AFSA先初始化一群人工鱼,然后通过迭代搜寻最优解。在每次迭代中,人工鱼主要 是通过觅食、聚群和追尾等行为来更新自己,从而实现寻优,具体行为描述如下
(1)觅食行为指鱼循着食物多的方向游动的一种行为。人工鱼&在其视野内随 机选择一个状态Xj,分别计算它们的目标函数值并比较,如果发现Yj比1优,则Xi向Xj的 方向移动一步;否则,Xi继续在其视野范围内随机移动选择状态Xj,判断是否满足前进条 件,反复尝试try皿mber次之后,仍没有满足前进条件,则随机移动一步使得&到达一个新 的状态。 (2)聚群行为指每条鱼在游动过程中尽量向临近伙伴的中心移动并避免过分拥
挤的一种寻优行为。人工鱼Xi搜索其视野内的伙伴数目及中心位置,若伙伴中心位置状态
较优且不太拥挤,则Xi朝伙伴的中心位置移动一步,否则执行觅食行为。 (3)追尾行为指鱼向其可视域范围内的最优方向移动的一种行为。人工鱼&搜
索其视野内的所有伙伴中函数值最优的伙伴,如果最优伙伴的周围不太拥挤,则&朝此伙
伴移动一步,否则执行觅食行为。
(4)行为选择根据所要解决问题的性质,每条人工鱼对当前所处环境进行评价, 从而选择一种合适的行为执行。如先模拟执行觅食,聚群,追尾行为,然后评价行动后的目 标函数的值,选择最优行为执行。 (5)公告板在执行完一次迭代后将当前状态与公告板保存的状态进行比较,若 优于公告板中的状态则用自身状态更新公告板中的状态,否则公告板的状态不变。当整个 算法的迭代结束后,输出公告板的值,即为我们所求的最优值。

发明内容
有鉴于此,为了解决上述问题,为此,本发明提出一种嵌入式系统的能耗管理方
法,兼顾系统的能耗限制、实时性及可靠性,在降低嵌入式系统能耗的同时,保证任务执行 的实时性和可靠性。
本发明的目的是这样实现的嵌入式系统的能耗管理方法,包括如下步骤
1)对于嵌入式系统需执行的由n个实时周期任务组成的任务集,求解任务集内的 每个实时周期任务Ti的执行频率&的最优解,使得嵌入式系统的可靠性最大化,且执行所 有实时周期任务所需的能耗满足能耗约束条件,且所有实时周期任务满足时序约束;
2)嵌入式系统的处理器在执行实时周期任务Ti时,将处理器的频率设置为步骤 1)中解得的该实时周期任务的执行频率fi。 进一步,所述嵌入式系统的可靠性最大化是指该任务集内的实时周期任务的执行
频率f i满足下式<formula>formula see original document page 5</formula> 式中<formula>formula see original document page 5</formula> ,其中,e为自然指数,&表示实时周期任务Tt在最坏情况下
执行所需的时钟周期数<formula>formula see original document page 5</formula>,其中,a 。为执行频率最大时对应的系统
瞬时故障率均值,d为常数,为系统瞬时故障对处理器频率和电压的敏感度,fmin为经归一化
处理后的处理器频率最小值; 进一步,所述执行所有实时周期任务所需的能耗满足能耗约束条件是指该任务集 内的实时周期任务的执行频率fi满足以下约束
<formula>formula see original document page 5</formula> 式中,Ebudgrt为系统能耗约束值,Ei (fi)为执行任务&所需的能耗, <formula>formula see original document page 5</formula>,其中Pindi为执行实时周期任务&所需要消耗的与频率无关的动态 功耗,Crf为嵌入式处理器的有效开关电容; 进一步,所述所有实时周期任务满足时序约束是指执行频率&满足以下约束<formula>formula see original document page 5</formula> 式中,&为实时周期任务1\的执行截止期; 进一步,步骤1)中,使用人工鱼群算法对实时周期任务1\的执行频率&进行求 解; 进一步,使用人工鱼群算法对实时周期任务1\的执行频率f i进行求解具体包括如下步骤 11)初始化人工鱼群,人工鱼的状态数组X(X" X2, X3, X4 XM)中的每一个状态 值分别对应任务集中的一个实时周期任务的执行频率fi ;设置食物浓度函数F(X)为 II i^nRi(fi);计算每条人工鱼的奖赏值; 12)找出鱼群中最优的人工鱼,将其状态值记录到公告板;初始化算法参数;
13)每条人工鱼分别模拟执行觅食、追尾、聚群行为,选择最优行为作为该条人工 鱼最终执行的行为; 14)将步骤13)执行行为后的人工鱼状态与公告板记录的人工鱼的状态进行比 较,若优于公告板中记录的状态则用该人工鱼当前状态更新公告板中的状态,否则公告板 记录的状态不变; 15)重复步骤13、 14)的迭代,直到达到迭代完成条件,则输出公告板的记录的状 态,即执行频率fi的最优解; 进一步,步骤ll)中初始化人工鱼群的步骤具体包括 用一个NXM维的随机数组初始化人工鱼群,该数组的每一行表示一条人工鱼,即 该人工鱼群具有N条人工鱼,每条人工鱼包括一由M个状态值组成的状态数组,对应包括M 个任务实时周期任务的任务集;对每条人工鱼进行初始化,从人工鱼的第一个状态值开始, 依次随机分配一个执行频率,并使得该人工鱼对应的任务集满足时序约束和能耗约束条 件; 进一步,步骤12)中,初始化算法参数时预设公告板最优值连续不变化次数的最 大阈值;步骤15)中,迭代完成条件是指达到预设的公告板最优值连续不变化次数的最大 阈值。 本发明相对于现有技术,具有如下优点兼顾系统的能耗限制、实时性及可靠性, 在降低嵌入式系统能耗的同时,保证任务执行的实时性和可靠性;分别选择合适的能耗、实 时性和可靠性约束条件,使所得到的任务执行频率达到最优;由于具有三个约束条件,使任 务执行频率的求解成为一个具有复杂约束的非线性组合优化问题,而使用人工鱼群算法对 任务执行频率的最优解进行求解,具有收敛速度快、非劣解质量高、鲁棒性强的特点,能快 速,准确地求得最优解。 本发明的其它优点、目标,和特征在某种程度上将在随后的说明书中进行阐述,并 且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可 以从本发明的实践中得到教导。本发明的目标和其它优点可以通过下面的说明书,权利要 求书,以及附图中所特别指出的结构来实现和获得。


为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进 一步的详细描述 图1示出了嵌入式系统的能耗管理方法的流程示意图;
图2示出了使用鱼群算法求解最佳频率示意图。
具体实施例方式
以下将参照附图,对本发明的优选实施例进行详细的描述。 首先对本实施例所定义的嵌入式系统功耗模型、瞬时故障模型和任务模型进行详细描述。 嵌入式系统功耗模型
嵌入式系统功耗定义如下
<formula>formula see original document page 7</formula>
其中,Ps为静态功耗,即嵌入式系统处于休眠状态下的功耗;P^为常数,表示与处
理器频率无关的动态功耗,如外部存储器功耗等处理器外设的功耗;Pd为与处理器频率相关的动态功耗,包括处理器的动态功耗,以及其他任何与系统电压或处理器频率相关的功耗,定义如下
<formula>formula see original document page 7</formula>
其中a ,C^为嵌入式处理器的开关系数和负载电容,Vdd与f分别为嵌入式处理器的工作电压和频率。由于Vdd与f成线性关系,因此Pd可等效为
Pd = Ceff3 (3) 其中Cef为有效开关电容。式(1)中,&表示嵌入式系统当前的工作状态,若力=1则当前嵌入式系统正在运行,若A-O则当前嵌入式系统已关闭或处于休眠状态,此时嵌入式系统动态功耗为零。由此可见,降低处理器的工作频率可以降低频率相关的动态能耗,但由于任务执行时间的延长,嵌入式系统中与频率无关的动态能耗也会随之增加。因此,为了降低嵌入式系统的能耗,处理器的工作频率并不是越低越好,必然存在一个最佳的工作频率fra使嵌入式系统能耗最小 <formula>formula see original document page 7</formula>
若处理器工作频率低于fee,那么系统的能耗将会增加,甚至比处理器以较高频率运行时的系统能耗还要大,因此处理器的工作频率应大于任务执行的最佳频率。 瞬时故障模型 由于各种因素的影响(如硬件失效,电磁干扰,宇宙射线等),任务在执行过程中可能发生故障并导致任务执行失败,且瞬时故障的概率远高于永久故障的概率。研究表明系统的瞬时故障服从泊松分布,且泊松分布的参数A是处理器频率的函数
<formula>formula see original document page 7</formula>
假设处理器有M个离散的工作频率仏,f2,... fM},其中fmin = 4, f隨=fM(归一
化,令fMX = 1);则入。为频率fmax = 1时对应的均值,因此g(fmax) = 1。 d为常数,表示瞬时故障对处理器频率和电压的敏感度。由(5)可知,降低处理器的电压和频率会带来系统瞬时故障概率的指数上升。
任务模型 n个实时周期任务组成的任务集为W = {1\,T2,…,!U,各任务间相互独立,在0时刻均处于就绪状态,任务1\可用五元组表示为{Ci, Pindi, Pi, di, ,其中
(1) &表示1\在最坏情况下执行所需的时钟周期数(WCC)。
(2)Pindi表示执行任务1\消耗的与频率无关的动态功耗。
执行单个任务1\所需能耗为<formula>formula see original document page 8</formula>(6) 当频率为fM时,任务1\的能耗最小。 (3) Pi为任务1\的执行周期,&为任务1\执行的截止期,设截止期&和周期1\相等,如此,当任务的执行时间超过截止期则该任务执行失败。
(4)Ri(fi)为任务1\完成的概率,定义为 (7) 其中,入(fi)由(4)定义,&为1\的执行频率,咖随着&增大而增大。系统的可靠性为 <formula>formula see original document page 8</formula> (8) 所有任务均在一个可变电压处理器上执行,该处理器能在执行过程中动态地改变处理器的频率(忽略频率调整开销),假设处理器有M个离散的工作频率{^,&,…fj,其
中<formula>formula see original document page 8</formula> 该处理器的频率能在fmin到fmax (归一化,令fmax = 1)之间任意调节(忽略频率调节开销),任务1\在频率&下的执行时间ti为C乂fi,所需能耗为Ei(fi)。系统的总能耗约束记为Ebudgrt,执行所有任务的总能耗不得超过Ebudgrt。 综上,参见图l,本实施例的嵌入式系统的能耗管理方法,包括如下步骤
1)对于嵌入式系统需执行的由n个实时周期任务组成的任务集,求解任务集内的每个实时周期任务Ti的执行频率fi的最优解,使得嵌入式系统的可靠性最大化,即,所述嵌入式系统的可靠性最大化是指该任务集内的实时周期任务的执行频率4满足下式
<formula>formula see original document page 8</formula> 式中,《a)^-w4 ,其中,e为自然指数,&表示实时周期任务&在最坏情况下
执行所需的时钟周期数,/iC/;h;U(7;^4io^,其中,入。为执行频率最大时对应的系统瞬时故障率均值,d为常数,为系统瞬时故障对处理器频率和电压的敏感度,fmin为经归一化
处理后的处理器频率最小值; 且执行所有实时周期任务所需的能耗满足能耗约束条件,S卩,所述执行所有实时周期任务所需的能耗满足能耗约束条件是指该任务集内的实时周期任务的执行频率fi满足以下约束 <formula>formula see original document page 8</formula> 式中,Ebudgrt为系统能耗约束值,即电池所能提供的能量,Ei(fi)为执行任务&所
无关的动态功耗,该值为各个任务的固有属性,Crf为嵌入式处理器的有效开关电容;
且所有实时周期任务满足时序约束,S卩,所述所有实时周期任务满足时序约束是
需的能耗,《(y;h4,i+cvQ/;2 ,其中Pindi为执行实时周期任务Ti所需要消耗的与频率指执行频率fi满足以下约束
W.《一->0;。 式中,&为实时周期任务1\的执行截止期; 2)嵌入式系统的处理器在执行实时周期任务1\时,将处理器的频率设置为步骤1)中解得的该实时周期任务的执行频率fi。 步骤1)中,对实时周期任务1\的执行频率&的最优解进行求解可使用现有技术中的各种方法,但最佳的,由于该求解为一个具有复杂约束的非线性组合优化问题,因此利用人工鱼群算法对实时周期任务Ti的执行频率fi的最优解进行求解最为适合,参见图2,利用人工鱼群算法对实时周期任务1\的执行频率fi的最优解进行求解具体包括如下步骤
11)用一个NXM维的随机数组初始化人工鱼群,该数组的每一行表示一条人工鱼,即该人工鱼群具有N条人工鱼,每条人工鱼包括一由M个状态值组成的状态数组,对应一个具有M个实时周期任务的任务集,人工鱼的状态数组X(^,^,X3,X4…XM)中的每一个状态值分别对应任务集中的一个实时周期任务的执行频率4 ;从每条人工鱼的第一个状态值开始,依次随机分配一个执行频率,同时判断当前任务集是否满足时序约束和能耗约束条件,若不满足则对执行频率做相应调整,若仍不能满足,则暂时放弃当前的实时周期任务及其之后的实时周期任务,即将该人工鱼中自此之后的执行频率赋值为0 ;设置食物浓度(收益度)函数F(X)为11^,1^(4);计算每条人工鱼的奖赏值; 12)找出鱼群中最优的人工鱼,将其状态值记录到公告板;初始化算法参数,包括人工鱼的视野范围Vi sual ,拥挤度因子S ,步长st印,最大试探次数try皿mber ,公告板最优值连续不变化次数的最大阈值Maxbetter ;定义人工鱼Xt与Xj之间的距离为Distance", Xj) = | X「Xj | +1 X「Xj | ,表示不同时属于Xt与X」的元素的个数。定义人工鱼
Xi视野内的人工鱼中心位置为L,此一;7l^Z, ,Xj为Xi视野内的人工鱼(包括Xi)。
77, 」 13)每条人工鱼分别模拟执行觅食、追尾、聚群行为,选择最优行为作为该条人工鱼最终执行的行为;每次人工鱼状态发生改变时检查该人工鱼是否满足时序约束和能耗约束条件,若不满足则将其修正为一个与当前状态最相近的可行状态值;
觅食行为人工鱼Xi在其视野内随机选择一个状态Xj,即Distance", X》
X —Z
< Visual,若F(Xj) 〉F(Xi),则向该方向移动一步,即:义,=,.!尤_《| +《,否则重新随
机选择其他状态Xj,判断是否满足前进条件,若尝试try皿mber次后仍不满足前进条件则随机移动一步,则使得Xi到达一个新的状态,Xi = Xi+rand, rand为随机数;
追尾行为计算人工鱼Xi视野内的所有伙伴鱼的收益度,如果收益度最优伙伴Xj
一JT
的周围不太拥挤,则&朝此伙伴移动一步,《=^印'-《I + X,,否则执行觅食行为;聚群行为人工鱼Xi搜索其视野内的伙伴数目rif,及中心位置Xcenter,若F(Xcenter)
>F(X》inf< 5 ,则Xi朝伙伴的中心位置移动一步,^ "哗'^^:^+《,否则执行觅食行为;
9
14)将步骤13)执行行为并检查后的人工鱼状态与公告板记录的人工鱼的状态进行比较,若优于公告板中记录的状态则用该人工鱼当前状态更新公告板中的状态,否则公告板记录的状态不变; 15)重复步骤13、14)的迭代,直到达到迭代完成条件,本实施例的迭代完成条件为公告板最优值连续不变化次数达到最大阈值Maxbetter,则输出公告板的记录的状态,即执行频率4的最优解。 以上所述仅为本发明的优选实施例,并不用于限制本发明,显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
嵌入式系统的能耗管理方法,其特征在于,包括如下步骤1)对于嵌入式系统需执行的由n个实时周期任务组成的任务集,求解任务集内的每个实时周期任务Ti的执行频率fi的最优解,使得嵌入式系统的可靠性最大化,且执行所有实时周期任务所需的能耗满足能耗约束条件,且所有实时周期任务满足时序约束;2)嵌入式系统的处理器在执行实时周期任务Ti时,将处理器的频率设置为步骤1)中解得的该实时周期任务的执行频率fi。
2. 根据权利要求1所述的嵌入式系统的能耗管理方法,其特征在于所述嵌入式系统的可靠性最大化是指该任务集内的实时周期任务的执行频率fi满足下式<formula>formula see original document page 2</formula>式中,<formula>formula see original document page 2</formula>,,其中,e为自然指数,&表示实时周期任务&在最坏情况下执行所需的时钟周期数,;iC/;卜yi。gC/;h义。io^,其中,入。为执行频率最大时对应的系统瞬时故障率均值,d为常数,为系统瞬时故障对处理器频率和电压的敏感度,fmin为经归一化处理后的处理器频率最小值。
3. 根据权利要求i所述的嵌入式系统的能耗管理方法,其特征在于所述执行所有实时周期任务所需的能耗满足能耗约束条件是指该任务集内的实时周期任务的执行频率fi满足以下约束式中,Ebudgrt为系统能耗约束值,Ei(fi)为执行任务i\所需的能耗,= 4,,其中Pindi为执行实时周期任务Ti所需要消耗的与频率无关的动态功耗,crf为嵌入式处理器的有效开关电容。
4. 根据权利要求1所述的嵌入式系统的能耗管理方法,其特征在于所述所有实时周期任务满足时序约束是指执行频率fi满足以下约束<formula>formula see original document page 2</formula>式中,di为实时周期任务1\的执行截止期。
5. 根据权利要求1至4中任一项所述的嵌入式系统的能耗管理方法,其特征在于步骤1)中,使用人工鱼群算法对实时周期任务1\的执行频率&进行求解。
6. 根据权利要求5所述的嵌入式系统的能耗管理方法,其特征在于使用人工鱼群算法对实时周期任务Ti的执行频率&进行求解具体包括如下步骤11) 初始化人工鱼群,人工鱼的状态数组X(^,^,X3,^…XM)中的每一个状态值分别对应任务集中的一个实时周期任务的执行频率fi ;设置食物浓度函数F(X)为11 i^nRi(fi);计算每条人工鱼的奖赏值;12) 找出鱼群中最优的人工鱼,将其状态值记录到公告板;初始化算法参数;13) 每条人工鱼分别模拟执行觅食、追尾、聚群行为,选择最优行为作为该条人工鱼最终执行的行为;14) 将步骤13)执行行为后的人工鱼状态与公告板记录的人工鱼的状态进行比较,若优于公告板中记录的状态则用该人工鱼当前状态更新公告板中的状态,否则公告板记录的状态不变;15)重复步骤13、14)的迭代,直到达到迭代完成条件,则输出公告板的记录的状态,即执行频率fi的最优解。
7. 根据权利要求6所述的嵌入式系统的能耗管理方法,其特征在于步骤11)中初始化人工鱼群的步骤具体包括用一个NXM维的随机数组初始化人工鱼群,该数组的每一行表示一条人工鱼,即该人工鱼群具有N条人工鱼,每条人工鱼包括一 由M个状态值组成的状态数组,对应包括M个任务实时周期任务的任务集;对每条人工鱼进行初始化,从人工鱼的第一个状态值开始,依次随机分配一个执行频率,并使得该人工鱼对应的任务集满足时序约束和能耗约束条件。
8. 根据权利要求6所述的嵌入式系统的能耗管理方法,其特征在于步骤12)中,初始化算法参数时预设公告板最优值连续不变化次数的最大阈值;步骤15)中,迭代完成条件是指达到预设的公告板最优值连续不变化次数的最大阈值。
全文摘要
本发明提出一种嵌入式系统的能耗管理方法,特别适用于基于电池供电的嵌入式实时系统的能耗管理,在降低嵌入式系统能耗的同时,保证任务执行的实时性和可靠性,包括如下步骤对于嵌入式系统需执行的由n个实时周期任务组成的任务集,求解任务集内的每个实时周期任务Ti的执行频率fi的最优解,使得嵌入式系统的可靠性最大化,且执行所有实时周期任务所需的能耗满足能耗约束条件,且所有实时周期任务满足时序约束;嵌入式系统的处理器在执行实时周期任务Ti时,将处理器的频率设置为步骤中解得的该实时周期任务的执行频率fi;在进一步的技术方案中,使用人工鱼群算法对任务执行频率的最优解进行求解,具有收敛速度快、非劣解质量高、鲁棒性强的特点。
文档编号G06F1/32GK101710254SQ20091025094
公开日2010年5月19日 申请日期2009年12月22日 优先权日2009年12月22日
发明者付丽, 刘永锋, 罗钧 申请人:重庆大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1