一种双模式资源受限周期任务能耗优化方法与流程

文档序号:17474872发布日期:2019-04-20 06:03阅读:233来源:国知局
一种双模式资源受限周期任务能耗优化方法与流程

本发明涉及嵌入式实时系统能耗管理技术领域,具体是一种双模式资源受限周期任务能耗优化方法。



背景技术:

近年来,随着处理器技术的飞速发展,cmos电路的尺寸越来越小,所集成的晶体管数量急剧增加,导致处理器的能耗越来越高。搭载处理器的嵌入式实时系统不仅对时限有一定的要求,而且随着应用的增加,系统的能耗越来越高。高能耗不仅影响系统的运行,降低处理器的使用寿命;而且还会对系统的可靠性造成影响。因此,低能耗已经成为设计嵌入式实时系统的一个重要目标。

现有的嵌入式实时系统根据不同的应用目标,可以将任务划分为周期任务与非周期任务。目前针对周期任务的能耗优化算法的研究主要关注在相互独立的周期任务模型上;而真实的嵌入式实时系统周期任务往往因为共享资源而存在相互依赖关系。但对资源受限周期任务的能耗优化算法的研究相对较少,仅有的少数研究都以单模式的同步速度调度周期任务或者只针对固定优先级系统,使得系统的节能效果不好。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种双模式资源受限周期任务能耗优化方法,该方法利用双模式速度调度周期任务,有效地降低系统能耗。

为了实现上述目的,本发明的技术方案是:

一种双模式资源受限周期任务能耗优化方法,包括:

建立具备关键区的周期任务模型;

计算独立模式下周期任务的速度si;

计算同步模式下周期任务的速度ss;

利用天花板协议确保任务能够互斥地访问关键区;

周期任务开始以独立模式下的速度si执行,当其进入关键区之后,周期任务以同步模式的速度ss执行;

所述建立具备关键区的周期任务模型,包括:

具备关键区的周期任务集由n个周期任务组成,周期任务ti(1≤i≤n;i,n为正整数)由三元组(ei,pi,zi)表示,其中ei是周期任务ti的最坏情况下执行时间,pi是周期任务ti的周期,在此模型中周期任务的相对截止期限等于其周期,zi是周期任务ti的关键区,其值为zi={zi1,zi2,…,zim},zij(1≤j≤m;j,m为正整数)为周期任务ti的第j个关键区;每个关键区都是非抢占的;每个关键区都使用一种共享资源,共享资源由{r1,r2,…,rm}表示;将周期任务按照其周期进行非降序排序,利用最早截止期限优先策略调度周期任务;

所述计算独立模式下周期任务的速度si;其值由下式计算:

si=max{scrit,sin}

其中,scrit是处理器能耗最优速度,sin是没有使用共同关键区的周期任务的执行速度,其值由下式计算:

其中,n是具备关键区的周期任务集中周期任务的个数;

所述计算同步模式下周期任务的速度ss,其值由下式计算:

ss=max{si,ssy}

其中,ssy是不同的周期任务使用同一关键区的速度,其值由下式计算:

其中,cj是优先级比周期任务tk的优先级低,且与周期任务tk使用相同的关键区的周期任务的最大关键区长度;

所述利用天花板协议确保任务能够互斥地访问关键区,包括:

当周期任务ti进入关键区之后,其继承使用该关键区周期任务的最大优先级;其它使用该关键区的周期任务被阻塞;只有当周期任务ti使用完该关键区之后,它的优先级恢复到原来的优先级,其它周期任务才能访问该关键区;

所述周期任务开始以独立模式下的速度si执行,当其进入关键区之后,周期任务以同步模式的速度ss执行,包括:

周期任务开始以独立模式下的速度si执行,当进入关键区之后,周期任务以同步模式的速度ss执行;此时周期任务继承使用该关键区任务的最大优先级,并且将所有使用该关键区的其它周期任务阻塞;只有该周期任务退出关键区之后,其它使用该关键区的周期任务才可以执行,并且以同步模式的速度ss执行。

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

(1)本发明的方法能有效降低系统的能耗,从而降低产品的生产成本,延长系统的使用时间,增加处理器的使用寿命;

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

(3)本发明的方法可以确保资源能够被互斥使用。

以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种双模式资源受限周期任务能耗优化方法不局限于实施例。

附图说明

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

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

具体实施方式

以下将结合本发明附图,对本发明实施例中的技术方案进行详细描述和讨论。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

参见图1所示,本发明提供的一种双模式资源受限周期任务能耗优化方法,包括如下步骤:

步骤101:建立具备关键区的周期任务模型;

具备关键区的周期任务集由n个周期任务组成,周期任务ti(1≤i≤n;i,n为正整数)由三元组(ei,pi,zi)表示,其中ei是周期任务ti的最坏情况下执行时间,pi是周期任务ti的周期,在此模型中周期任务的相对截止期限等于其周期,zi是周期任务ti的关键区,其值为zi={zi1,zi2,…,zim},zij(1≤j≤m;j,m为正整数)为周期任务ti的第j个关键区;每个关键区都是非抢占的;每个关键区都使用一种共享资源,共享资源由{r1,r2,…,rm}表示;将周期任务按照其周期进行非降序排序,即p1≤p2≤…≤pn;利用最早截止期限优先策略调度周期任务,最早截止期限优先策略是一种动态优先级调度策略,它根据任务的截止期限确定优先级;截止期限越小,其优先级越高;截止期限越大,其优先级越低;当周期任务的截止期限相同时,释放时间小的周期任务优先级高;当周期任务的截止期限与释放时间都相同时,下标小的周期任务优先级高;高优先级任务优先执行。

步骤102:计算独立模式下周期任务的速度si;

独立模式下周期任务的速度si由下式计算:

si=max{scrit,sin}

其中,scrit是处理器能耗最优速度,sin是没有使用共同关键区的周期任务的执行速度,其值由下式计算:

其中,n是具备关键区的周期任务集中周期任务的个数。

步骤103:计算同步模式下周期任务的速度ss;

同步模式下周期任务的速度ss,其值由下式计算:

ss=max{si,ssy}

其中,ssy是不同的周期任务使用同一关键区的速度,其值由下式计算:

其中cj是优先级比周期任务tk的优先级低,且与周期任务tk使用相同的关键区的周期任务的最大关键区长度,其值由下式计算:

cj=max{zj|pk<pj}(1≤k<j≤n)

其中,pk,pj分别是周期任务tk,tj的周期,zj是周期任务tj的关键区。

步骤104:利用天花板协议确保任务能够互斥地访问关键区;

当周期任务ti进入关键区之后,其继承使用该关键区周期任务的最大优先级;其它使用该关键区的周期任务被阻塞;只有当周期任务ti使用完该关键区之后,它的优先级恢复到原来的优先级,其它周期任务才能访问该关键区。

步骤105:周期任务开始以独立模式下的速度si执行,当其进入关键区之后,周期任务以同步模式的速度ss执行;

周期任务开始以独立模式下的速度si执行,当进入关键区之后,周期任务以同步模式的速度ss执行;此时周期任务继承使用该关键区任务的最大优先级,并且将所有使用该关键区的其它周期任务阻塞;只有该周期任务退出关键区之后,其它使用该关键区的周期任务才可以执行,并且以同步模式的速度ss执行;此时,该周期任务的优先级恢复到原来的优先级。

参见图2所示,本实施例中,每个周期任务集包含15个周期任务,周期任务ti的周期从区间[10,1000]中随机选择,周期任务ti的最坏情况下执行时间从1到其周期之间随机选择,其中7个周期任务具备关键区,余下的周期任务不具备关键区;图2中比较了两种方法:第一,单模式方法,周期任务始终以同步模式的速度执行;第二,本发明方法,周期任务开始以独立模式速度执行,但周期任务进入关键区,其将以同步模式速度执行,且被阻塞的任务也以同步模式的速度执行;以没有单模式方法在利用率等于0.85的能耗为基准进行归一化。

从图2中可以看出,所有方法的归一化能耗都受到系统利用率的影响。当系统利用率增加时,所有方法的归一化能耗上升。这是因为系统利用率增加,任务的执行时间增加,所需的能耗增加;无论系统利用率如何变化,本发明方法的能耗都比单模式方法的能耗低;总之,经过计算可知,本发明方法比单模式方法平均节约35.69%的能耗。

以上仅为本发明实例中一个较佳的实施方案。但是,本发明并不限于上述实施方案,凡按本发明所做的任何均等变化和修饰,所产生的功能作用未超出本方案的范围时,均属于本发明的保护范围。

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