一种自适应固定优先级半透视混合关键任务能耗优化方法

文档序号:33473860发布日期:2023-03-15 09:27阅读:33来源:国知局
一种自适应固定优先级半透视混合关键任务能耗优化方法

1.本发明涉及实时系统、工业控制系统以及混合关键系统的实时调度,特别涉及一种自适应固定优先级半透视混合关键任务能耗优化方法。


背景技术:

2.混合关键系统将不同关键层次的应用集成到同一个共享平台,以满足系统尺寸、重量以及能耗的需求。常见的混合关系系统如航天领域的控制系统,其国际标准为do-178c,该标准规定系统的任务具有五个关键层次a-e,a是最高关键层次,e是最低关键层次;采用电池供电的无人机是混合关键系统的典型应用,由于电池容量有限,能耗对其非常重要。
3.现有的混合关键调度的研究主要关注系统的调度性,考虑能耗方面的研究相对较少。仅有的少量研究主要关注非透视的混合关键模型,这样导致任务集可调度性很小,且系统的资源利用率低。因此,提出一种自适应固定优先级半透视混合关键任务能耗优化方法,该方法采用抢占固定优先级调度策略,且根据响应时间与其截止期限的关系,利用最佳优先级分配方法确定任务的优先级,最后确定能耗优化的速度,不仅有效地提高系统的利用率,而且能够降低系统能耗。


技术实现要素:

4.本发明的目的在于克服现有技术的不足,提供一种自适应固定优先级半透视混合关键任务能耗优化方法。
5.为了实现上述目的,本发明的技术方案是:
6.建立半透视非精确混合关键调度模型;
7.利用响应时间分析方法计算混合关键任务在系统处于低模式和高模式的响应时间;
8.根据响应时间与其截止期限的关系,利用最佳优先级分配方法确定任务的优先级;
9.计算任务集的能耗最优能耗速度;
10.所述建立半透视非精确混合关键调度模型;包括:
11.半透视混合关键任务模型与传统的非透视的混合关键任务模型相比,主要区别在于系统模式转换机制不一样;半透视混合关键模型,在高关键层次任务到达时,就可以知道系统是否会从低模式切换到高模式,而传统的非透视混合关键任务模型要等到高关键层次任务开始执行,且其执行时间超过低模式的执行时间,系统才从低模式切换到高模式;
12.单处理器上建立半透视非精确混合关键周期任务集γ={τ1,τ2,

,τn},使用抢占固定优先级策略调度该任务集。混合关键周期任务τi(1≤i≤n,i为整数)由四元组{ti,di,ξi,ci}组成,其中ti表示混合关键周期任务τi的周期;di表示混合关键周期任务τi的相对截止期限,且其等于ti;ξi表示混合关键周期任务τi的关键层次,其可以表示为ξi={lo,hi},
混合关键周期任务τi的关键层次为lo时,其为低关键层次任务,混合关键周期任务τi的关键层次为hi时,其为高关键层次任务;ci表示混合关键周期任务τi的不同模式下的最坏情况下执行时间;ci(lo)和ci(hi)分别表示混合关键周期任务τi在低模式和高模式下的执行时间;非精确混合关键周期任务集与传统的混合关键周期任务模型相比,其区别主要在于系统处于高模式时,不仅高关键层次任务提高执行时间,而且为低关键层次任务提供降级服务。所谓的降级服务是指:在系统处于高模式时,低关键层次任务的执行时间低于其在系统处于低模式下的执行时间。而传统的混合关键周期任务模型,只执行高关键层次任务,舍弃所有的低关键层次任务。系统处于低模式是指任何任务τi,其执行时间都不超过ci(lo);系统处于高模式是指存在高关键层次任务τi,其执行时间超过ci(lo)但不超过ci(hi)且为低关键层次提供降级服务。如果混合关键周期任务τi为低关键层次任务,则ci(hi)《ci(lo);如果混合关键周期任务τi为高关键层次任务,则ci(hi)》=ci(lo)。所谓的固定优先级策略是指一旦任务的优先级确定以后,其优先级在执行过程中始终保持不变。
13.所述利用响应时间分析方法计算混合关键任务在系统处于低模式和高模式的响应时间;具体包括:
14.系统处于低模式时,任务τi的响应时间ri(lo)由下式计算:
[0015][0016]
其中,j是正整数代表任务的下标;hp(i)表示优先级比任务τi高的任务集合;ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间;
[0017]
系统处于高模式时,任务τi的响应时间ri(hi)由下式计算:
[0018][0019]
其中,ts是系统从低模式切换到高模式的时刻,ri(lo)是任务τi在低模式的响应时间,wi(lo)是任务τi在低模式的最坏情况下的开始执行时间,其计算公式由下式给出:
[0020][0021]
其中,cj(lo)表示任务τj在低模式的执行时间;j表示混合关键周期任务τj的周期。是满足ts《ri(lo)时,任务τi在高模式的响应时间;其计算公式由下式给出:
[0022][0023]
其中,j是正整数代表任务的下标;ts是系统从低模式切换到高模式的时刻;ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间;cj(hi)表示任务τj在高模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0024]
是满足ts《wi(lo)时,任务τi在高模式的响应时间,其计算公式由下式给出:
[0025][0026]
其中,j是正整数代表任务的下标;ts是系统从低模式切换到高模式的时刻;ci(hi)和cj(hi)分别表示任务τi和τj在高模式的执行时间;cj(lo)表示任务τj在低模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0027]
所述根据响应时间与其截止期限的关系,利用最佳优先级分配方法确定任务的优先级;包括:
[0028]
所述半透视非精确混合关键周期任务集γ={τ1,τ2,

,τn},其优先级的分配规则如下:
[0029]
1)将高关键层次任务按照其周期从大到小排序;
[0030]
2)将低关键层次任务按照其周期从大到小排序;
[0031]
3)先选择周期最大的高关键层次任务τi分配最低优先级;如果满足ri(lo)《di且ri(lo)《di,将最低优先级分配给它,且将其从高关键层次队里中移除;如果不满足,进入步骤4);
[0032]
4)选择周期最大的低关键层次任务τi分配最低优先级;如果满足ri(lo)《di且ri(lo)《di,将最低优先级分配给它,且将其从低关键层次队里中移除;如果不满足,说明任务集不可调度;
[0033]
5)重复步骤3)和4);分配次低优先级;直到所有的任务都分配优先级,或者任务集不可调度;
[0034]
所述根据计算任务集的能耗最优能耗速度s;其值由下式公式计算:
[0035][0036]
s.t.ri′
(lo)<diꢀꢀꢀ
(7)
[0037]
s.t.ri′
(hi)<diꢀꢀꢀ
(8)
[0038]
s.t.s
min
≤s≤1
ꢀꢀꢀ
(9)
[0039]
其中,p
ind
是处理器速度无关的功耗,θ是处理器最大动态功耗与静态功耗的比值;lcm是任务集γ中所有任务的超周期,也就是所有任务周期的最小公倍数;s
min
是处理器提供的归一化的最小速度;di表示混合关键周期任务τi的相对截止期限;r
′i(lo)和r
′i(hi)分别是任务τi以速度s在低模式和高模式的响应时间;ri′
(lo)和ri′
(hi)其公式分别如下所示:
[0040][0041]
其中,s表示所有任务在lo模式下的统一执行速度;ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间。
[0042]
[0043]
其中,ts是系统从低模式切换到高模式的时刻,是满足ts<ri′
(lo)时,任务τi以速度s在高模式的响应时间,其公式由下式给出
[0044][0045]
其中,ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间;s表示所有任务在lo模式下的统一执行速度;j是正整数代表任务的下标;cj(hi)表示任务τj在高模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0046]
是满足ts<wi′
(lo)时,任务τi以速度s在高模式下的响应时间,wi′
(lo)是任务τi以速度s在低模式的最坏情况下的开始执行时间,其计算公式由下式给出:
[0047][0048]
其中,cj(lo)表示任务τj在低模式的执行时间;tj表示混合关键周期任务τj的周期;s表示所有任务在lo模式下的统一执行速度。
[0049]
其计算公式由下式给出:
[0050][0051][0052]
其中,j是正整数代表任务的下标;ts是系统从低模式切换到高模式的时刻;ci(hi)和cj(hi)分别表示任务τi和τj在高模式的执行时间;cj(lo)表示任务τj在低模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0053]
由上述对本发明的描述可知,与现有技术相比,本发明具有如下有益效果:
[0054]
(1)本发明的方法比其它传统算法节约40.28%的能耗;
[0055]
(2)本发明方法在系统处于高模式时,能够为非关键层次任务提供降级服务,提高系统资源利用率;
[0056]
(3)本发明方法可以确保系统的实时性与可靠性;
[0057]
以下结合附图及实施例对本发明作进一步详细说明,但本发明的一种自适应固定优先级半透视混合关键任务能耗优化方法不局限于实施例。
附图说明
[0058]
图1为本发明方法的流程图示意图。
具体实施方式
[0059]
以下将结合本发明附图,对本发明实施例中的技术方案进行详细描述和讨论。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
[0060]
参见图1所示,本发明的一种自适应固定优先级半透视混合关键任务能耗优化方法,包括如下步骤:
[0061]
步骤1:建立非精确混合关键调度模型。
[0062]
半透视混合关键任务模型与传统的非透视的混合关键任务模型相比,主要区别在于系统模式转换机制不一样;半透视混合关键模型,在高关键层次任务到达时,就可以知道系统是否会从低模式切换到高模式,而传统的非透视混合关键任务模型要等到高关键层次任务开始执行,且其执行时间超过低模式的执行时间,系统才从低模式切换到高模式;
[0063]
单处理器上建立半透视非精确混合关键周期任务集γ={τ1,τ2,

,τ
ni
},使用抢占固定优先级策略调度该任务集。混合关键周期任务τi(1≤i≤n,i为整数)由四元组{ti,di,ξi,ci}组成,其中ti表示混合关键周期任务τi的周期;di表示混合关键周期任务τi的相对截止期限,且其等于ti;ξi表示混合关键周期任务τi的关键层次,其可以表示为ξi={lo,hi},混合关键周期任务τi的关键层次为lo时,其为低关键层次任务,混合关键周期任务τi的关键层次为hi时,其为高关键层次任务;ci表示混合关键周期任务τi的不同模式下的最坏情况下执行时间;ci(lo)和ci(hi)分别表示混合关键周期任务τi在低模式和高模式下的执行时间;非精确混合关键周期任务集与传统的混合关键周期任务模型相比,其区别主要在于系统处于高模式时,不仅高关键层次任务提高执行时间,而且为低关键层次任务提供降级服务。所谓的降级服务是指:在系统处于高模式时,低关键层次任务的执行时间低于其在系统处于低模式下的执行时间。而传统的混合关键周期任务模型,只执行高关键层次任务,舍弃所有的低关键层次任务。系统处于低模式是指任何任务τi,其执行时间都不超过ci(lo);系统处于高模式是指存在高关键层次任务τi,其执行时间超过ci(lo)但不超过ci(hi)且为低关键层次提供降级服务。如果混合关键周期任务τi为低关键层次任务,则ci(hi)《ci(lo);如果混合关键周期任务τi为高关键层次任务,则ci(hi)》=ci(lo)。所谓的固定优先级策略是指一旦任务的优先级确定以后,其优先级在执行过程中始终保持不变。
[0064]
步骤2:利用响应时间分析方法计算混合关键任务在系统处于低模式和高模式的响应时间。
[0065]
系统处于低模式时,任务τi的响应时间ri(lo)由下式计算:
[0066][0067]
其中,j是正整数代表任务的下标;hp(i)表示优先级比任务τi高的任务集合;ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间;
[0068]
系统处于高模式时,任务τi的响应时间ri(hi)由下式计算:
[0069][0070]
其中,ts是系统从低模式切换到高模式的时刻,ri(lo)是任务τi在低模式的响应时间,wi(lo)是任务τi在低模式的最坏情况下的开始执行时间,其计算公式由下式给出:
[0071]
[0072]
其中,cj(lo)表示任务τj在低模式的执行时间;j表示混合关键周期任务τj的周期。是满足ts《ri(lo)时,任务τi在高模式的响应时间;其计算公式由下式给出:
[0073][0074][0075]
其中,j是正整数代表任务的下标;ts是系统从低模式切换到高模式的时刻;ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间;cj(hi)表示任务τj在高模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0076]
是满足ts《wi(lo)时,任务τi在高模式的响应时间,其计算公式由下式给出:
[0077][0078]
其中,j是正整数代表任务的下标;ts是系统从低模式切换到高模式的时刻;ci(hi)和cj(hi)分别表示任务τi和τj在高模式的执行时间;cj(lo)表示任务τj在低模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0079]
步骤3:根据响应时间与其截止期限的关系,利用最佳优先级分配方法确定任务的优先级。
[0080]
给定的半透视非精确混合关键周期任务集γ={τ1,τ2,

,τn},其优先级的分配规则如下:
[0081]
1)将高关键层次任务按照其周期从大到小排序;
[0082]
2)将低关键层次任务按照其周期从大到小排序;
[0083]
3)先选择周期最大的高关键层次任务τi分配最低优先级;如果满足ri(lo)《di且ri(lo)《di,将最低优先级分配给它,且将其从高关键层次队里中移除;如果不满足,进入步骤4);
[0084]
4)选择周期最大的低关键层次任务τi分配最低优先级;如果满足ri(lo)《di且ri(lo)《di,将最低优先级分配给它,且将其从低关键层次队里中移除;如果不满足,说明任务集不可调度;
[0085]
5)重复步骤3)和4);分配次低优先级;直到所有的任务都分配优先级,或者任务集不可调度;
[0086]
步骤4:计算任务集的能耗最优能耗速度。
[0087]
任务集的能耗最优能耗速度s由下式公式计算:
[0088]
[0089]
s.t.ri′
(lo)《diꢀꢀꢀ
(7)
[0090]
s.t.ri′
(hi)《diꢀꢀꢀ
(8)
[0091]
s.t.s
min
≤s≤1
ꢀꢀꢀ
(9)
[0092]
其中,p
ind
是处理器速度无关的功耗,θ是处理器最大动态功耗与静态功耗的比值;lcm是任务集γ中所有任务的超周期,也就是所有任务周期的最小公倍数;s
min
是处理器提供的归一化的最小速度;di表示混合关键周期任务τi的相对截止期限;ri′
(lo)和ri′
(hi)分别是任务τi以速度s在低模式和高模式的响应时间;ri′
(lo)和ri′
(hi)其公式分别如下所示:
[0093][0094]
其中,s表示所有任务在lo模式下的统一执行速度;ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间。
[0095][0096]
其中,ts是系统从低模式切换到高模式的时刻,是满足ts《ri′
(lo)时,任务τi以速度s在高模式的响应时间,其公式由下式给出
[0097][0098]
其中,ci(lo)和cj(lo)分别表示任务τi和τj在低模式的执行时间;s表示所有任务在lo模式下的统一执行速度;j是正整数代表任务的下标;cj(hi)表示任务τj在高模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0099]
是满足ts《wi′
(lo)时,任务τi以速度s在高模式下的响应时间,wi′
(lo)是任务τi以速度s在低模式的最坏情况下的开始执行时间,其计算公式由下式给出:
[0100][0101]
其中,cj(lo)表示任务τj在低模式的执行时间;tj表示混合关键周期任务τj的周期;s表示所有任务在lo模式下的统一执行速度。
[0102]
其计算公式由下式给出:
[0103][0104]
其中,j是正整数代表任务的下标;ts是系统从低模式切换到高模式的时刻;ci(hi)
和cj(hi)分别表示任务τi和τj在高模式的执行时间;cj(lo)表示任务τj在低模式的执行时间;hpl(i)和hph(i)分别表示优先级比任务τi高的低关键层次任务集合和高关键层次任务集合。
[0105]
本实施例中,混合周期任务集γ={τ1,τ2,τ3}包含3个周期任务;周期任务τ1的周期t1等于5,其相对截止期限d1为5,关键层次ξ1为lo,即其为低关键层次任务,其低模式最坏情况下执行时间c1(lo)为1;其高模式最坏情况下执行时间c1(hi)为0.5;周期任务τ2的周期t2等于20,其相对截止期限d2为20,关键层次ξ2为hi,即其为高关键层次任务,其低模式最坏情况下执行时间c2(lo)为5;其高模式最坏情况下执行时间c2(hi)为6;周期任务τ3的周期t3等于100,其相对截止期限d3为100,关键层次ξ3为hi,即其为高关键层次任务,其高模式最坏情况下执行时间c3(lo)为20;其高模式最坏情况下执行时间c3(hi)为30;根据本文算法规则对其分配优先级,得出任务τ1优先级最高,任务τ2优先级次之,任务τ3优先级最低;通过判断这种模式是可调度的,最终通过计算可知,能耗优化的速度s=0.65,本发明方法的能耗为50.46,其它方法能耗为84.50,节约了40.28%的能耗。
[0106]
以上仅为本发明实例中一个较佳的实施方案。但是,本发明并不限于上述实施方案,凡按本发明所做的任何均等变化和修饰,所产生的功能作用未超出本方案的范围时,均属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1