固定优先级待机备用系统利用率划分能耗优化方法与流程

文档序号:16067411发布日期:2018-11-24 12:48阅读:302来源:国知局

本发明涉及嵌入式实时系统领域固定优先级待机备用系统资源受限周期任务的低能耗实时调度,特别涉及一种固定优先级待机备用系统利用率划分能耗优化方法。

背景技术

嵌入式实时系统不仅要求任务在规定的时间内完成执行,而且要确保执行结果的正确。因此,其对实时性要求极其严格。此外,嵌入式实时系统通常采用电池供电,而电池发展技术落后,受体积和重量的限制,其续航能力有限。近年来,随着处理器技术的发展,处理器尺寸不断减少,所造成的能耗越来越高,高能耗不仅影响系统的使用寿命,而且会降低系统的可靠性,更重要的是会对环境造成破坏。因此,实时性、可靠性与低能耗成为制约嵌入式系统发展的重要因素。

待机备用系统是提高系统可靠性的一种重要技术,它由主处理器和备份处理器组成。可以将主任务与其相应的备份任务分配到不同的处理器执行,其中一个处理器的任务执行失败时,另外一个处理器的任务可以继续执行,这样系统可靠性可以得到提高。目前,针对待机备用系统的能耗优化方法的研究工作比较少,而仅有的少数研究主要针对动态优先级策略的系统,不能够适应于固定优先级应用,且这些研究的能耗偏高,抢占开销过大。



技术实现要素:

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种固定优先级待机备用系统利用率划分能耗优化方法,该方法通过利用率划分的方法将待机备用系统资源受限周期任务集分配到主处理器和备份处理器,确定主任务和备份任务的执行速度,利用dvs技术和dpm技术降低系统能耗。

本发明采用如下技术方案:

固定优先级待机备用系统利用率划分能耗优化方法,待机备用系统设有两个处理器,分别为主处理器和备用处理器,其特征在于:

通过利用率划分的方法,将待机备用系统的资源受限周期任务集分配到主处理器和备份处理器;

确定处理器速度切换开销;

利用单调速率策略调度可行的充分条件以及资源受限周期任务模型的速度下限sh,计算主任务执行的最低速度sm;

确定备份任务执行速度sb;

利用固定双优先级策略调度主处理器和备份处理器的任务;

回收待机备用系统产生的空闲时间,利用dvs技术和dpm技术,降低系统能耗。

所述资源受限周期任务集设有n个周期任务组,每个周期任务组设有参数完全相同的主任务和与之相应的备份任务,将每个周期任务按照其利用率ui从高到低排序;按照利用率从高到低依次将主任务分配到主处理器和备份处理器中;若共享相同资源的主任务被映射到相同处理器上,立即将其强制分配到另外的处理器上;当主任务被分配完毕之后,其相应的备份任务被分配到另外的处理器上。

确定处理器速度切换开销τi;其处理步骤如下:

τi=oi+ω

其中oi是处理器速度转换开销,ω是管理任务的时间开销,i为整数,取值范围为1到n。

所述主任务执行的最低速度sm,其计算方式如下:

sm=min{st,sh}

其中sh是资源受限周期任务模型的速度下限,st是单调速率策略调度可行的充分条件限制下的周期任务集的最低执行速度;st由下式计算:

st=lsrs+snrs

其中lsrs是资源需求任务集的最低执行速度,snrs是没有资源需求任务集的最低执行速度。

所述备份任务的执行速度由下式计算:

sb=smax

其中smax是处理器能够提供的最大速度。

所述固定双优先级策略包括两个优先级,初始优先级和执行优先级;初始优先级由单调速率策略分配,任务的周期越小,其优先级越高;执行优先级是在任务执行过程中确定的,执行优先级是共享相同资源任务的最大初始优先级,任务ti抢占任务tk当且仅当任务ti的初始优先级大于任务tk的执行优先级;主处理器任务按照固定双优先级策略调度:计算备份任务的延迟执行时间yi,如果主处理器的主任务ti顺利完成执行,取消其在备用处理器的备份任务bi的执行,如果主处理器的备份任务bk顺利完成执行,取消备用处理器的主任务tk的执行,i、k为整数,取值范围均为1-n,且i≠k。

所述固定双优先级策略调度是指:计算备份任务的延迟执行时间yi,如果备用处理器的主任务ti顺利完成执行,取消其在主处理器的备份任务bi的执行,如果备用处理器的备份任务bk顺利完成执行,取消主处理器的主任务tk的执行。

所述空闲时间包括任务提早完成执行产生的空闲时间、被取消的任务释放的预留时间以及任务没有释放处理器处于空闲状态的时间,将这些空闲时间利用dvs技术,降低主任务的执行速度;当且仅当处理器处于空闲状态时,利用dpm技术将处理器切换到低功耗状态降低能耗。

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

(1)本发明的方法比现有的备用待机系统周期任务调度方法节约大约8.15%能耗;

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

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

(4)系统可靠性得到有效地改善。

附图说明

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

图2为本发明实施例的归一化能耗与最坏时间与最好时间比值的仿真实验结果图。

具体实施方式

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

参见图1,本发明提供的一种固定优先级待机备用系统利用率划分能耗优化方法,包括如下步骤:

步骤101:通过利用率划分的方法,将待机备用系统资源受限周期任务集分配到主处理器和备份处理器。

待机备用系统由两个处理器组成,分别为主处理器和备用处理器;资源受限周期任务集由n个周期任务组成,每个周期任务ti由三元组(ei,ri,pi)组成,i为整数,取值范围为1到n,ei是任务ti最坏情况下的执行时间,ri是任务ti的资源需求,pi是任务ti的周期;其相应备份任务的参数与主任务的参数完全相同,将每个周期任务按照其利用率从高到低排序;利用率ui=ei/pi,排序后u1≥u2≥...≥un;按照利用率从高到低依次将主任务分配到主处理器和备份处理器中,一旦发现共享相同资源的主任务被分配到相同处理器上,立即将其强制分配到另外的处理器上,当主任务被分配完毕之后,其相应的备份任务被分配到另外的处理器上;即首先将任务t1分配到主处理器上,其相应的备份任务b1分配到备份处理器上;将任务t2分配到备份处理器上,将其相应的备份任务b2分配到主处理器上;以此类推,假如任务tk(2<k≤n)本应分配到主处理器(备份处理器)上,但检测发现主处理器(备份处理器)已经分配了与其共享相同资源的任务时,将其分配到备份处理器(主处理器)上。

步骤102:确定处理器速度切换开销τi。

其计算方式如下:

τi=oi+ω

其中ω是管理任务的时间开销,oi是处理器速度转换开销,其计算方式如下:

oi=k·|si-si-1|

其中k是待机备用系统相关的常数,si和si-1分别是处理器能够提供的速度。

步骤103:利用单调速率策略调度可行的充分条件以及资源受限周期任务模型的速度下限,计算主任务执行的最低速度sm。

主任务执行的最低速度sm,其计算方式如下:

sm=min{st,sh}

其中sh是资源受限周期任务模型的速度下限,其计算方式如下:

其中,k,n都是整数,gk是任务tk的最大阻塞时间,τi任务ti的处理器速度切换开销,f(k)是单调速率策略调度k个周期任务可行的利用率上界,其由下式计算:

st是单调速率策略调度可行的充分条件限制下的周期任务集的最低执行速度;st由下式计算:

st=lsrs+snrs

其中,lsrs是资源需求任务集的最低执行速度,其由下式计算:

其中,ri是任务ti的资源需求,srs(i)是使用资源的最低运行速度;其值由下式计算:

其中,ei是任务ti的最坏情况下执行时间,gi是任务ti的最大阻塞时间,hp(ti)是优先级比任务ti的优先级高的任务的集合,τi和τj分别是任务ti和tj的处理器速度切换开销,l是实数;snrs是没有资源需求任务集的最低执行速度,其值由下式计算:

其中,nrs是没有使用资源的任务集合,ui是任务ti的利用率,f(n)是单调速率策略调度n个周期任务可行的利用率上界,其值由下式计算:

其中n是整数。

步骤104:确定备份任务执行速度sb。

为了改善系统的可靠性,备份任务的执行速度由下式计算:

sb=smax

其中smax是处理器能够提供的最大速度。

步骤105:利用固定双优先级策略调度主处理器和备份处理器的任务。

固定双优先级策略由两个优先级组成,初始优先级和执行优先级;初始优先级由单调速率策略分配,任务的周期越小,其优先级越高;执行优先级是在任务执行过程中确定的,执行优先级是共享相同资源任务的最大初始优先级,任务ti抢占任务tk当且仅当任务ti的初始优先级大于任务tk的执行优先级;

主处理器任务按照固定双优先级策略调度:计算备份任务的延迟执行时间yi,如果主处理器的主任务ti顺利完成执行,取消其在备用处理器的备份任务bi的执行,如果主处理器的备份任务bk顺利完成执行,取消备用处理器的主任务tk的执行;

备用处理器任务按照固定双优先级策略调度:计算备份任务的延迟执行时间yi,如果备用处理器的主任务ti顺利完成执行,取消其在主处理器的备份任务bi的执行,如果备用处理器的备份任务bk顺利完成执行,取消主处理器的主任务tk的执行;

备份任务bi的延迟执行时间yi的计算方法如下:

yi=di-γi-t

其中,di是任务ti的绝对截止期限,t是当前时间,γi是任务ti最坏情况下的响应时间,通过迭代法计算出γi:

其中,m是整数,代表迭代的次数,gi是任务ti的最大阻塞时间,其计算方式如下:

其中,ri是任务ti的资源需求,rj是任务tj的资源需求,ej是任务tj最坏情况下的执行时间;φ(ti)是一个值为0或者1的函数,φ(ti)的计算方法如下:

其中,ri是任务ti的资源需求,rj是任务tj的资源需求,tj是任务tj的开始执行时间,rti是任务ti的释放时间;也就是说φ(ti)等于1当且仅当任务ti被任务tj阻塞;remk是任务tk的剩余执行时间,τi和τk分别是任务ti和tk的处理器速度切换开销,hp(ti)是优先级比任务ti的优先级高的任务的集合,ei是任务ti的最坏情况下的执行时间,si是任务ti的执行速度。

步骤106:回收系统产生的空闲时间,利用dvs技术和dpm技术,降低系统能耗。

系统产生的空闲时间主要包括任务提早完成执行产生的空闲时间、被取消的任务释放的预留时间以及任务没有释放处理器处于空闲状态的时间,将这些空闲时间利用dvs技术,降低主任务的执行速度,以降低处理器能耗;通过建立一个空闲时间回收队列回收空闲时间,所回收的任务提早完成执行产生的空闲时间以及被取消任务释放的预留时间sti由下式计算,

其中,remk是任务tk的剩余执行时间,wk是任务tk的剩余最坏情况下执行时间,ek是任务tk的最坏情况下执行时间,fk是任务tk已经执行的时间,其值满足0≤fk≤ek,hp(ti)是优先级比任务ti优先级高的任务集合,xk是常数,当任务顺利完成执行,xk=1;否则,xk=0;利用dvs技术降低后的主任务的执行速度smi由下式计算:

其中remi为任务ti的剩余执行时间,wi为任务ti的剩余最坏情况下的执行时间,ei为任务ti最坏情况下的执行时间,sti是任务ti的动态空闲时间;任务没有释放处理器处于空闲状态的时间id由下式计算:

id=next_arrive_time-t

其中next_arrive_time是最近一个任务的释放时间,t是当前时间;当且仅当处理器处于空闲状态且任务没有释放处理器处于空闲状态的时间id大于处理器状态切换开销时,利用dpm技术将处理器切换到低功耗状态降低能耗。

如图2所示,本实施例中,每个周期集包含8个周期任务。周期任务集共享两个资源r1和r2,任务是否有资源需求随机选择。每个周期任务ti的周期在[2.4,9.6]中选择,其最坏情况下的执行时间在0.035到其周期之间中随机选择。设置系统利用为0.5,考察最坏时间与最好时间之比对算法能耗的影响,最坏时间与最好时间的比值从1到10,步长为1。

图2中比较了三种方法。第一,bs(没有利用节能技术的固定优先级方法)方法,任务始终以最大处理器速度执行。第二,fpmpsa(利用dvs技术和dpm技术节能,但不能利用动态空闲时间降低能耗)。第三,本发明的方法(利用dvs技术和dpm技术节能,且能利用动态空闲时间降低能耗)。从图2中可以看出,所有方法的归一化能耗都受到最坏时间与最好时间的比值的影响。随着最坏时间与最好时间的比值上升,所有方法的归一化能耗都下降。这是因为最坏时间与最好时间的比值越高,导致任务的执行时间变短,所以系统能耗降低。本发明方法的归一化能耗低于bs和fpmpsa方法的归一化能耗。本发明方法与bs和fpmpsa方法相比分别节约大约48.29%和8.15%的能耗。

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

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