固定优先级资源受限系统层次能耗优化方法与流程

文档序号:11690964阅读:215来源:国知局
固定优先级资源受限系统层次能耗优化方法与流程

本发明涉及嵌入式系统能耗管理技术领域,具体是固定优先级资源受限系统层次能耗优化方法。



背景技术:

嵌入式系统通常采用电池供电,而电池的寿命是有限的,且其提供的能耗也是有限的。因此,设计嵌入式实时系统必须考虑能耗问题。嵌入式系统的能耗主要来自cpu、内存、lcd、硬盘等io设备。动态电压调节(dvs)技术和动态功耗管理(dpm)技术是目前降低嵌入式系统能耗的常用技术。dvs技术根据系统的实时负载,通过计算系统产生的处理器空闲时间,调节处理器速度,降低处理器能耗。dpm技术主要是利用处理器空闲时间和设备空闲时间将处理器或者设备切换到低功耗状态以降低能耗。

对于嵌入式实时系统而言,时限性非常重要。很多研究者将实时调度理论与低功耗技术结合起来降低系统能耗。早期研究者的关注点主要集中在处理器能耗上,但随着嵌入式系统以及处理器技术的快速发展,处理器能耗在整个嵌入式系统的能耗占比在不断减少。这时有不少研究者关注嵌入式系统设备能耗。为了使整个系统的能耗降低。有少数研究者同时利用dvs技术和dpm技术,以降低系统层次能耗。但这些成果存在着缺陷:第一,考虑的系统模型过于理想化,只考虑相互独立的任务模型忽略系统的资源共享问题;第二,针对动态优先级系统,而不能够适用于固定优先级系统;第三,节能效果不够理想。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种固定优先级资源受限系统层次能耗优化方法,该方法考虑资源受限周期任务设备能耗调度问题,利用dvs技术降低cpu能耗,且利用dpm技术降低设备能耗,有效地降低系统层次能耗。

本发明所采用的技术方案是:

固定优先级资源受限系统层次能耗优化方法,其特征在于,包括如下步骤:

计算任务ti的系统层次最优速度

计算任务ti执行的低速度sl且将其与比较;

计算任务ti执行的高速度

计算设备di的设备空闲时间i(di);

利用相对截止期限单调策略和抢占阈值策略调度任务;

根据设备空闲时间i(di)降低设备能耗。

优选的,所述计算任务ti的系统层次最优速度其处理步骤如下:

计算出任务ti以速度s执行消耗的总能耗ei(s):

其中a为与系统相关的常数,其取值范围为2≤a≤3;s为处理器速度;di,w(ti)分别是任务ti的相对截止期限和最坏情况下的执行时间;为设备dj在活跃状态的功耗,j为1≤j≤m之间的整数,为设备dj状态转化的能耗开销,m为任务ti使用的设备总数,i为1≤i≤m之间的整数;对变量s求导,将求导后的表达式设置为0,求出任务ti的系统层次最优速度

优选的,所述计算任务ti执行的低速度sl且将其与比较,其处理步骤如下:

其中,p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间,n为周期任务集t中周期任务的个数,i为整数;scale为缩放因子;当时,设置

优选的,计算任务ti执行的高速度

其中,p(tj)、p(tk)分别表示任务ti、任务tj、任务tk的周期,i、j、k为整数;gj是任务tj的最大阻塞时间,1≤j≤n。

优选的,计算设备di的设备空闲时间i(di):

i(di)=lt(di)-t;

其中,lt(di)为设备di的最早被使用的时间,t表示当前时间,lt(di)的计算方法如下:

lt(di)=r(ti,j)+init(ti,j)-w(ti,j);

其中,ti,j是任务ti的第j个实例,r(ti,j)是任务实例ti,j的释放时间,init(ti,j)是分配给任务实例ti,j的初始执行时间,w(ti,j)是任务实例ti,j的最坏情况下执行时间,其值等于任务ti最坏情况下的执行时间。

优选的,预先通过相对截止期限单调策略和抢占阈值策略决定任务是否被抢占或者被阻塞,所述的利用相对截止期限单调策略和抢占阈值策略调度任务,其处理步骤如下:

(1)在调度点tsch,假如任务ti释放之前处理器处于空闲状态,任务ti以低速度sl执行;

(2)假如任务ti抢占任务tj,任务ti以低速度sl执行;

(3)假如任务ti被任务tj阻塞,tj以高速度执行,当任务tj完成执行时,任务ti以高速度执行。

优选的,所述的根据设备空闲时间i(di)降低设备能耗是指:当设备空闲时间i(di)大于其临界时间bi时,将设备di切换到低功耗状态,且设置其激活时间up(di)。

由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:

(1)能够确保资源受限周期任务在其截止期限内完成执行,且能够确保资源被互斥的使用;

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

(3)本发明的方法比现有的方法节约大约7.15%能耗。

附图说明

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

图2为本发明的实施例归一化节约能耗与系统利用率的仿真实验结果图。

具体实施方式

以下通过具体实施方式对本发明作进一步的描述。

参见图1,本发明提供的固定优先级资源受限系统层次能耗优化方法,包括如下步骤:

步骤101:所述计算任务ti的系统层次最优速度

本实施例中,具体步骤如下:

计算出任务ti以速度s执行消耗的总能耗ei(s):

其中a为与系统相关的常数,其取值范围为2≤a≤3;s为处理器速度;di,w(ti)分别是任务ti的相对截止期限和最坏情况下的执行时间;为设备dj在活跃状态的功耗,j为1≤j≤m之间的整数,为设备dj状态转化的能耗开销,m为任务ti使用的设备总数,i为1≤i≤m之间的整数;对变量s求导,将求导后的表达式设置为0,求出任务ti的系统层次最优速度其值为:其中a为与系统相关的常数,其取值范围为2≤a≤3;为设备dj在活跃状态的功耗,j为1≤j≤m之间的整数,i为1≤i≤m之间的整数。

步骤102:计算任务ti执行的低速度sl且将其与比较。

本实施例中,具体步骤如下:

其中,p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间,i为整数;scale为缩放因子;scale的值为n为周期任务集t中周期任务的个数;当时,设置

步骤103:计算任务ti执行的高速度

本实施例中,具体步骤如下:

其中,p(ti),p(tj),p(tk)分别表示任务ti,任务tj,任务tk的周期,i,j,k为整数;gj是任务tj的最大阻塞时间(1≤j≤n),sl为任务ti执行的低速度。

步骤104:计算设备di的设备空闲时间。

本实施例中,具体步骤如下:

i(di)=lt(di)-t;

其中,lt(di)为设备di的最早被使用的时间,t表示当前时间,lt(di)的计算方法如下:

lt(di)=r(ti,j)+init(ti,j)-w(ti,j);

其中,ti,j是任务ti的第j个实例,r(ti,j)是任务实例ti,j的释放时间,init(ti,j)是分配给任务实例ti,j的初始执行时间,w(ti,j)是任务实例ti,j的最坏情况下执行时间,其值等于任务ti最坏情况下的执行时间,init(ti,j)的处理器步骤如下:

先计算出系统静态空闲时间st,其值为

其中,llb(n)是单调速率策略调度周期任务的利用率上界,其值为n为周期任务集周期任务的个数;p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间;init(ti,j)的值的计算方法如下:

其中,st为系统静态空闲时间,n为周期任务集周期任务的个数,w(ti)是任务ti的最坏情况下的执行时间。

步骤105:利用相对截止期限单调策略和抢占阈值策略调度任务。

本实施例中,具体步骤如下:

(1)在调度点tsch,假如任务ti释放之前处理器处于空闲状态,任务ti以低速度sl执行;

(2)假如任务ti抢占任务tj,任务ti以低速度sl执行;

(3)假如任务ti被任务tj阻塞,tj以高速度执行,当任务tj完成执行时,任务ti以高速度执行;

任务是否被抢占或者被阻塞由相对截止期限单调策略和抢占阈值策略决定;相对截止期限策略根据任务的相对截止期限分配任务的优先级;任务的相对截止期限越大,其优先级越低;当任务的相对截止期限相同,任务的释放时间越小,其优先级越高;当任务的相对截止期限和其释放时间都相同时,任务的下标越小,其优先级就越高;抢占阈值策略为每个任务设置一个抢占阈值,只有任务的优先级超过其他任务的抢占阈值时,才可以抢占其他任务;为了减少设置抢占阈值的开销,对于使用资源的任务设置其抢占阈值为所有使用该资源任务的最大优先级,对于没有使用资源的任务,其抢占阈值直接设置为其优先级。

步骤106:根据设备空闲时间i(di)降低设备能耗。

本实施例中,具体步骤如下:

设备di的临界时间bi由下式计算:

其中,分别为设备di处于活跃状态和休眠状态的功耗;分别为设备di从活跃状态切换到休眠状态和从休眠状态切换到活跃状态的时间开销;分别为设备di从活跃状态切换到休眠状态和从休眠状态切换到活跃状态的能耗开销;

当设备空闲时间i(di)大于其临界时间bi时,将设备di切换到低功耗状态,且设置其激活时间up(di)。up(di)的计算方法如下:

其中lt(di)为设备di的最早被使用的时间,t表示当前时间,lt(di)的计算方法如下:

lt(di)=r(ti,j)+init(ti,j)-w(ti,j);

其中,ti,j是任务ti的第j个实例,r(ti,j)是任务实例ti,j的释放时间,init(ti,j)是分配给任务实例ti,j的初始执行时间,w(ti,j)是任务实例ti,j的最坏情况下执行时间,其值等于任务ti最坏情况下的执行时间,init(ti,j)的处理器步骤如下:

先计算出系统静态空闲时间st,其值为

其中,llb(n)是单调速率策略调度周期任务的利用率上界,其值为n为周期任务集周期任务的个数;p(ti)是任务ti的周期,w(ti)是任务ti的最坏情况下的执行时间;init(ti,j)的值的计算方法如下:

其中,st为系统静态空闲时间,n为周期任务集周期任务的个数;为设备di从休眠状态切换到活跃状态的时间开销;当当前时间等于设备的激活时间up(di),将设备切换到活跃状态。

如图2所示为本发明的实施例归一化节约能耗与系统利用率的仿真实验结果图。本实施例中,随机产生1000个周期任务集,每个周期任务集包含15个周期任务。周期任务ti的周期在区间[25ms,1300ms]中随机选择;周期任务ti的最坏情况下执行时间在1到其周期之间随机选择。实验中用到5个设备,设备分别标注为1,2,3,4,5。设备1,2,3,4,5处于活跃状态的功耗分别为0.19w,0.75w,1.3w,0.125w,0.225w;设备1,2,3,4,5处于休眠状态的功耗分别为0.085w,0.005w,0.1w,0.001w,0.02w;单位时间内设备1,2,3,4,5从休眠状态切换到活跃状态的能耗开销与其从活跃状态切换到休眠状态的能耗开销相等,且分别为0.125mj,0.1mj,0.5mj,0.05mj,0.1mj;设备1,2,3,4,5从休眠状态切换到活跃状态的时间开销与其从活跃状态切换到休眠状态的时间开销相等,且分别为10ms,40ms,12ms,1ms,2ms;考察系统利用率对归一化节约能耗的影响,系统利用率的范围为0.15到0.60,步长为0.05;在图2中实现三种方法:第一,本发明方法;第二,dpm_rm方法,任务始终以最大处理器速度执行,利用dpm技术降低设备能耗;第三,ds方法,没有利用dpm技术节能,所有设备处于活跃状态且任务以低速度或者高速度执行;

从图2可以看出,所以方法节约能耗都受到系统利用率影响。随着系统利用率增加,所有方法的归一化节约能耗都降低。这是因为,系统利用率增加,系统可利用的空闲时间减少,进而导致dvs或者dpm技术被用来降低能耗的机会减少。相对于其他方法,本发明方法节约更多的能耗。本发明方法与dpm_rm方法和ds方法相比分别可以多节约大约7.15%和68.84%的能耗。主要原因在于,本发明方法不仅可以利用dvs技术降低处理器能耗,而且可以利用dpm技术降低设备能耗。

上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

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