CN103164258A - 一种适用于数控系统的容错实时调度方法 - Google Patents

一种适用于数控系统的容错实时调度方法 Download PDF

Info

Publication number
CN103164258A
CN103164258A CN2011104154359A CN201110415435A CN103164258A CN 103164258 A CN103164258 A CN 103164258A CN 2011104154359 A CN2011104154359 A CN 2011104154359A CN 201110415435 A CN201110415435 A CN 201110415435A CN 103164258 A CN103164258 A CN 103164258A
Authority
CN
China
Prior art keywords
task
fault
time
tolerant
priority
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011104154359A
Other languages
English (en)
Other versions
CN103164258B (zh
Inventor
郭锐锋
刘娴
李�杰
王鸿亮
董磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Institute of Computing Technology of CAS
Original Assignee
Shenyang Institute of Computing Technology of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenyang Institute of Computing Technology of CAS filed Critical Shenyang Institute of Computing Technology of CAS
Priority to CN201110415435.9A priority Critical patent/CN103164258B/zh
Publication of CN103164258A publication Critical patent/CN103164258A/zh
Application granted granted Critical
Publication of CN103164258B publication Critical patent/CN103164258B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Retry When Errors Occur (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种适用于数控系统的容错实时调度方法,其步骤在于包括:按照固定优先级调度算法为任务分配初始优先级;设定数控系统中实时任务集的容错优先级配置,为各任务分配容错优先级;根据任务的初始优先级和容错优先级,对系统中的实时任务集进行容错实时调度,每个调度时刻选择优先级最高的任务执行;根据任务的调度情况计算任务的最坏响应时间;并通过比较最坏响应时间与任务的截止时限来判断任务是否可调度。该算法能够在基于容错优先级继承策略的容错调度算法的基础上,进一步提升硬实时系统的容错能力。

Description

一种适用于数控系统的容错实时调度方法
技术领域
本发明涉及实时系统领域的任务调度技术,具体是一种适用于数控系统的容错实时调度算法。
背景技术
实时系统作为军事、航空航天等安全关键领域的核心,具有严格的实时性及可靠性要求。作为实时系统的一种典型应用,数控系统的高精度、高效率等特点对其实时性及可靠性提出了更高的要求。数控机床一旦启动就连续不停地加工,任何不可靠因素或微小故障引发的实时任务超时,都可能影响精密零件的加工质量,甚至造成安全生产隐患。系统通常采用固定优先级实时调度算法来保证任务的实时性,此类方法实现简单、运行开销小且可预测性强,如速率单调算法(Rate Monotonic,RM)和时限单调算法(Deadline Monotonic,DM)。为了使系统具备容错能力以保证其可靠性,研究人员提出了多种容错模型。基于检查点的回卷恢复模型是一种广泛采用的容错模型。在该模型下,任务执行过程中,每隔一段时间记录其当前状态并作为检查点保存到可靠存储介质上。任务执行出错时,将回卷到其距离出错时刻最近的检查点,并从该检查点开始继续执行。研究人员对回卷恢复模型下的容错实时调度算法进行了研究。
经过对现有技术的文献检索发现,Sasikumar Punnekkat等发表的《Analysisof checkpointing for real-time systems》(刊物《Real-Time Systems》2001.20(1),p83-102)对回卷恢复模型下的RM算法进行研究,提出了容错优先级继承策略,任务出错时,继续以出错前的优先级参与调度。该策略实现简单,但由于任务出错后的响应时间增大,该策略可能导致任务无法在其截至时限内完成。
发明内容
针对现有技术中容错调度算法存在容错能力差等不足之处,本发明要解决的技术问题是提供一种基于容错优先级混合策略的容错实时调度算法,包括以下步骤:
步骤1)按照固定优先级调度算法为数控系统中实时任务分配初始优先级;
步骤2)设定数控系统中实时任务集的容错优先级配置,为各任务分配容错优先级;并采用最优容错优先级配置搜索算法搜索出系统中实时任务集的最优容错优先级配置;
步骤3)根据任务的初始优先级和容错优先级,对系统中的实时任务集进行容错实时调度,每个调度时刻选择优先级最高的任务执行;
步骤4)根据任务的调度情况计算任务的最坏响应时间;
步骤5)如果最坏响应时间大于任务的截止时限,该任务不可调度,系统调度失败;否则,该任务调度成功;
步骤6)对其他任务执行步骤3)到步骤5),至所有任务调度完毕。
所述任务τi的初始优先级为pi∈{1,2,...,n};
所述任务τi的容错优先级为
Figure BDA0000118861780000021
所述实时任务集的容错优先级配置Px表示为n元组<hx,1,hx,2,...,hx,n>,其中元素
Figure BDA0000118861780000022
且-(n-i)≤hx,i≤(i-1),其中,0≤i≤n,n为整数。
所述实时任务集为Γ={τ1,τ2,...,τn},根据容错优先级配置Px,由以下四类子集组成:
hp(i)是初始优先级高于pi的任务的集合,表示为hp(i)={τj∈Γ|pj>pi};
hfp(x,i)是Px下初始优先级高于
Figure BDA0000118861780000023
的任务的集合,表示为hfp(x,i)={τj∈Γ|pj>pi};
fp_hp(x,i)是Px下容错优先级高于pi的任务的集合,表示为
fp _ hp ( x , i ) = { &tau; j &Element; T | p &OverBar; j > p i } ;
fp_hfp(x,i)是Px下容错优先级高于
Figure BDA0000118861780000025
的任务的集合,表示为
hfp _ fp ( x , i ) = { &tau; j &Element; &Gamma; | p &OverBar; j > p &OverBar; i } .
所述最优容错优先级配置搜索算法包括以下步骤:
步骤1)计算当前Px与TE下各任务的最坏响应时间,判断系统的可调度性;
步骤2)如果系统可调度,则将当前Px与TE保存到临时变量
Figure BDA0000118861780000032
Figure BDA0000118861780000033
中,并尝试Px是否支持更小的TE
步骤3)如果系统可调度,则搜索新配置Px
此时
Figure BDA0000118861780000034
若D(x)包含τH,算法结束;
若D(x)不包含τH,对于Dext(x)中的τi,依次降低DecreaseSet(x,i)中各任务的容错优先级并验证新Px的有效性,取新Px下的TE(x)与当前TE中的较小者作为新的TE;对于Dint(x)中的τi,提升
Figure BDA0000118861780000035
使τi依次优先于IncreaseSet(x,i)中的各个任务,取新Px下的TE(x)与当前TE中的较小者作为新的TE
当TE小于其下限L、
Figure BDA0000118861780000036
Figure BDA0000118861780000037
时,无法找到更优的Px,算法终止。
其中,Dext(x)为集合,DecreaseSet(x,i)为容错优先级降低的任务集合,表示为
Figure BDA0000118861780000038
IncreaseSet(x,i)为
Figure BDA0000118861780000039
的提升范围的集合;表示为
所述最坏情况响应时间Ri=Ei+Ii+Fi
其中,Ei为τi自身执行的时间;Ii为τi被高优先级任务抢占执行的时间;Fi为错误导致的容错总开销;
所述最坏情况响应时间Ri的计算公式为:
R i ( x , T E ) = max ( R i ext ( x , T E ) , R i int ( x , T E ) ) - - - ( 1 )
Figure BDA0000118861780000041
为τi响应期间自身不出错时的最坏响应时间;为τi响应期间自身出错时的最坏响应时间。
所述
Figure BDA0000118861780000043
的计算公式为:
Figure BDA0000118861780000044
(2)
Figure BDA0000118861780000045
Ti、Tj、Tl表示τi、τj、τl的周期,Ci、Cj、Cl表示τi、τj、τl的最坏执行时间;mi、mj、ml表示τi、τj、τl被检查点分成的段数;Oi、Oj、Ol表示系统为τi、τj、τl建立一个检查点的时间开销;TE为系统的最小出错间隔。
所述
Figure BDA0000118861780000046
的计算公式为:
R i int ( x , T E ) = max q = 1,2 , . . . , ( m i - 1 ) ( R i int ( x , T E , q ) ) = max q = 1,2 , . . . , ( m i - 1 ) ( R i int 1 ( x , T E , q ) + R i int 0 ( x , T E , q ) ) - - - ( 5 )
所述
Figure BDA0000118861780000048
的计算公式为:
Figure BDA0000118861780000049
(3)
Figure BDA00001188617800000410
所述
Figure BDA00001188617800000411
的计算公式为:
Figure BDA00001188617800000412
Figure BDA00001188617800000413
Figure BDA00001188617800000414
Figure BDA00001188617800000415
其中,q为出错点,1≤q≤mi-1;Tk、Tr表示τk、τr的周期,Ck、Cr表示τk、τr的最坏执行时间;mk、mr表示τk、τr被检查点分成的段数;Ok、Or表示系统为τk、τr建立一个检查点的时间开销;i、l、k、r、m为整数。
所述任务的截止时限是根据数控系统的应用要求确定的。
本发明具有以下有益效果及优点:
该算法能够在基于容错优先级继承策略的容错调度算法的基础上,进一步提升硬实时系统的容错能力。
附图说明
图1为本发明调度方法的流程图;
图2为本发明中τi的内部错误最坏响应时间
Figure BDA0000118861780000051
(x,y,z,TE)的计算示意图;
图3为本发明的最优的容错优先级混合配置搜索算法流程图;
图4为本发明在不同处理器利用率下ΔTe值变化曲线。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明适用于数控系统的任务调度方法的调度过程如图1所示:
按照固定优先级调度算法为数控系统中的各个实时任务分配初始优先级;
按照容错优先级混合配置策略为数控系统中的各个实时任务分配容错优先级,采用最优容错优先级配置搜索算法搜索出系统中实时任务集的最优容错优先级配置,以使系统容错能力最强;
根据任务的初始优先级和容错优先级,对系统中的实时任务集进行容错实时调度,每个调度时刻选择优先级最高的任务执行;
根据任务的调度情况计算任务在容错优先级混合策略下的最坏情况响应时间,并通过比较最坏响应时间与任务的截止时限来判断任务是否可调度。
容错优先级混合配置策略是指当任务运行出错时,可将其容错优先级配置为高于、等于或低于其初始优先级。
下面结合最优容错优先级混合配置搜索算法作进一步地详细描述。
根据回卷恢复容错机制,本发明确定了数控系统的计算模型:系统中的实时周期性任务τi表示为五元组<Ti,Di,Ci,mi,Oi>,其中Ti、Di、Ci分别表示τi的周期、截止时限、最坏执行时间;mi表示τi被检查点分成的段数;Oi表示系统为τi建立一个检查点的时间开销。数控系统的实时任务集合表示为Γ={τ1,τ2,...,τn}。采用固定优先级调度算法作为基础调度,为任务τi分配一个固定且唯一的初始优先级pi∈{1,2,...,n}。为了实现容错处理,系统为τi分配一个出错后使用的容错优先级
Figure BDA0000118861780000061
根据容错优先级混合策略,任务的容错优先级可高于、等于或低于其初始优先级,本发明提出任务集Γ的容错优先级配置Px的定义如下:
定义1.Px是任务集Γ的一组容错优先级配置,表示为n元组<hx,1,hx,2,...,hx,n>,其中元素
Figure BDA0000118861780000062
且-(n-i)≤hx,i≤(i-1)。
其中元素hx,i表示τi的pi相对于pi的降幅,它使
Figure BDA0000118861780000063
的取值介于1与n之间。当Px=<0,0,...,0>时,容错优先级混合策略与容错优先级继承策略一致。
根据容错优先级配置P(x),可定义任务集Γ的以下几类子集:
定义2.hp(i)是初始优先级高于pi的任务的集合,表示为hp(i)={τj∈Γ|pj>pi}。
定义3.hfp(x,i)是P(x)下初始优先级高于
Figure BDA0000118861780000064
的任务的集合,表示为
hfp ( x , i ) = { &tau; j &Element; &Gamma; | p j > p &OverBar; i } .
定义4.fp_hp(x,i)是P(x)下容错优先级高于pi的任务的集合,表示为
fp _ hp ( x , i ) = { &tau; j &Element; T | p &OverBar; j > p i } .
定义5.fp_hfp(x,i)是P(x)下容错优先级高于
Figure BDA0000118861780000067
的任务的集合,表示为
hfp _ fp ( x , i ) = { &tau; j &Element; &Gamma; | p &OverBar; j > p &OverBar; i } .
为了判断系统的可调度性,本发明推导出了容错优先级混合策略下任务最坏响应时间的计算公式。在容错实时调度下,任务τi的最坏响应时间Ri包含三部分:(1)τi自身执行的时间Ei;(2)τi被高优先级任务抢占执行的时间Ii;(3)错误导致的容错总开销Fi。即Ri=Ei+Ii+Fi。Ri的计算不仅受容错优先级配置P(x)的影响,还受系统的最小出错间隔TE的影响,TE的定义如下。
定义6.TE是系统允许的两个连续发生的错误之间的最小时间间隔。当出错间隔小于TE时,系统不可调度。采用TE来衡量系统容错能力,TE越小,系统容错能力越强。
因此,Ri可表示为P(x)与TE的函数Ri(x,TE)。根据任务自身出错与不出错的不同响应情况,分别计算Ri(x,TE):(a)τi响应期间自身不出错时的最坏响应时间计为
Figure BDA0000118861780000071
(b)τi响应期间自身出错时的最坏响应时间计为
Figure BDA0000118861780000072
Ri(x,TE)取两种最坏响应时间中的较大值,即:
R i ( x , T E ) = max ( R i ext ( x , T E ) , R i int ( x , T E ) ) - - - ( 1 )
下面分别确定
Figure BDA0000118861780000074
Figure BDA0000118861780000075
的计算公式。
(a)
Figure BDA0000118861780000076
的计算
Figure BDA0000118861780000077
期间τi自身不出错,始终执行在初始优先级pi上。τi自身执行时间Ei包括最坏执行时间Ci及其所有检查点的总建立开销。最坏情况下,τi被集合hp(i)中的所有任务抢占,且在τi到达时集合(fp_hp(x,i)-hp(i))中某个任务τk刚好出错,Ii是这些抢占任务执行时间的累加。期间错误以1/TE的频率出现,任务τk每次回卷恢复容错的开销为为使Fi最大,所有错误均取最大容错开销。可推导出
Figure BDA00001188617800000710
的计算公式如下:
Figure BDA00001188617800000711
Figure BDA00001188617800000712
(b)
Figure BDA00001188617800000713
的计算
Figure BDA00001188617800000714
期间τi自身出错,如图2所示,假设τi以pi执行到第q(1≤q≤mi-1)个检查点时出错,它将回卷到第q-1个检查点,并以
Figure BDA00001188617800000715
继续参与调度。分为τi出错前后两部分计算,出错点q前后的响应时间分别计为
Figure BDA00001188617800000717
Figure BDA00001188617800000718
因为任务出错后的响应情况不受出错前的影响,为了便于计算,首先推导
Figure BDA00001188617800000719
的计算公式,再推导
Figure BDA00001188617800000720
的计算公式,最后确定 的计算
τi在第q出错后,回卷到第(q-1)个检查点开始执行余下部分,并建立了mi-q个检查点。期间,只有集合hfp(x,i)中的任务才可抢占τi执行。
Figure BDA0000118861780000082
期间的最大出错次数为
Figure BDA0000118861780000083
次,其中第一次发生在第q个检查点上,当余下
Figure BDA0000118861780000084
次均发生在τi或集合fp_hfp(x,i)中的任务上时,容错开销Fi最大。可推导出
Figure BDA0000118861780000085
的计算公式为:
Figure BDA0000118861780000086
Figure BDA0000118861780000087
R i int 0 ( x , T E , q ) 的计算
τi执行到第q个检查点出错时,已建立了q个检查点。期间τi被集合hp(i)中的任务抢占执行,最坏情况下,当τi到达时集合fp_hp(x,i)-hp(i)中的某个任务τk恰好出错并抢占τi执行。因为
Figure BDA0000118861780000089
计算Ii时需排除与
Figure BDA00001188617800000810
重叠的部分。同理,为了避免错误的重复计算,计算Fi时也需减去与
Figure BDA00001188617800000811
重叠的部分。
当Px中hx,i=0时,τi自身出错不影响
Figure BDA00001188617800000812
的计算,若τi的容错开销满足
Figure BDA00001188617800000813
则所有错误均发生在τi上时求得的
Figure BDA00001188617800000814
最大。因此,计算
Figure BDA00001188617800000815
时需考虑hx,i=0时τi自身出错的情况,此时需定义一个新的任务集合fp_hpe(x,i):
fp _ hpe ( x , i ) = fp _ hp ( x , i ) if h x , i < 0 fp _ hp ( x , i ) &cup; { i } if h x , i = 0
由上述分析可推导出
Figure BDA00001188617800000817
的计算公式为:
Figure BDA0000118861780000091
Figure BDA0000118861780000092
Figure BDA0000118861780000093
Figure BDA0000118861780000094
Figure BDA0000118861780000095
可确定 R i int ( x , T E , q ) = R i in t 0 ( x , T E , q ) + R i int 1 ( x , T E , q ) . R i int ( x , T E ) 则取所有可能的q值对应的
Figure BDA0000118861780000098
中的最大值:
R i int ( x , T E ) = max q = 1,2 , . . . , ( m i - 1 ) ( R i int ( x , T E , q ) ) = max q = 1,2 , . . . , ( m i - 1 ) ( R i int 1 ( x , T E , q ) + R i int 0 ( x , T E , q ) ) - - - ( 5 )
当系统中各个任务的最坏响应时间均不超过其截止时限,则系统是可调度,否则系统不可调度。
引入函数TE(x),它表示数控系统在当前容错优先级配置Px下可忍受的最小TE值。当TE取值小于TE(x)时,系统中必有任务不可调度,此类任务定义为主导任务。
定义7.当TE=Te(x,y,z)-1时,至少存在一个任务无法在截至时限内完成而导致系统不可调度,称这样的任务为主导任务。当前所有主导任务的集合称为主导任务集,用Z(x,y,z)表示此集合,则有D(x)={τi∈Γ|Ri(x,TE(x)-1)>Di}.其中,因外部错误而不可调度的任务构成集合
Figure BDA00001188617800000910
因自身出错而不可调度的任务构成集合 D int ( x ) = { &tau; i &Element; &Gamma; | R i int ( x , T E ( x ) - 1 ) > D i } .
为了获得最优的容错优先级混合配置,现有技术通过逐一尝试各种可能的配置Px,计算其对应的最小TE,其中对应最小TE的Px为最优配置。该技术的搜索空间过大,难以被实际应用采纳。
为了提高算法的搜索效率,本发明根据主导任务不可调度的原因推导出其调度性改善条件,并据此选择搜索路径。
(1)对于集合Dext(x)中的任务τi,可降低集合fp_hp(x,i)中任务τj的容错优先级,以缩短此时
Figure BDA00001188617800000913
相应延长。容错优先级降低的任务构成集合DecreaseSet(x,i):
Figure BDA0000118861780000101
(2)对于集合Dint(x)中的任务τi,可提升容错优先级pi,以缩短
Figure BDA0000118861780000102
Figure BDA0000118861780000103
提升后高于pj时,τj
Figure BDA0000118861780000104
相应延长。因此,
Figure BDA0000118861780000105
的提升范围由集合IncreaseSet(x,i)确定:
Figure BDA0000118861780000106
(3)若Γ中最高优先级任务τH∈D(x),H∈{1,2,...,n}。因所以
Figure BDA0000118861780000108
且pH不可提升,而降低pH将延长因此,容错优先级混合策略无法改善τH的可调度性。
算法过程:FTPCS_MS算法在采用FP(Γ)为Γ中各任务分配初始优先级后,从容错优先级配置Px=(0,0,...,0)及初始TE开始迭代搜索更优的Px,图3给出了该算法的流程图。迭代搜索过程分为两部分:(1)验证部分:计算当前Px与TE下各任务的最坏响应时间,判断系统的可调度性。若系统可调度,则将当前Px与TE保存到临时变量
Figure BDA00001188617800001010
Figure BDA00001188617800001011
中,并尝试Px是否支持更小的TE;(2)搜索部分:若当前Px与TE下存在任务不可调度,则搜索新配置Px。此时
Figure BDA00001188617800001012
若D(x)包含τH,则不存在使系统可调度的Px,算法提前结束;若D(x)不包含τH,则分析任务不可调度的原因,对于Dext(x)中的τi,依次降低DecreaseSet(x,i)中各任务的容错优先级并验证新Px的有效性,取新Px下的TE(x)与当前TE中的较小者作为新的TE,对于Dint(x)中的τi,提升
Figure BDA00001188617800001013
使τi依次优先于IncreaseSet(x,i)中的各个任务,取新Px下的TE(x)与当前TE中的较小者作为新的TE。当TE小于其下限L、
Figure BDA00001188617800001014
Figure BDA00001188617800001015
时,无法找到更优的Px,算法终止。此时,
Figure BDA00001188617800001016
保存的值即为最优Px
Figure BDA00001188617800001017
保存的值即为系统支持的最小TE,它表示系统的最大容错能力。
现在考虑FTPCS_MS算法的时间复杂度。在搜索更优的Px时,每降低或提升一个任务的容错优先级,需进行两次循环:第一次循环确定该容错优先级的变化幅度,第二次循环验证新Px的有效性并保存。设pi=n-i+1,最坏情况下|DecreaseSet(x,i)|+|IncreaseSet(x,i)|=2(i-1),且D(x)中包含Γ中除τH外的所有任务。此时,算法的总循环次数为
Figure BDA0000118861780000111
算法的搜索复杂度为O(n2)。假设计算任务响应时间的时间复杂度为O(γ),则FTPCS_MS算法的时间复杂度为O(γ×n2).
下面对本发明的实施例作详细说明:本实施例是在以本发明技术方案为前提下进行实施,并给出了详细的实施方式和过程,但本发明的适用范围不限于下述的实施例。
表1给出了继承策略下数控系统中实时任务的最坏响应时间,此时系统的最小TE为17。现对表1中的实时任务集合采用基于容错优先级混合策略的实时调度算法进行调度,任务的最坏响应时间见表2。当TE=16时,由Px=<0,0,0,0>时的响应时间可知,继承策略下τ4因自身出错而运行超时。为了使τ4可调度,取Px=<0,0,0,2>,τ4出错后因容错优先级提升而抢占τ3执行,其最坏响应时间被缩短。此时系统的最小TE=15。为了进一步提升系统的容错能力,取Px=<-1,-1,1,1>,此时系统的最小TE=13。对比表1和表2中的最小TE可知,相对于继承策略,混合策略下系统容错能力提高了23.5%。
表1
Figure BDA0000118861780000112
表2
Figure BDA0000118861780000113
应用实例
模拟生成10000个数控系统的实时任务集,每个任务集包含10个实时周期性任务,且各任务的相关属性均随机产生。任务集Γ中任务τi满足以下条件:
(1)τi的周期Ti和截止时限Di服从区间[30,1000]上的均匀分布,且Di≤Ti
(2)τi的处理器利用率
Figure BDA0000118861780000121
服从均值为U/10的指数分布,其中
Figure BDA0000118861780000122
表示任务集Γ的处理器总利用率,为了保证Γ的可调度性,0.01≤U≤0.9。
(3)Oi在区间[1,上随机取值,mi根据文献[12]给出的计算公式求取最优值:
Figure BDA0000118861780000124
采用RM算法作为基础实时调度算法,并采用FTPCS_MS算法搜索任务集Γ的最优容错优先级混合配置Pm。为了对比容错优先级混合策略与继承策略对系统容错能力的提升作用,通过计算Pm下的TE(m)相对于P0=(0,0,...,0)下的TE(0)的降幅
Figure BDA0000118861780000125
来衡量混合策略下系统容错能力相对于继承策略的提升程度。所得结果如图4所示,黑点表示每个任务集对应的ΔTE值,实线表示系统容错能力的平均提升程度随处理器利用率U变化的情况。从图中可以看出,当0<U<0.29时,ΔTE较小,其平均值在(0~8%)的范围内缓慢增长;当0.29≤U≤0.78时,ΔTE变化范围较大,最高可达74%,其平均值快速增长并稳定于(16%~24%)范围内。呈现上述分布的原因是:当U较低时,任务可以利用自身的空闲时间来进行容错处理,继承策略下的TE可能接近其下限,混合策略对TE的提升空间很小;当U较高时,任务自身的空闲时间不足以完成容错,混合策略允许低优先级任务挪用高优先级任务的空闲时间来满足自身截止时限要求,从而大幅降低TE,即大幅提升系统的容错能力。

Claims (9)

1.一种适用于数控系统的容错实时调度方法,其特征在于包括以下步骤:
步骤1)按照固定优先级调度算法为数控系统中实时任务分配初始优先级;
步骤2)设定数控系统中实时任务集的容错优先级配置,为各任务分配容错优先级;并采用最优容错优先级配置搜索算法搜索出系统中实时任务集的最优容错优先级配置;
步骤3)根据任务的初始优先级和容错优先级,对系统中的实时任务集进行容错实时调度,每个调度时刻选择优先级最高的任务执行;
步骤4)根据任务的调度情况计算任务的最坏响应时间;
步骤5)如果最坏响应时间大于任务的截止时限,该任务不可调度,系统调度失败;否则,该任务调度成功;
步骤6)对其他任务执行步骤3)到步骤5),至所有任务调度完毕。
2.根据权利要求1所述的一种适用于数控系统的容错实时调度方法,其特征在于:所述任务τi的初始优先级为pi∈{1,2,...,n};
所述任务τi的容错优先级为
Figure FDA0000118861770000011
所述实时任务集的容错优先级配置Px表示为n元组<hx,1,hx,2,...,hx,n>,其中元素且-(n-i)≤hx,i≤(i-1),其中,0≤i≤n,n为整数。
3.根据权利要求1所述的一种适用于数控系统的容错实时调度方法,其特征在于:所述实时任务集为Γ={τ1,τ2,...,τn},根据容错优先级配置Px,由以下四类子集组成:
hp(i)是初始优先级高于pi的任务的集合,表示为hp(i)={τj∈Γ|pj>pi};
hfp(x,i)是Px下初始优先级高于
Figure FDA0000118861770000013
的任务的集合,表示为 hfp ( x , i ) = { &tau; j &Element; &Gamma; | p j > p &OverBar; i } ;
fp_hp(x,i)是Px下容错优先级高于pi的任务的集合,表示为 fp _ hp ( x , i ) = { &tau; j &Element; T | p &OverBar; j > p i } ;
fp_hfp(x,i)是Px下容错优先级高于
Figure FDA0000118861770000022
的任务的集合,表示为 hfp _ fp ( x , i ) = { &tau; j &Element; &Gamma; | p &OverBar; j > p &OverBar; i } .
4.根据权利要求1所述的一种适用于数控系统的容错实时调度方法,其特征在于:所述最优容错优先级配置搜索算法包括以下步骤:
步骤1)计算当前Px与TE下各任务的最坏响应时间,判断系统的可调度性;
步骤2)如果系统可调度,则将当前Px与TE保存到临时变量中,并尝试Px是否支持更小的TE
步骤3)如果系统可调度,则搜索新配置Px
此时
Figure FDA0000118861770000026
若D(x)包含τH,算法结束;
若D(x)不包含τH,对于Dext(x)中的τi,依次降低DecreaseSet(x,i)中各任务的容错优先级并验证新Px的有效性,取新Px下的TE(x)与当前TE中的较小者作为新的TE;对于Dint(x)中的τi,提升
Figure FDA0000118861770000027
使τi依次优先于IncreaseSet(x,i)中的各个任务,取新Px下的TE(x)与当前TE中的较小者作为新的TE
当TE小于其下限L、
Figure FDA0000118861770000028
Figure FDA0000118861770000029
时,无法找到更优的Px,算法终止;
其中,Dext(x)为集合,DecreaseSet(x,i)为容错优先级降低的任务集合,表示为
Figure FDA00001188617700000210
IncreaseSet(x,i)为pi的提升范围的集合;表示为
5.根据权利要求1所述的一种适用于数控系统的容错实时调度方法,其特征在于:所述最坏情况响应时间Ri=Ei+Ii+Fi
其中,Ei为τi自身执行的时间;Ii为τi被高优先级任务抢占执行的时间;Fi为错误导致的容错总开销。
6.根据权利要求1所述的一种适用于数控系统的容错实时调度方法,其特征在于:
所述最坏情况响应时间Ri的计算公式为:
R i ( x , T E ) = max ( R i ext ( x , T E ) , R i int ( x , T E ) ) - - - ( 1 )
Figure FDA0000118861770000032
为τi响应期间自身不出错时的最坏响应时间;为τi响应期间自身出错时的最坏响应时间。
7.根据权利要求6所述的一种适用于数控系统的容错实时调度方法,其特征在于:
所述
Figure FDA0000118861770000034
的计算公式为:
Figure FDA0000118861770000035
(2)
Figure FDA0000118861770000036
Ti、Tj、Tl表示τi、τj、τl的周期,Ci、Cj、Cl表示τi、τi、τl的最坏执行时间;mi、mj、ml表示τi、τj、τl被检查点分成的段数;Oi、Oj、Ol表示系统为τi、τj、τl建立一个检查点的时间开销;TE为系统的最小出错间隔。
8.根据权利要求6所述的一种适用于数控系统的容错实时调度方法,其特征在于:
所述
Figure FDA0000118861770000037
的计算公式为:
R i int ( x , T E ) = max q = 1,2 , . . . , ( m i - 1 ) ( R i int ( x , T E , q ) ) = max q = 1,2 , . . . , ( m i - 1 ) ( R i int 1 ( x , T E , q ) + R i int 0 ( x , T E , q ) ) - - - ( 5 )
所述
Figure FDA0000118861770000039
的计算公式为:
Figure FDA0000118861770000041
(3)
Figure FDA0000118861770000042
所述的计算公式为:
Figure FDA0000118861770000044
Figure FDA0000118861770000045
Figure FDA0000118861770000046
Figure FDA0000118861770000047
其中,q为出错点,1≤q≤mi-1;Tk、Tr表示τk、τr的周期,Ck、Cr表示τk、τr的最坏执行时间;mk、mr表示τk、τr被检查点分成的段数;Ok、Or表示系统为τk、τr建立一个检查点的时间开销;i、l、k、r、m为整数。
9.根据权利要求1所述的一种适用于数控系统的容错实时调度方法,其特征在于:所述任务的截止时限是根据数控系统的应用要求确定的。
CN201110415435.9A 2011-12-12 2011-12-12 一种适用于数控系统的容错实时调度方法 Active CN103164258B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110415435.9A CN103164258B (zh) 2011-12-12 2011-12-12 一种适用于数控系统的容错实时调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110415435.9A CN103164258B (zh) 2011-12-12 2011-12-12 一种适用于数控系统的容错实时调度方法

Publications (2)

Publication Number Publication Date
CN103164258A true CN103164258A (zh) 2013-06-19
CN103164258B CN103164258B (zh) 2016-03-23

Family

ID=48587375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110415435.9A Active CN103164258B (zh) 2011-12-12 2011-12-12 一种适用于数控系统的容错实时调度方法

Country Status (1)

Country Link
CN (1) CN103164258B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104794015A (zh) * 2015-04-16 2015-07-22 华中科技大学 一种实时流计算流速感知弹性执行容错系统
CN104980330A (zh) * 2014-04-08 2015-10-14 中国科学院软件研究所 一种实时多智能体系统的消息准入方法
CN110489230A (zh) * 2019-08-05 2019-11-22 上海航天计算机技术研究所 安全关键和时间关键的资源调度方法及设备
US10936359B2 (en) 2016-03-31 2021-03-02 Alibaba Group Holding Limited Task resource scheduling method and apparatus
CN112905326A (zh) * 2021-02-18 2021-06-04 上海哔哩哔哩科技有限公司 任务处理方法及装置

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
丁万夫 等: "基于回卷恢复的容错硬实时系统可调度l性分析", 《系统工程与电子技术》 *
李俊 等: "一种可行的容错实时系统可调度性分析", 《软件学报》 *
李俊 等: "容错优先级混合式分配搜索算法", 《计算机研究与发展》 *
李俊 等: "容错优先级混合式分配搜索算法", 《计算机研究与发展》, no. 200711, 15 November 2007 (2007-11-15) *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980330A (zh) * 2014-04-08 2015-10-14 中国科学院软件研究所 一种实时多智能体系统的消息准入方法
CN104980330B (zh) * 2014-04-08 2018-06-19 中国科学院软件研究所 一种实时多智能体系统的消息准入方法
CN104794015A (zh) * 2015-04-16 2015-07-22 华中科技大学 一种实时流计算流速感知弹性执行容错系统
CN104794015B (zh) * 2015-04-16 2017-08-18 华中科技大学 一种实时流计算流速感知弹性执行容错系统
US10936359B2 (en) 2016-03-31 2021-03-02 Alibaba Group Holding Limited Task resource scheduling method and apparatus
CN107291548B (zh) * 2016-03-31 2021-04-13 阿里巴巴集团控股有限公司 任务的资源调度方法及装置
CN110489230A (zh) * 2019-08-05 2019-11-22 上海航天计算机技术研究所 安全关键和时间关键的资源调度方法及设备
CN112905326A (zh) * 2021-02-18 2021-06-04 上海哔哩哔哩科技有限公司 任务处理方法及装置

Also Published As

Publication number Publication date
CN103164258B (zh) 2016-03-23

Similar Documents

Publication Publication Date Title
CN103164258A (zh) 一种适用于数控系统的容错实时调度方法
CN106293919B (zh) 一种时间触发的嵌入式任务调度装置与方法
TWI742045B (zh) 任務的資源調度方法及裝置
CN102521265B (zh) 一种海量数据管理中动态一致性控制方法
US20170154260A1 (en) Learning method, computer-readable recording medium, and information processing apparatus
CN103970603B (zh) 一种基于多级反馈队列的事件注入引擎的任务调度方法
CN102360378A (zh) 一种时序数据离群点检测方法
CN101183316A (zh) 实时操作系统中的任务延时处理方法及系统
CN102495804A (zh) 软件自动化测试方法
CN103699455A (zh) 一种多核实时容错系统中获取准确的最晚截止时间的方法
CN110276689A (zh) 基于动态决策的智能合约实现方法
CN101833319A (zh) 面向多重入制造系统在线调度的单台设备匹配重调度方法
CN102573073B (zh) 一种终端物理层资源分配方法及系统
CN104036039A (zh) 一种数据的并行处理方法和系统
CN103197982B (zh) 一种任务局部最优检查点间隔搜索方法
CN102541646B (zh) 一种适用于硬实时系统的任务调度方法
CN106570585B (zh) 一种面向自供能系统的任务调度方法及能量管理装置
CN106487889B (zh) 一种面向云数据中心的任务与数据联合部署方法
CN107907890A (zh) 一种导航卫星精密定轨的任务成功性确定方法
CN107450986B (zh) 一种基于软件通信体系结构的资源调度方法
CN109389216A (zh) 神经网络的动态裁剪方法、装置及存储介质
WO2016197621A1 (zh) 一种调整服务器的频率的方法及装置
CN106506282A (zh) 一种提高云平台监控性能及规模的监控方法
CN106095058A (zh) 一种应对软错误的温度感知的实时任务调度方法
WO2015014394A1 (en) Method and system for checkpointing a global state of a distributed system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant