面向实时控制系统的降低任务延迟的设计方法技术方案

技术编号:14835831 阅读:67 留言:0更新日期:2017-03-17 03:40
本发明专利技术公开了一种面向实时控制系统的降低任务延迟的设计方法。本发明专利技术针对实时控制系统设计中采用完全不可抢占调度资源利用率低,采用提前任务截止期减小延迟效果有限等缺点,提出了利用固定抢占点调度来减小任务的输入输出延迟和采样延迟从而提高任务的控制性能。本发明专利技术重点考虑了最后一段不可抢占区域对输入输出延迟和采样延迟造成的影响,设计了降低任务输入输出延迟和采样延迟的方法,得到了在何种情形下可利用固定抢占点调度算法来减小输入输出延迟和采样延迟以提高控制系统的控制性能。

【技术实现步骤摘要】

本专利技术属于嵌入式实时操作系统领域,特别是一种面向实时控制系统的减小任务输入输出延迟和采样延迟的设计方法。
技术介绍
现代的控制系统通常需要在一个处理器平台上运行多个任务,包括了对延迟敏感的控制任务和对截止期敏感的实时任务。任务的截止期可通过实时调度算法如固定优先级调度和最早截止期优先调度来做出保证。然而多个任务调度引起的输入输出延迟和采样延迟在实时控制系统中却不可忽视,这些参数在设计阶段如果没有被仔细考虑,会影响控制性能甚至造成控制系统的不稳定性。为解决多个任务调度造成的延迟、抖动问题,一些实时控制系统的设计方法被提出。Nilsso和Matri等人提出了控制器补偿技术来降低系统的延迟和抖动以提升控制性能;Baruah和Shin等人的方法在保证任务集可调度的情况下来最小化任务的相对截止期,但该方法仅能有效减小部分任务的延迟。Crespo等人将控制任务划分为采样、计算、控制输出三个子任务,并限制采样和控制输出在任务开始和结束的一段时间内运行,该方法能够显著降低任务的输入输出抖动,然而却以增加输入输出延迟为代价。Buttazzo等人在实时控制系统中采用完全不可抢占的任务模型,该方法能够降低任务的输入输出延迟和抖动,然而却存在任务集资源利用率低等问题。为了降低任务的运行开销,提高任务最坏执行时间(WCET)的可预测性,多种限制抢占调度算法被提出,如推迟抢占调度(DPS),固定抢占点调度(FPP)和抢占阈值调度(PTS)。当使用固定抢占点调度时,相较于完全抢占的固定优先级调度,任务集的可调度性能够提高。但是固定抢占点调度的优点不仅仅局限于此,将该模型应用于控制系统中,特别是当最后不可抢占区域最大时,任务的输入输出延迟可以被减小。但是降低任务输入输出延迟的同时,却给高优先级任务带来更多的阻塞时间,并且一个任务最后一段不可抢占区域的大小可能会影响该任务的采样延迟。
技术实现思路
本专利技术针对现有技术的不足,提出了一种面向实时控制系统的减小任务输入输出延迟和采样延迟的设计方法,重点考虑了固定优先级调度中最后一段不可抢占区域对输入输出延迟和采样延迟造成的影响,设计了降低任务输入输出延迟和采样延迟的方法,得到了在何种情形下可利用固定抢占点调度算法来减小输入输出延迟和采样延迟以提高控制性能。步骤一:判断输入任务集是否在完全可抢占固定优先级调度下可调度。在一般情形下,固定优先级调度中最后一段抢占区域的大小可能会对该任务下一个实例的采样延迟造成影响,进而影响任务的最大采样延迟。故需要找到一个特定情形即完全可抢占调度下可调度的任务集,在该情形下,最后不可抢占区域的大小仅能影响该任务的输入输出延迟而不影响其采样延迟。将在步骤四通过采样延迟的计算给出找到该情形的办法。任务集是否在完全可抢占调度下可调度可通过判断任务最大响应时间与截止期之间的关系得出。步骤二:计算任务最大不可抢占区域大小。对于实时控制系统不仅要降低控制任务的输入输出延迟和采样延迟,还需要保证任务的可调度性。而不可抢占区域的大小会对任务的可调度性造成影响,因而需要计算在保证任务可调度性基础上最大不可抢占区域的大小。不同于刘铮等人、ChiYoungSong等人计算最大不可抢占区域的方法,只有对于在完全可抢占固定优先级调度下可调度的任务集,才可通过计算临界时刻后第一个实例的最大响应时间来计算任务最大不可抢占区域大小。步骤三:将控制任务最后一段设置为最大的不可抢占区域。根据对任务的输入输出延迟的分析,固定优先级调度中最后一段不可抢占区域越大对应着越小的输入输出延迟。可将控制任务的最后一段不可抢占区域设置为最大,该模型为FP-LNPR模型。步骤四:将非控制任务设置为完全可抢占。根据对任务的采样延迟的分析,固定优先级调度中阻塞时间越大对应着越大的采样延迟。当对非控制任务设置为完全可抢占时,控制任务的采样延迟将降到最低。本专利技术的有益效果:本专利技术重点考虑了最后一段不可抢占区域对输入输出延迟和采样延迟造成的影响,设计了降低任务输入输出延迟和采样延迟的方法,得到了在何种情形下可利用固定抢占点调度算法来减小输入输出延迟和采样延迟以提高控制系统的控制性能。附图说明图1:本专利技术的流程图;图2:不同任务模型的输入输出延迟比较;图3:不同任务模型的采样延迟比较;图4:不同任务模型的控制性能比较。具体实施方式以下结合附图1对本专利技术作进一步说明。步骤一:判断输入任务集是否在完全可抢占调度下可调度。输入的任务集中有n个任务,其中第i个任务由以下参数构成(Ci,Di,Ti),分别代表任务的最坏执行时间、截止期和周期。首先需要计算固定优先级调度下第i个任务的响应时间Ri,可通过如下的表达式给出:由于上述方程的左右两边都含有Ri参数,故需要采用以下的迭代方程进行求解:若该方程收敛,收敛的值即对应着该任务的响应时间Ri。若存在着Ri≤Di,则该任务为完全可抢占下可调度的任务。对所有的n个任务重复同样步骤,可判断该任务集是否是完全可抢占调度下可调度的任务集。步骤二:计算任务最大不可抢占区域大小对于一个完全可抢占下可调度的第i个任务来说,采用固定抢占点调度需要满足以下的条件:存在着满足以下的方程:Wi(t)+αi≤t(1)其中为第i个任务最后一段不可抢占区域大小,Wi(t)长为的时间内,第i个任务以及所有高优先级任务所需要运行的时间,可表示为:公式(1)中的αi为第i个任务的阻塞时间。对于方程(1)来说,不需要检查中的每一个点,仅需要检查该区间内不可连续的点,如根据方程(1),可以得到第i个任务的最大容忍时间βi,表示为:βi=max{t-Wi(t)本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/54/201611043373.html" title="面向实时控制系统的降低任务延迟的设计方法原文来自X技术">面向实时控制系统的降低任务延迟的设计方法</a>

【技术保护点】
面向实时控制系统的降低任务延迟的设计方法,其特征在于该方法包括以下步骤:步骤一:判断输入任务集是否在完全可抢占固定优先级调度下可调度;步骤二:只有对于在完全可抢占固定优先级调度下可调度的任务集,才可通过计算临界时刻后第一个实例的最大响应时间来计算任务最大不可抢占区域大小;步骤三:将控制任务最后一段设置为最大的不可抢占区域,具体是:(1)计算造成最大输入输出延迟时刻;该时刻对应于所有高优先级任务的同步释放,且该时刻距该任务开始执行仅有一段极小的时间;(2)计算最大输入输出延迟;将最大输入输出延迟的计算分为三个部分,即该任务开始运行到造成最大输入输出延迟时刻之间的一段极小的时间ε,除最后一段不可抢占区域的所有高优先级任务的响应时间以及最后一段不可抢占区域那么最大输入输出延迟表示为:WIOLiLNPR=ϵ+WOiP(Ci-qilast-ϵ)+qilast]]>其中表示在完全可抢占调度中长为时间内第i个任务的最大占据时间,即任务从开始运行长为的时间到任务重新开始运行一小段时间之间的间隔;根据最大响应时间与最大占据时间之间的关系式:WRiP(C)=limx->C-WOiP(x)]]>将最大输入输出延迟前面两项简化为:lim(ϵ+WOiP(Ci-qilast-ϵ))=limϵ->0WOiP(Ci-qilast-ϵ)+limϵ->0ϵ=WRiP(Ci-qilast)]]>则最大输入输出延迟表示为:WIOLiLNPR=WRiP(Ci-qilast)+qilast]]>(3)最大输入输出延迟与最后一段不可抢占区域关系;通过比较一个较大的不可抢占区域和一个稍短的不可抢占区域之间的输入输出延迟的关系,找到最后一段不可抢占区域与输入输出延迟的关系,即当最后一段不可抢占区域最大时对应着最小的输入输出延迟;(4)根据以上最后一段不可抢占区域大小与输入输出延迟的关系,将固定优先级调度的控制任务的最后一段不可抢占区域设置为最大;步骤四:将非控制任务设置为完全可抢占,具体是:计算何时不存在采样延迟自推现象,即释放在上一个实例最后不可抢占区域的高优先级任务不会对该实例的采样延迟造成影响;通过反证法来证明一个在完全可抢占调度下可调度的任务集不会产生该现象;计算不存在着采样延迟自推现象的任务,何种时刻该任务存在着最大的采样延迟;对于第i个任务,其在第i个任务的临界时刻后的第一个实例中可找到最大采样延迟;对于不存在采样延迟自推现象的任务集计算最大采样延迟;可对阻塞时间Bi=0和阻塞时间Bi>0分别讨论:WOi(k+1)=Bi+Wi(WOi(k)),Bi>0WOi(k+1)=Wi*(WOi(k)),Bi=0]]>根据以上计算采样延迟,对于不存在采样延迟自推现象的任务集计算阻塞时间与最大采样延迟的关系,最后不可抢占区域与最大采样延迟的关系;在固定优先级调度中越长的阻塞时间对应越大的采样延迟,而不可抢占区域大小不影响该任务的采样延迟大小;根据以上采样延迟和最后一段不可抢占区域关系,将非控制任务设置为完全可抢占。...

【技术特征摘要】
1.面向实时控制系统的降低任务延迟的设计方法,其特征在于该方法包括以下步骤:步骤一:判断输入任务集是否在完全可抢占固定优先级调度下可调度;步骤二:只有对于在完全可抢占固定优先级调度下可调度的任务集,才可通过计算临界时刻后第一个实例的最大响应时间来计算任务最大不可抢占区域大小;步骤三:将控制任务最后一段设置为最大的不可抢占区域,具体是:(1)计算造成最大输入输出延迟时刻;该时刻对应于所有高优先级任务的同步释放,且该时刻距该任务开始执行仅有一段极小的时间;(2)计算最大输入输出延迟;将最大输入输出延迟的计算分为三个部分,即该任务开始运行到造成最大输入输出延迟时刻之间的一段极小的时间ε,除最后一段不可抢占区域的所有高优先级任务的响应时间以及最后一段不可抢占区域那么最大输入输出延迟表示为:WIOLiLNPR=ϵ+WOiP(Ci-qilast-ϵ)+qilast]]>其中表示在完全可抢占调度中长为时间内第i个任务的最大占据时间,即任务从开始运行长为的时间到任务重新开始运行一小段时间之间的间隔;根据最大响应时间与最大占据时间之间的关系式:WRiP(C)=limx->C-WOiP(x)]]>将最大输入输出延迟前面两项简化为:lim(ϵ+WOiP(Ci-qilast-ϵ))=limϵ->0WOiP(Ci-qilast-ϵ)+limϵ->0ϵ=WRiP(Ci-qilast)]]>则最大输入输出延迟表示为:WIOLiLNPR=WRiP(Ci-qilast)+qilast]]>(3)最大输入输出延迟与最后一段不可抢占区域关系;通过比较一个较大的不可抢占区域和一个稍短的不可抢占区域之间的输入输出延迟的关系,找到最后一段不可抢占区域与输入输出延迟的关系,即当最后一段不可抢占区域最大时对应着最小的输入输出延迟;(4)根据以上最后一段不可抢占区域大小与输入输出延迟的关系,将固定优先级调度的控制任务的最后一段不可抢占区域设置为最大;步骤四:将非控制任务设置为完全可抢占,具体是:计算何时不存在采样延迟自推...

【专利技术属性】
技术研发人员:吴以凡周元斌张桦戴国骏曾虹
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1