本发明涉及计算机领域,尤其是一种安全关键任务调度分析方法。
背景技术:
随着嵌入式系统需求的复杂化以及多核技术的发展,基于多核平台的混合关键系统(mcs)应运而生。为了保证系统的安全,需要完成不同安全关键级任务在多核间的统一调度。可调度性分析在混合关键任务调度中起着至关重要的作用。而现有最流行的基于响应时间的可调度性分析方法,提出于论文《response-timeanalysisofmixedcriticalitysystemswithpessimisticfrequencyspecification》,出版于ieeeinternationalconferenceonembeddedandreal-timecomputingsystemsandapplications2014:237-246。论文中描述了固定优先级调度分析方法,该方法分析了通过给定的任务固定优先级,在调度由未知确切频率的外部事件触发的重复任务时实现安全关键任务调度和运行期间高的资源利用率之间的平衡,在以调用低安全关键任务为主的系统中能完成了系统需要的任务调度效果,同时cpu的利用率也很充分。但是在安全关键级提升后,高安全关键任务数量增多,通过该方法cpu总是选择优先级高的高安全关键任务处理,对低安全关键任务处理过于消极,容易引发cpu资源浪费,降低低安全关键任务调度成功率。
技术实现要素:
为了克服现有技术的不足,本发明提供一种基于最差响应时间的混合关键系统任务可调度性分析方法。
本发明解决其技术问题所采用的技术方案是的实现步骤如下:
步骤一、将安全关键任务wi表示为五元组
其中,wi:表示第i个关键任务,i为自然数,li表示任务wi的安全关键级别,li∈{lo,hi},lo表示最低安全关键级别,hi表示最高安全关键级别,si是任务wi的释放时间,即到达时间,
步骤二、用w={w1,w2,...wn}表示具有n个dm任务的混合双安全关键任务集,其中,dm为混合双关键任务;
步骤三、调度混合双安全关键任务的操作系统从lo-cri模式开始执行,lo-cri为低安全关键级模式;
步骤四、在lo-cri模式下,每一个任务wi根据lo-cri模式下的周期
步骤五、在lo-cri模式下,通过公式(1)迭代计算最差响应时间:
其中,
步骤六、在lo-cri模式下,如果lc任务和hc任务的实际运行时间均不超过当前模式下的绝对死限时间,进入执行步骤七,此时lc任务和hc任务都以plo周期释放作业;如果hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,跳转到步骤九执行;
步骤七、判断dm任务集,如果任务集中的所有任务都满足
步骤八、针对步骤七的可调度任务集,判断低安全关键(lc)任务是否超时,如果lc任务释放作业的执行时间超出了当前lc任务的绝对死限时间,将立即终止执行当前lc任务;
步骤九、当高安全关键hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,系统由低安全关键级通过两个提升过程为高安全关键级,所述提升过程为首先转换到hc/lc交叉作业状态,其次每个任务根据hi-cri模式下的ηhi来调整优先级,提升过程结束后的转化时刻记为t*,所述的hc/lc交叉作业状态分别为:hc交叉作业表示被hc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到hc任务状态;lc交叉作业表示被lc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到lc任务状态;
高安全关键模式下两种交叉作业的响应时间的详细步骤为:
1)分析高安全关键级模式的lc交叉作业响应时间;
如果有
如果有
如果
2)分析高安全关键级模式的hc交叉作业响应时间;
如果
如果
如果
步骤十:计算任务wi的交叉作业的最差响应时间为:
步骤十一、t*之后的作业之后的状态称为常规作业状态,系统由lo-cri模式提升为hi-cri模式之后,如果系统中不存在从lo-cri模式跨越到hi-cri模式的作业,即不存在交叉作业,称系统进入稳定的hi-cri运行模式,此时系统中只存在dm任务的常规作业,用n代表常规作业状态;
任务wi释放作业的最差响应时间只受到高优先级任务的影响,用
步骤十二、通过交叉作业最差响应时间加常规作业响应时间得到高安全关键模式下任务wi的最差响应时间:
步骤十三、分别比较
本发明的有益效果在于安全关键级提升时,本发明提出的最差响应时间分析方法能够在保证hc任务可调度性的前提下,为lc任务提供更好的服务;本发明的分析过程更加简化,更短的任务平均响应时间、更高的cup资源利用率,能够保持更高、更稳定的系统吞吐量。
具体实施方式
下面用实施例对本发明进一步说明。
在混合关键系统安全关键级提升后,由于对低安全关键任务消极处理,导致任务最差响应时间分析不充分、不准确,cpu空转周期长等问题,本发明以此为切入点进行混合关键任务调度方法的研究。提出一种基于最差响应时间的混合关键系统任务调度分析方法(erta)。首先给出混合双安全关键(dm)任务模型,并对系统行为重新定义;结合系统安全关键级转换时任务周期、优先级的变化,给出混合关键任务最差响应时间推导过程及任务集可调度性定理。最后,实例对比分析表明本发明的有效性。
步骤一、将安全关键任务wi表示为五元组
其中,wi:表示第i个关键任务,i为自然数,li表示任务wi的安全关键级别,li∈{lo,hi},lo表示最低安全关键级别,hi表示最高安全关键级别,si是任务wi的释放时间,即到达时间,
步骤二、用w={w1,w2,...wn}表示具有n个dm任务的混合双安全关键任务集,其中,dm为混合双关键任务;
步骤三、调度混合双安全关键任务的操作系统从lo-cri模式开始执行,lo-cri为低安全关键级模式;
步骤四、在lo-cri模式下,每一个任务wi根据lo-cri模式下的周期
步骤五、在lo-cri模式下,通过公式(1)迭代计算最差响应时间:
其中,
步骤六、在lo-cri模式下,如果lc任务和hc任务的实际运行时间均不超过当前模式下的绝对死限时间,进入执行步骤七,此时lc任务和hc任务都以plo周期释放作业;如果hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,跳转到步骤九执行;
注:hc:高安全关键任务。
lc:低安全关键任务。
hi-cri:高安全关键级模式。
lo-cri:低安全关键级模式。
步骤七、判断dm任务集,如果任务集中的所有任务都满足
步骤八、针对步骤七的可调度任务集,判断低安全关键(lc)任务是否超时,如果lc任务释放作业的执行时间超出了当前lc任务的绝对死限时间,将立即终止执行当前lc任务;
步骤九、当高安全关键hc任务实际执行时间超过其在lo-cri模式下的绝对死限时间,系统由低安全关键级通过两个提升过程为高安全关键级,所述提升过程为首先转换到hc/lc交叉作业状态,其次每个任务根据hi-cri模式下的ηhi来调整优先级,提升过程结束后的转化时刻记为t*,所述的hc/lc交叉作业状态分别为:hc交叉作业表示被hc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到hc任务状态;lc交叉作业表示被lc释放的任务,相当于处于等待的状态,再次被调用的时候恢复到lc任务状态;
高安全关键模式下两种交叉作业的响应时间的详细步骤为:
1)分析高安全关键级模式的lc交叉作业响应时间;
如果有
如果有
如果
2)分析高安全关键级模式的hc交叉作业响应时间;
如果
如果
如果
步骤十:计算任务wi的交叉作业的最差响应时间为:
步骤十一、t*之后的作业之后的状态称为常规作业状态,系统由lo-cri模式提升为hi-cri模式之后,如果系统中不存在从lo-cri模式跨越到hi-cri模式的作业,即不存在交叉作业,称系统进入稳定的hi-cri运行模式,此时系统中只存在dm任务的常规作业,用n代表常规作业状态;
任务wi释放作业的最差响应时间只受到高优先级任务的影响,用
步骤十二、通过交叉作业最差响应时间加常规作业响应时间得到高安全关键模式下任务wi的最差响应时间:
步骤十三、分别比较
本发明在于分析过程更加简化,更短的任务平均响应时间、更高的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分析方法均可保证三个任务的可调度性,且每个任务的最差响应时间相同,优先级相同
综上可知,在安全关键级提升时,本发明提出的最差响应时间分析方法能够在保证hc任务可调度性的前提下,为lc任务提供更好的服务。
本发明与现有技术相比,具有如下优点:分析过程更加简化,更短的任务平均响应时间、更高的cup资源利用率,能够保持更高、更稳定的系统吞吐量。