基于最差响应时间的混合关键系统任务可调度性分析方法与流程

文档序号:17988681发布日期:2019-06-22 00:36阅读:264来源:国知局

本发明涉及计算机领域,尤其是一种安全关键任务调度分析方法。



背景技术:

随着嵌入式系统需求的复杂化以及多核技术的发展,基于多核平台的混合关键系统(mcs)应运而生。为了保证系统的安全,需要完成不同安全关键级任务在多核间的统一调度。可调度性分析在混合关键任务调度中起着至关重要的作用。而现有最流行的基于响应时间的可调度性分析方法,提出于论文《response-timeanalysisofmixedcriticalitysystemswithpessimisticfrequencyspecification》,出版于ieeeinternationalconferenceonembeddedandreal-timecomputingsystemsandapplications2014:237-246。论文中描述了固定优先级调度分析方法,该方法分析了通过给定的任务固定优先级,在调度由未知确切频率的外部事件触发的重复任务时实现安全关键任务调度和运行期间高的资源利用率之间的平衡,在以调用低安全关键任务为主的系统中能完成了系统需要的任务调度效果,同时cpu的利用率也很充分。但是在安全关键级提升后,高安全关键任务数量增多,通过该方法cpu总是选择优先级高的高安全关键任务处理,对低安全关键任务处理过于消极,容易引发cpu资源浪费,降低低安全关键任务调度成功率。



技术实现要素:

为了克服现有技术的不足,本发明提供一种基于最差响应时间的混合关键系统任务可调度性分析方法。

本发明解决其技术问题所采用的技术方案是的实现步骤如下:

步骤一、将安全关键任务wi表示为五元组形式;

其中,wi:表示第i个关键任务,i为自然数,li表示任务wi的安全关键级别,li∈{lo,hi},lo表示最低安全关键级别,hi表示最高安全关键级别,si是任务wi的释放时间,即到达时间,表示任务wi在不同模式下的最坏执行时间,其中*∈{lo,hi},代表当前系统的安全关键级别,表示任务wi在不同安全关键模式下的周期,表示不同安全关键模式下wi的优先级,表示任务wi的优先级高于任务wj,关键任务指在系统运行期间非常重要的任务;

步骤二、用w={w1,w2,...wn}表示具有n个dm任务的混合双安全关键任务集,其中,dm为混合双关键任务;

步骤三、调度混合双安全关键任务的操作系统从lo-cri模式开始执行,lo-cri为低安全关键级模式;

步骤四、在lo-cri模式下,每一个任务wi根据lo-cri模式下的周期释放作业,用表示任务wi释放的第j个作业,任务wi的释放时间记为绝对死限时间记为所有作业争夺处理器资源,处理器每次处理优先级最高的作业;

步骤五、在lo-cri模式下,通过公式(1)迭代计算最差响应时间:

其中,表示任务wi在lo-cri模式下的最差响应时间,hp*(i)表示在*模式下优先级高于wi的任务集合,同一任务的hphi(i)与hplo(i)并不一定相同,即如果当前所有任务的安全关键级别都满足高安全关键模式要求的时候两个集合是相同的,其余情况均不相同。

步骤六、在lo-cri模式下,如果lc任务和hc任务的实际运行时间均不超过当前模式下的绝对死限时间,进入执行步骤七,此时lc任务和hc任务都以plo周期释放作业;如果hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,跳转到步骤九执行;

步骤七、判断dm任务集,如果任务集中的所有任务都满足即所有任务的最差响应时间都不超过当前任务在lo-cri模式下的周期,则该任务集是可调度的;

步骤八、针对步骤七的可调度任务集,判断低安全关键(lc)任务是否超时,如果lc任务释放作业的执行时间超出了当前lc任务的绝对死限时间,将立即终止执行当前lc任务;

步骤九、当高安全关键hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,系统由低安全关键级通过两个提升过程为高安全关键级,所述提升过程为首先转换到hc/lc交叉作业状态,其次每个任务根据hi-cri模式下的ηhi来调整优先级,提升过程结束后的转化时刻记为t*,所述的hc/lc交叉作业状态分别为:hc交叉作业表示被hc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到hc任务状态;lc交叉作业表示被lc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到lc任务状态;

高安全关键模式下两种交叉作业的响应时间的详细步骤为:

1)分析高安全关键级模式的lc交叉作业响应时间;

如果有任务wj释放的作业会对任务wi释放的交叉作业的最差执行时间产生影响,该影响表现为安全关键模式转化时刻t*之前和及之后分为两部分,t*之前和t*之后的wj中的作业个数分别限定为则wj对wi的交叉作业的最差响应时间的影响的约束条件如下:

如果有wi的交叉作业的最差响应时间仅在t*之前受到lc任务wj的影响,该影响的约束条件为公式(3):

如果lc任务wj仅在t*之后影响wi交叉作业的最差响应时间,该影响的约束条件为公式(4):

2)分析高安全关键级模式的hc交叉作业响应时间;

如果时,无论处于lo-cri模式还是hi-cri模式,高优先级的hc任务wj会在模式转化t*前后影响wi的交叉作业的最坏响应时间计算,该影响的约束条件为公式(5):

如果时,wi释放的交叉作业仅在t*之前受到hc任务wj的影响的约束条件为:

如果时,hc任务wj仅在模式转换时刻t*之后影响wi交叉作业的响应时间计算,影响的的约束条件为:

步骤十:计算任务wi的交叉作业的最差响应时间为:

步骤十一、t*之后的作业之后的状态称为常规作业状态,系统由lo-cri模式提升为hi-cri模式之后,如果系统中不存在从lo-cri模式跨越到hi-cri模式的作业,即不存在交叉作业,称系统进入稳定的hi-cri运行模式,此时系统中只存在dm任务的常规作业,用n代表常规作业状态;

任务wi释放作业的最差响应时间只受到高优先级任务的影响,用表示,计算公式如下:

步骤十二、通过交叉作业最差响应时间加常规作业响应时间得到高安全关键模式下任务wi的最差响应时间:

步骤十三、分别比较如果那么该任务集是可调度的,否则立即终止执行当前hi任务。

本发明的有益效果在于安全关键级提升时,本发明提出的最差响应时间分析方法能够在保证hc任务可调度性的前提下,为lc任务提供更好的服务;本发明的分析过程更加简化,更短的任务平均响应时间、更高的cup资源利用率,能够保持更高、更稳定的系统吞吐量。

具体实施方式

下面用实施例对本发明进一步说明。

在混合关键系统安全关键级提升后,由于对低安全关键任务消极处理,导致任务最差响应时间分析不充分、不准确,cpu空转周期长等问题,本发明以此为切入点进行混合关键任务调度方法的研究。提出一种基于最差响应时间的混合关键系统任务调度分析方法(erta)。首先给出混合双安全关键(dm)任务模型,并对系统行为重新定义;结合系统安全关键级转换时任务周期、优先级的变化,给出混合关键任务最差响应时间推导过程及任务集可调度性定理。最后,实例对比分析表明本发明的有效性。

步骤一、将安全关键任务wi表示为五元组形式;

其中,wi:表示第i个关键任务,i为自然数,li表示任务wi的安全关键级别,li∈{lo,hi},lo表示最低安全关键级别,hi表示最高安全关键级别,si是任务wi的释放时间,即到达时间,表示任务wi在不同模式下的最坏执行时间,其中*∈{lo,hi},代表当前系统的安全关键级别,表示任务wi在不同安全关键模式下的周期,表示不同安全关键模式下wi的优先级,表示任务wi的优先级高于任务wj,关键任务指在系统运行期间非常重要的任务;

步骤二、用w={w1,w2,...wn}表示具有n个dm任务的混合双安全关键任务集,其中,dm为混合双关键任务;

步骤三、调度混合双安全关键任务的操作系统从lo-cri模式开始执行,lo-cri为低安全关键级模式;

步骤四、在lo-cri模式下,每一个任务wi根据lo-cri模式下的周期释放作业,用表示任务wi释放的第j个作业,任务wi的释放时间记为绝对死限时间记为所有作业争夺处理器资源,处理器每次处理优先级最高的作业;

步骤五、在lo-cri模式下,通过公式(1)迭代计算最差响应时间:

其中,表示任务wi在lo-cri模式下的最差响应时间,hp*(i)表示在*模式下优先级高于wi的任务集合,同一任务的hphi(i)与hplo(i)并不一定相同,即如果当前所有任务的安全关键级别都满足高安全关键模式要求的时候两个集合是相同的,其余情况均不相同。

步骤六、在lo-cri模式下,如果lc任务和hc任务的实际运行时间均不超过当前模式下的绝对死限时间,进入执行步骤七,此时lc任务和hc任务都以plo周期释放作业;如果hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,跳转到步骤九执行;

注:hc:高安全关键任务。

lc:低安全关键任务。

hi-cri:高安全关键级模式。

lo-cri:低安全关键级模式。

步骤七、判断dm任务集,如果任务集中的所有任务都满足即所有任务的最差响应时间都不超过当前任务在lo-cri模式下的周期,则该任务集是可调度的;

步骤八、针对步骤七的可调度任务集,判断低安全关键(lc)任务是否超时,如果lc任务释放作业的执行时间超出了当前lc任务的绝对死限时间,将立即终止执行当前lc任务;

步骤九、当高安全关键hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,系统由低安全关键级通过两个提升过程为高安全关键级,所述提升过程为首先转换到hc/lc交叉作业状态,其次每个任务根据hi-cri模式下的ηhi来调整优先级,提升过程结束后的转化时刻记为t*,所述的hc/lc交叉作业状态分别为:hc交叉作业表示被hc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到hc任务状态;lc交叉作业表示被lc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到lc任务状态;

高安全关键模式下两种交叉作业的响应时间的详细步骤为:

1)分析高安全关键级模式的lc交叉作业响应时间;

如果有任务wj释放的作业会对任务wi释放的交叉作业的最差执行时间产生影响,该影响表现为安全关键模式转化时刻t*之前和及之后分为两部分,t*之前和t*之后的wj中的作业个数分别限定为则wj对wi的交叉作业的最差响应时间的影响的约束条件如下:

如果有wi的交叉作业的最差响应时间仅在t*之前受到lc任务wj的影响,该影响的约束条件为公式(3):

如果lc任务wj仅在t*之后影响wi交叉作业的最差响应时间,该影响的约束条件为公式(4):

2)分析高安全关键级模式的hc交叉作业响应时间;

如果时,无论处于lo-cri模式还是hi-cri模式,高优先级的hc任务wj会在模式转化t*前后影响wi的交叉作业的最坏响应时间计算,该影响的约束条件为公式(5):

如果时,wi释放的交叉作业仅在t*之前受到hc任务wj的影响的约束条件为:

如果时,hc任务wj仅在模式转换时刻t*之后影响wi交叉作业的响应时间计算,影响的的约束条件为:

步骤十:计算任务wi的交叉作业的最差响应时间为:

步骤十一、t*之后的作业之后的状态称为常规作业状态,系统由lo-cri模式提升为hi-cri模式之后,如果系统中不存在从lo-cri模式跨越到hi-cri模式的作业,即不存在交叉作业,称系统进入稳定的hi-cri运行模式,此时系统中只存在dm任务的常规作业,用n代表常规作业状态;

任务wi释放作业的最差响应时间只受到高优先级任务的影响,用表示,计算公式如下:

步骤十二、通过交叉作业最差响应时间加常规作业响应时间得到高安全关键模式下任务wi的最差响应时间:

步骤十三、分别比较如果那么该任务集是可调度的,否则立即终止执行当前hi任务。

本发明在于分析过程更加简化,更短的任务平均响应时间、更高的cup资源利用率,能够保持更高、更稳定的系统吞吐量。

为了说明本发明提出最差响应时间能够保证hc任务满足可调度前提下,提高lc任务的可调度性,本发明通过实例分析的方式,将erta分析方法与目前广泛应用的《await-freemulti-wordcompare-and-swapoperation》中提到的amc-rtb方法进行对比。首先,给出如下的混合关键任务集w={w1,w2,w3},其中任务w1为lc任务,任务w2和w3为hc任务。各个任务的时间特性如下表所示:

任务集时间参数

在不同模型下的最坏响应时间

amc-rtb在hi-cri模式和lo-cri模式下的最差响应时间计算公式由公式(11)和公式(12)给出:

在lo-cri模式下,本发明的erta方法与amc-rtb方法计算公式相同,在hi-cri模式下计算公式为公式(13):

根据以上公式,分别对三个任务进行最差响应时间计算,计算结果见下表。

在不同模型下的最坏响应时间

由上表可看出,在lo-cri模式下,利用amc-rtb分析方法和本发明的erta分析方法均可保证三个任务的可调度性,且每个任务的最差响应时间相同,优先级相同当系统安全关键级提升后,amc-rtb分析方法,为了保证hc任务执行时间,将优先级最高的lc任务采取消极策略,直接丢弃,认为其不可调度。相反,利用本发明提出erta方法进行分析,此时允许lc任务w1在hi-cri模式下执行,并且计算出每一个任务的最差响应时间,其中任务w1和w2的最差响应时间相同,但任务w2周期为9,w1周期为28,所以通过优先级顺序重新调整,保证三个任务都满足可调度性条件,此时三个任务的优先级顺序变为

综上可知,在安全关键级提升时,本发明提出的最差响应时间分析方法能够在保证hc任务可调度性的前提下,为lc任务提供更好的服务。

本发明与现有技术相比,具有如下优点:分析过程更加简化,更短的任务平均响应时间、更高的cup资源利用率,能够保持更高、更稳定的系统吞吐量。

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