一种硬实时系统能耗最优方法与流程

文档序号:12063090阅读:399来源:国知局
一种硬实时系统能耗最优方法与流程

本发明涉及嵌入式系统能耗管理技术领域,具体是一种硬实时系统能耗最优方法。



背景技术:

硬实时嵌入式系统在航空航天、通信、电力、机械制造等领域有着广泛的应用。硬实时系统对时限有严格的要求,一旦任务错误截止期限,会带来不可预料的后果,甚至导致严重的灾难。随着超大规模集成技术的快速发展,处理器的功耗逐渐增大,而采用电池供电的硬实时嵌入式系统,由于电池的体积与容量的限制,导致硬实时嵌入式设备的待机时间受限,这严重影响硬实时嵌入式设备的使用。因此,能耗问题成为设计硬实时嵌入式系统的瓶颈。目前绝大多数商业处理器和系统设备都能够支持动态电压调节(DVS)技术和动态功耗管理(DPM)技术这两种低功耗技术,这为降低系统能耗提供了可能。

硬实时嵌入式系统的能耗主要来自处理器和系统设备的能耗。常见的系统设备有LCD、内存、硬盘等等。现有的研究方法主要将处理器能耗和系统设备能耗单独分开研究,没有将这两个主题作为一个整体加以研究。也就是说,现有研究所计算出的处理器速度,仅仅对于处理器或者系统设备是最优的,但对于整个系统不是最优。针对现有研究方法的不足,提出节能效果更好,且能够满足硬实时系统时限要求的硬实时系统能耗最优速度方法。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种硬实时系统能耗最优速度方法,该方法根据设备的临界时间,利用DPM技术将设备切换到低功耗状态以降低系统能耗。

本发明解决其技术问题所采用的技术方案是:

一种硬实时系统能耗最优方法,包括:

计算硬实时系统中每个使用设备Dk的临界时间Bk;其中,k为整数;

将任务Ti所使用设备的临界时间按照非降的顺序进行排列;其中,i为整数;

根据所使用设备的临界时间,将任务Ti的空闲区间划分为m+1个子区间{Im,Im-1,…,I0};其中,m为大于等于1的整数;

分别计算任务Ti的响应时间属于所述子区间和不属于所述子区间时,执行任务Ti所消耗的总能耗Ei(S);其中,S表示处理器的运行速度;

求取总能耗Ei(S)的最小值,获得局部最优速度

根据局部最优速度计算全局最优速度

Bk的计算方法如下:

其中,为设备Dk状态转化的时间开销,为设备Dk状态转化的能耗开销,为设备Dk在活跃状态的功耗,为设备Dk在休眠状态的功耗,max表示求最大值。

的计算方法如下:

其中,表示设备Dk从活跃状态切换到休眠状态的时间开销,表示设备Dk从休眠状态切换到活跃状态的时间开销。

的计算方法如下:

其中,表示设备Dk从活跃状态切换到休眠状态的能耗开销,表示设备Dk从休眠状态切换到活跃状态的能耗开销。

所述将任务Ti所使用设备的临界时间按照非降的顺序进行排列,具体表示为:

B1≤B2≤…≤Bm≤di-ci

其中,di表示任务Ti的相对截止期限,ci表示任务Ti最坏情况下的执行时间,m表示任务Ti在执行过程中要使用设备个数。

所述根据所使用设备的临界时间,将任务Ti的空闲区间划分为m+1个子区间{Im,Im-1,…,I0},包括:

将空闲区间[ci,di]划分为m+1个子区间,划分方法如下:

{[ci,di-Bm],[di-Bm,di-Bm-1],…,[di-Bi+1,di-Bi],…,[di-B1,di]}

上述划分的m+1个子区间依次与{Im,Im-1,…,I0}中的m+1个子区间相对应,也就是Im表示区间[ci,di-Bm],Im-1表示[di-Bm,di-Bm-1],I0表示区间[di-B1,di]等等。

分别计算任务Ti的响应时间属于所述子区间和不属于所述子区间时,执行任务Ti所消耗的总能耗Ei(S),包括:

当任务Ti的响应时间Ri属于子区间Il时,Ei(S)计算方法如下:

当任务Ti的响应时间Ri不属于子区间Il时,Ei(S)计算方法如下:

其中,l为0≤l≤m之间的整数;a为与系统相关的常数,其取值范围为2≤a≤3;S为处理器的运行速度;di表示任务Ti的相对截止期限,ci表示任务Ti最坏情况下的执行时间;为设备Dj在活跃状态的功耗,j为1≤j≤m之间的整数,为设备Dj状态转化的能耗开销。

所述获得局部最优速度的步骤包括:

求Ei(S)的最小值min(Ei(S)),将min(Ei(S))对变量S进行求导,且将求导的结果设置为0,求解出其中为设备Dj在活跃状态的功耗;

当能够满足且时,表示任务Ti的响应时间Ri属于子区间Ii,求解出的为局部最优速度;其中,LLj和ULj分别为子区间Ii的下限和上限;

当不能够满足且时,表示任务Ti的响应时间Ri不属于子区间Ii,的取值置为

所述根据局部最优速度计算全局最优速度具体为:

全局最优速度只能在局部最优速度以及在确保系统任务满足截止期限情况下的最低速度Slow中进行选择,选择的方法为:

当时,否则,其中,

当且E(Smax)<Ebest,否则,其中Smax是处理器能够提供的最大运行速度,

本发明具有如下有益效果:

(1)系统能耗的降低,可以降低产品的生产成本,延迟设备的使用时间,减少电池的更换周期;

(2)本发明的方法比现有的方法平均节约大约43.48%的能耗。

以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种硬实时系统能耗最优方法不局限于实施例。

附图说明

图1为本发明方法的流程图示意图;

图2为本发明的实施例归一化能耗与任务最坏情况下执行时间的仿真实验结果图。

具体实施方式

参见图1,本发明提供的一种硬实时系统能耗最优方法,包括如下步骤:

步骤101:计算硬实时系统中每个使用设备Dk的临界时间Bk

硬实时任务Ti在执行过程中要使用设备集{D1,D2,…,Dm},每个设备Dk都存在临界时间Bk;设备的临界时间是指当设备能耗平衡的状态,也就是说在临界时间点,利用DPM技术切换设备到低功耗状态不会带来额外的能耗节约;当设备的空闲时间小于设备的临界时间时,利用DPM技术将设备切换到低功耗状态,反而会提高设备能耗。只有设备空闲时间大于其临界时间时,利用DPM技术将设备切换到低功耗状态,才可以降低设备能耗;设备Dk的临界时间Bk,其计算方法如下:

其中,为设备Dk状态转化的时间开销,为设备Dk状态转化的能耗开销,为设备Dk在活跃状态的功耗,为设备Dk在休眠状态的功耗,max表示求最大值。

的计算方法如下:

其中,表示设备Dk从活跃状态切换到休眠状态的时间开销,表示设备Dk从休眠状态切换到活跃状态的时间开销。

的计算方法如下:

其中,表示设备Dk从活跃状态切换到休眠状态的能耗开销,表示设备Dk从休眠状态切换到活跃状态的能耗开销。

步骤102:将任务Ti所使用设备的临界时间按照非降的顺序进行排列;

将任务Ti所使用设备的临界时间按照非降的顺序进行排列;其处理步骤如下:

B1≤B2≤…≤Bm≤di-ci

其中di,ci分别是任务Ti的相对截止期限和最坏情况下的执行时间;任务Ti所使用设备的临界时间必须小于或者等于任务Ti的最大空闲时间di-ci,因为任务完成执行时,将不在使用设备,使用设备的时间为其最坏情况下的执行时间,而任务的最坏情况下的执行时间会比其相对截止期限小。

步骤103:根据所使用设备的临界时间,将任务Ti的空闲区间划分为m+1个子区间{Im,Im-1,…,I0};

将空闲区间[ci,di]划分为m+1个子区间,划分方法如下:

{[ci,di-Bm],[di-Bm,di-Bm-1],…,[di-Bi+1,di-Bi],…,[di-B1,di]}

与此相对应的子区间为{Im,Im-1,…,I0},也就是Im表示区间[ci,di-Bm],Im-1表示[di-Bm,di-Bm-1],I0表示区间[di-B1,di]等等。

步骤104:分别计算任务Ti的响应时间属于所述子区间和不属于所述子区间时,执行任务Ti所消耗的总能耗Ei(S);

当任务Ti的响应时间Ri属于子区间Il时,Ei(S)计算方法如下:

当任务Ti的响应时间Ri不属于子区间Il时,Ei(S)计算方法如下:

其中,l为0≤l≤m之间的整数;a为与系统相关的常数,其取值范围为2≤a≤3;S为处理器的运行速度;di,ci分别是任务Ti的相对截止期限和最坏情况下的执行时间;为设备Dj在活跃状态的功耗,j为1≤j≤m之间的整数,为设备Dj状态转化的能耗开销。的计算方法为:

其中,表示设备Di从活跃状态切换到休眠状态的能耗开销,表示设备Di从休眠状态切换到活跃状态的能耗开销。

步骤105:求取总能耗Ei(S)的最小值,获得局部最优速度

局部最优速度其计算方法如下:

求Ei(S)的最小值(1)

且满足

其中LLj和ULj分别为子区间Ii的下限和上限;其计算方式如下:

LL0=di-B1,LLj=di-Bj+1,,LLm=ci;UL0=di,ULm=di-Bm;LLj=di-Bj

将公式(1)对变量S进行求导,且将求导的结果设置为0,求解出其中为设备Dj在活跃状态的功耗。当能够满足公式(2)和公式(3)时,也就是当任务Ti的响应时间Ri属于子区间Ii,就是局部最优速度;当不能够满足公式(2)和公式(3)时,也就是当任务Ti的响应时间Ri不属于子区间Ii,的取值为其中ci是任务Ti的最坏情况下的执行时间。

步骤106:根据局部最优速度计算全局最优速度

全局最优速度只能在局部最优速度以及在确保系统任务满足截止期限情况下的最低速度Slow中进行选择,而其中ci和di分别是任务Ti的最坏情况下的执行时间和相对截止期限;全局最优速度选择的方法为:

当时,否则,其中,

当且E(Smax)<Ebest,否则,其中Smax是处理器能够提供的最大运行速度,

如图2所示,本实施例中,任务Ti的执行过程中需要使用4个设备,每个设备活跃状态的功耗分别为0.19W,1.3W,0.125W,0.225W;每个设备处于休眠状态的功耗分别为0.085W,0.1W,0.001W,0.02W;每个设备的能耗切换开销分别为0.25W,1W,0.1W,0.2W;每个设备的时间切换开销为20ms,24ms,2ms,4ms;设置任务Ti的相对截止期限设置为di=44ms,考察其最坏情况下的执行时间ci对算法能耗的影响,ci的取值范围从2ms到20ms,其步长为1ms;图2中比较了两种方法:第一,MP方法,任务始终以满足其截止期限需求的最小速度执行,设备一直处于活跃状态;第二,本发明方法,任务以最优全局速度执行,且利用DPM技术关闭闲置设备;以MP方法在任务最坏情况下的执行时间等于20ms的能耗为基准进行归一化。

从图2中可以看出,所有方法的归一化能耗都受到任务最坏情况下执行时间的影响。当任务最坏情况下执行时间增加时,所有方法的归一化能耗上升。这是因为任务最坏情况下执行时间增加,所需的能耗增加;当任务最坏情况下执行时间较小时,本发明方法节约的能耗更多;随着任务最坏情况下执行时间增加,本发明方法节约的能耗逐渐减少,这是因为任务最坏情况下执行时间增加,设备可以利用的空闲时间减少,降低系统能耗的机会减少;总之,无论任务最坏情况下执行时间怎么变化,本发明方法的能耗都比MP方法少,经过计算可知,本发明方法比MP方法平均节约43.48的能耗。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1