基于虚拟任务固定优先级混合关键系统调度方法与流程

文档序号:17988708发布日期:2019-06-22 00:36阅读:184来源:国知局
基于虚拟任务固定优先级混合关键系统调度方法与流程

本发明涉及混合关键系统实时调度,特别涉及一种基于虚拟任务固定优先级混合关键系统调度方法。



背景技术:

混合关键系统是指在同一个平台上完成多种功能且满足功耗、成本、体积限制的嵌入式实时系统。常见的混合关键系统有飞机的飞行控制系统以及无人机的控制系统。混合关键系统不仅对运行结果的正确性有严格的要求,而且对其结果的时限也有严格的要求,必须确保所有任务在其截止期限内完成执行,否则会造成严重的后果。因此,实时性与资源的合理分配对于确保系统的正常运行尤其重要,而实时调度方法是确保系统正确运行的关键。

目前针对混合关键系统的研究主要集中在系统的可行性分析上,缺少统一的调度方法,且这些研究往往时间复杂度高、运行开销大,不能直接应用经典的实时调度理论。



技术实现要素:

本发明的主要目的在于克服现有技术中的上述缺陷,提出一种基于虚拟任务固定优先级混合关键系统调度方法,该方法通过构建虚拟任务,将固定优先级双关键层次周期任务的调度问题,转换为经典的调度问题,有效地降低了双关键层次周期任务调度的时间开销。

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

一种基于虚拟任务固定优先级混合关键系统调度方法包括如下步骤:

建立基于单调速率策略双关键层次周期任务模型;

确定双关键层次周期任务调度正确的准则;

利用双关键层次周期任务的关键层次分配其优先级;

利用虚拟任务将双关键层次周期任务的调度问题,转换为经典的单调速率调度问题;

确定固定优先级双关键层次周期任务调度的可行性条件;

所述建立基于单调速率策略双关键层次周期任务模型,具体是:

基于单调速率策略双关键层次周期任务模型由n个周期任务的集合γ={τ1,τ2,…,τn}组成,每个周期任务用τi(1≤i≤n,i为整数)表示,而τ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(hi)=ci(lo);如果周期任务τi为高关键层次任务时,其ci(hi)>=ci(lo);周期任务集γ由单调速率策略调度;所谓的单调速率策略是指任务的优先级由其周期确定;周期越短,其优先级越高;周期越长,其优先级越高。

具体的,所述确定双关键层次周期任务调度正确的准则;包括:

在低关键层次模式下,所有的周期任务必须在其截止期限内完成执行,且其执行时间不能够超过其低关键层次模式的最坏情况下执行时间;

当高关键层次任务的执行时间超过其低关键层次模式的最坏情况下执行时间时,系统将从低关键层次模式转变为高关键层次模式,且所有的低关键层次任务都被舍弃;除此之外,所有的高关键层次任务必须在其截止期限内完成执行,且其执行时间不能够超过其高关键层次模式的最坏情况下执行时间。

具体的,所述利用双关键层次周期任务的关键层次分配其优先级;其处理步骤如下:

先按照任务的关键层次确定任务的优先级;关键层次越高,其优先级就越高;关键层次越低,其优先级就越低;在此基础上,按照任务的周期进一步确认任务的优先级;周期越短,其优先级越高;周期越长,其优先级就越低;如果任务的周期相同,任务的下标越小,其优先级越高。

具体的,所述利用虚拟任务将双关键层次周期任务的调度问题,转换为经典的单调速率调度问题;包括:

周期任务τi为高关键层次任务,而周期任务τj(j≠i,1≤j≤n,j为整数)为低关键层次任务,且ti>tj;这时双关键层次周期任务的调度问题就不是经典单调速率调度问题;通过对周期任务τi构建虚拟任务,即可将该调度问题转化为经典的单调速率调度问题;周期任务τi可以划分为k(k为正整数)个虚拟任务,k的值由下式计算:

每个虚拟任务βl(1≤l≤k,l为整数)的周期与其相对截止期限为tj,其关键层次与周期任务τi的关键层次相同,其在低关键层次模式最坏情况下的执行时间wl(lo)满足下式:

其在高关键层次模式最坏情况下的执行时间wl(hi)满足下式:

通过平均分配最坏情况下执行时间方法,确定虚拟任务的低关键层次模式最坏情况下的执行时间和高关键层次模式最坏情况下的执行时间;虚拟任务βl(1≤l≤k-1,l为整数)的低关键层次模式最坏情况下的执行时间wl(lo)由下式计算:

其中,ci(lo)是周期任务τi在低关键层次模式最坏情况下执行时间,k是虚拟任务的个数;而虚拟任务βk低关键层次模式最坏情况下的执行时间wk(lo)由下式计算:

其中,ti和tj分别是周期任务τi和τj的周期;虚拟任务βl(1≤l≤k-1,l为整数)的高关键层次模式最坏情况下的执行时间wl(hi)由下式计算:

其中,ci(hi)是周期任务τi在高关键层次模式最坏情况下执行时间,k是虚拟任务的个数;而虚拟任务βk在高关键层次模式最坏情况下的执行时间wk(hi)由下式计算:

具体的,所述固定优先级双关键层次周期任务调度的可行性条件由下式确定:

其中,是周期任务集γ在低关键层次模式低关键层次任务的利用率,其值由下式计算:

其中,ti是周期任务τi的周期,ξi是周期任务τi的关键层次,lo代表低关键层次,ci(lo)是周期任务τi在低关键层次模式最坏情况下执行时间;是周期任务集γ在低关键层次模式高关键层次任务的利用率,其值由下式计算:

其中,ti是周期任务τi的周期,ξi是周期任务τi的关键层次,hi代表高关键层次,ci(lo)是周期任务τi在低关键层次模式最坏情况下执行时间;是周期任务集γ在高关键层次模式高关键层次任务的利用率,其值由下式计算:

其中,ti是周期任务τi的周期,ξi是周期任务τi的关键层次,hi代表高关键层次,ci(hi)是周期任务τi在高关键层次模式最坏情况下执行时间;f(n)是单调速率策略调度可行的利用率上界。

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

(1)本发明的方法与现有的方法相比具有更低的运行开销,更高的可预测性,更低的时间复杂度;

(2)本发明方法能够确保双关键层次周期任务在其截止期限内完成执行;

(3)本发明方法的可行性条件更简单。

附图说明

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

具体实施方式

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

参见图1,本发明提供的一种基于虚拟任务固定优先级混合关键系统调度方法,包括如下步骤:

步骤101:建立基于单调速率策略双关键层次周期任务模型。

基于单调速率策略双关键层次周期任务模型由n个周期任务的集合γ={τ1,τ2,…,τn}组成,每个周期任务用τi(1≤i≤n,i为整数)表示,而τ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(hi)=ci(lo);如果周期任务τi为高关键层次任务时,其ci(hi)>=ci(lo);周期任务集合γ由单调速率策略调度;所谓的单调速率策略是指任务的优先级由其周期确定;周期越短,其优先级越高;周期越长,其优先级越高。

步骤102:确定双关键层次周期任务调度正确的准则。

在低关键层次模式下,所有的周期任务必须在其截止期限内完成执行,且其执行时间不能够超过其低关键层次模式的最坏情况下执行时间;当高关键层次任务的执行时间超过其低关键层次模式的最坏情况下执行时间时,系统将从低关键层次模式转变为高关键层次模式,且所有的低关键层次任务都被舍弃;除此之外(当高关键层次任务的执行时间不超过其低关键层次模式的最坏情况下执行时间时,系统在低关键层次模式下执行),所有的高关键层次任务必须在其截止期限内完成执行,且其执行时间不能够超过其高关键层次模式的最坏情况下执行时间。

综上,所述低关键层次任务是指任务的关键层次为lo,并且其ci(hi)=ci(lo);ci(lo)和ci(hi)分别为周期任务τi在低关键层次模式和高关键层次模式下的最坏情况下执行时间;高关键层次任务是指任务的关键层次为hi,并且其ci(hi)>=ci(lo);低关键层次模式是指所有任务的真实执行时间都不超过去其最坏情况下执行时间;而高关键层次模式是指高关键层次任务的真实执行时间超过其在低关键层次模式的最坏情况下执行时间。

步骤103:利用双关键层次周期任务的关键层次分配其优先级。先按照任务的关键层次确定任务的优先级;关键层次越高,其优先级就越高;关键层次越低,其优先级就越低;在此基础上,按照任务的周期进一步确认任务的优先级;周期越短,其优先级越高;周期越长,其优先级就越低;如果任务的周期相同,任务的下标越小,其优先级越高。

步骤104:利用虚拟任务将双关键层次周期任务的调度问题,转换为经典的单调速率调度问题。

周期任务τi为高关键层次任务,而周期任务τj(j≠i,1≤j≤n,j为整数)为低关键层次任务,且ti>tj;这时双关键层次周期任务的调度问题就不是经典单调速率调度问题;通过对周期任务τi构建虚拟任务,即可将该调度问题转化为经典的单调速率调度问题;周期任务τi可以划分为k(k为正整数)个虚拟任务,k的值由下式计算:

每个虚拟任务βl(1≤l≤k,l为整数)的周期与其相对截止期限为tj,其关键层次与周期任务τi的关键层次相同,其在低关键层次模式最坏情况下的执行时间wl(lo)满足下式:

其在高关键层次模式最坏情况下的执行时间wl(hi)满足下式:

通过平均分配最坏情况下执行时间方法,确定虚拟任务的低关键层次模式最坏情况下的执行时间和高关键层次模式最坏情况下的执行时间;虚拟任务βl(1≤l≤k-1,l为整数)的低关键层次模式最坏情况下的执行时间wl(lo)由下式计算:

其中,ci(lo)是周期任务τi在低关键层次模式最坏情况下执行时间,k是虚拟任务的个数;而虚拟任务βk低关键层次模式最坏情况下的执行时间wk(lo)由下式计算:

其中,ti和tj分别是周期任务τi和τj的周期;虚拟任务βl(1≤l≤k-1,l为整数)的高关键层次模式最坏情况下的执行时间wl(hi)由下式计算:

其中,ci(hi)时周期任务τi在高关键层次模式最坏情况下执行时间,k是虚拟任务的个数;而虚拟任务βk高关键层次模式最坏情况下的执行时间wk(hi)由下式计算:

步骤105:确定固定优先级双关键层次周期任务调度的可行性条件。

固定优先级双关键层次周期任务调度的可行性条件由下式确定:

其中,是周期任务集γ在低关键层次模式低关键层次任务的利用率,其值由下式计算:

其中,ti是周期任务τi的周期,ξi是周期任务τi的关键层次,lo代表低关键层次,ci(lo)是周期任务τi在低关键层次模式最坏情况下执行时间;是周期任务集γ在低关键层次模式高关键层次任务的利用率,其值由下式计算:

其中,ti是周期任务τi的周期,ξi是周期任务τi的关键层次,hi代表高关键层次,ci(lo)是周期任务τi在低关键层次模式最坏情况下执行时间;是周期任务集γ在高关键层次模式高关键层次任务的利用率,其值由下式计算:

其中,ti是周期任务τi的周期,ξi是周期任务τi的关键层次,hi代表高关键层次,ci(hi)是周期任务τi在高关键层次模式最坏情况下执行时间;f(n)是单调速率策略调度可行的利用率上界,其计算方式如下:

其中,n为周期任务集γ中周期任务的个数。

本实施例中,混合周期任务集γ={τ1,τ2,τ3,τ4}包含4个周期任务;周期任务τ1的周期t1等于20,其相对截止期限为20,关键层次ξ1为hi,即其为高关键层次任务,其低关键层次模式最坏情况下执行时间c1(lo)为2;其高关键层次模式最坏情况下执行时间c1(hi)为4;周期任务τ2的周期t2等于40,其相对截止期限为40,关键层次ξ2为lo,即其为低关键层次任务,其低关键层次模式最坏情况下执行时间c2(lo)为4;其高关键层次模式最坏情况下执行时间c2(hi)为4;周期任务τ3的周期t3等于10,其相对截止期限为10,关键层次ξ3为hi,即其为高关键层次任务,其低关键层次模式最坏情况下执行时间c3(lo)为1;其高关键层次模式最坏情况下执行时间c3(hi)为2;周期任务τ4的周期t4等于15,其相对截止期限为15,关键层次ξ4为lo,即其为低关键层次任务,其低关键层次模式最坏情况下执行时间c4(lo)为3;其高关键层次模式最坏情况下执行时间c4(hi)为3;此例中,单调速率策略调度可行的利用率上界为0.76;根据关键层次分配周期任务的优先级,周期任务τ3的优先级最高,周期任务τ1的优先级次之,周期任务τ4的优先级再次之,周期任务τ2的优先级最低;注意到周期任务τ1的周期小于周期任务τ4的周期;但其优先级却高于周期τ4的优先级,因此造成优先级逆转问题,上述调度问题就不是经典的单调速率调度问题;现通过构建周期任务τ1的虚拟任务,可以将周期任务τ1划分为2个虚拟任务β1和β2;虚拟任务β1和β2的周期都为15,且它们的相对截止期限也都为15;虚拟任务β1和β2的关键层次都为hi;虚拟任务β1在低关键层次模式最坏情况下的执行时间为1;虚拟任务β2在低关键层次模式最坏情况下的执行时间为0.5;虚拟任务β1在高关键层次模式最坏情况下的执行时间为2;虚拟任务β2在高关键层次模式最坏情况下的执行时间为1;通过构建虚拟任务β1和β2,解决了优先级逆转问题;是周期任务集γ在低关键层次模式低关键层次任务的利用率,其值为0.3;是周期任务集γ在低关键层次模式高关键层次任务的利用率,其值为0.2;是周期任务集γ在高关键层次模式高关键层次任务的利用率,其值为0.4;成立且也成立;因此使用本发明的方法可以解决该周期任务集的调度问题。

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

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