发明名称 一种适用于硬实时系统的任务调度方法
摘要 本发明涉及适用于硬实时系统的任务调度方法,包括以下步骤:按照给定算法FP(Γ)分配任务的常规优先级;设定抢占阈值配置H<sub>x</sub>、容错优先级配置Ω<sub>y</sub>、容错阈值配置<img file="DDA0000037170170000011.tif" wi="58" he="50" />和容错间距T<sub>E</sub>的初始值;配置H<sub>x</sub>、容错优先级配置Ω<sub>y</sub>、容错阈值配置<img file="DDA0000037170170000012.tif" wi="58" he="50" />和容错间距T<sub>E</sub>计算最坏情况响应时间R<sub>i</sub>(x,y,z,T<sub>E</sub>);当R<sub>i</sub>(x,y,z,T<sub>E</sub>)>D<sub>i</sub>时,计算所得到的<img file="DDA0000037170170000013.tif" wi="59" he="51" />为τ<sub>i</sub>的最优抢占阈值配置,将<img file="DDA0000037170170000014.tif" wi="87" he="51" /><img file="DDA0000037170170000015.tif" wi="86" he="60" /><img file="DDA0000037170170000016.tif" wi="59" he="57" />及<img file="DDA0000037170170000017.tif" wi="46" he="51" />输出作为搜索算法的最终结果;根据上述结果为任务分配抢占阈值、容错优先级配置及容错阈值配置,进行任务调度,获得所能承受的最小错误间隔。本发明方法能够在抢占式容错调度算法(FT-FPP)和抢占阈值容错调度算法(FT-FPPT)无法提高系统容错能力的情况下,进一步提高系统的容错能力。
申请公布号 CN102541646B 申请公布日期 2014.12.31
申请号 CN201010581324.0 申请日期 2010.12.09
申请人 中国科学院沈阳计算技术研究所有限公司;沈阳高精数控技术有限公司 发明人 郭锐锋;丁万夫;秦承刚;李俊超;刘娴
分类号 G06F9/48(2006.01)I 主分类号 G06F9/48(2006.01)I
代理机构 沈阳科苑专利商标代理有限公司 21002 代理人 李晓光
主权项 一种适用于硬实时系统的任务调度方法,其特征在于包括以下步骤:按照给定算法FP(Γ)分配任务的常规优先级;设定抢占阈值配置H<sub>x</sub>、容错优先级配置Ω<sub>y</sub>、容错阈值配置<img file="FDA0000549798310000011.GIF" wi="76" he="72" />和容错间距T<sub>E</sub>的初始值;根据任务的常规优先级以及抢占阈值配置H<sub>x</sub>、容错优先级配置Ω<sub>y</sub>、容错阈值配置<img file="FDA0000549798310000012.GIF" wi="72" he="72" />和容错间距T<sub>E</sub>来计算任务的最坏情况响应时间R<sub>i</sub>(x,y,z,T<sub>E</sub>);判断R<sub>i</sub>(x,y,z,T<sub>E</sub>)是否大于D<sub>i</sub>;当R<sub>i</sub>(x,y,z,T<sub>E</sub>)≤D<sub>i</sub>时,计算相应的抢占阈值配置H<sub>x</sub>、容错优先级配置Ω<sub>y</sub>、容错阈值配置<img file="FDA0000549798310000013.GIF" wi="74" he="72" />和容错间距T<sub>E</sub>,并将当前的H<sub>x</sub>、Ω<sub>y</sub>、<img file="FDA0000549798310000014.GIF" wi="76" he="70" />和T<sub>E</sub>值分别赋值给<img file="FDA0000549798310000015.GIF" wi="98" he="74" /><img file="FDA0000549798310000016.GIF" wi="202" he="92" />及<img file="FDA0000549798310000017.GIF" wi="86" he="74" />并将T<sub>E</sub>的值减1,开始下一轮的搜索;返回判断R<sub>i</sub>(x,y,z,T<sub>E</sub>)是否大于D<sub>i</sub>步骤,直至满足条件R<sub>i</sub>(x,y,z,T<sub>E</sub>)>D<sub>i</sub>;当R<sub>i</sub>(x,y,z,T<sub>E</sub>)>D<sub>i</sub>时,计算所得到的<img file="FDA0000549798310000018.GIF" wi="76" he="74" />为τ<sub>i</sub>的最优抢占阈值配置,<img file="FDA0000549798310000019.GIF" wi="74" he="83" />为<img file="FDA00005497983100000110.GIF" wi="50" he="73" />的最优容错优先级配置,<img file="FDA00005497983100000111.GIF" wi="81" he="80" />为<img file="FDA00005497983100000112.GIF" wi="48" he="73" />的最优容错阈值配置,而<img file="FDA00005497983100000113.GIF" wi="62" he="74" />则为在任务调度方法下所能承受的最小错误间隔;将<img file="FDA00005497983100000114.GIF" wi="334" he="91" />及<img file="FDA00005497983100000115.GIF" wi="60" he="73" />输出作为搜索算法的最终结果;根据上述结果为任务分配抢占阈值、容错优先级配置及容错阈值配置,进行任务调度,获得所能承受的最小错误间隔;通过以下公式计算任务最坏情况响应时间R<sub>i</sub>(x,y,z,T<sub>E</sub>):<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><msub><mi>R</mi><mi>i</mi></msub><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>,</mo><msub><mi>T</mi><mi>E</mi></msub><mo>)</mo></mrow><mo>=</mo><mi>max</mi><mrow><mo>(</mo><msubsup><mi>R</mi><mi>i</mi><mi>ext</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>,</mo><msub><mi>T</mi><mi>E</mi></msub><mo>)</mo></mrow><mo>,</mo><msubsup><mi>R</mi><mi>i</mi><mi>int</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>,</mo><msub><mi>T</mi><mi>E</mi></msub><mo>)</mo></mrow><mo>)</mo></mrow></mrow>]]></math><img file="FDA00005497983100000116.GIF" wi="1226" he="92" /></maths>式中<img file="FDA00005497983100000117.GIF" wi="310" he="74" />表示外部错误最坏响应时间;<img file="FDA00005497983100000118.GIF" wi="308" he="78" />表示外部错误最坏响应时间;x,y,z为抢占阈值配置H<sub>x</sub>、容错优先级配置Ω<sub>y</sub>、容错阈值配置<img file="FDA00005497983100000119.GIF" wi="78" he="71" />中的变量,T<sub>E</sub>为系统最小错误间隔;外部错误最坏响应时间通过以下公式计算得到:<img file="FDA00005497983100000120.GIF" wi="1274" he="348" />式中τ<sub>i</sub>在时刻t前的响应时间<img file="FDA00005497983100000121.GIF" wi="324" he="85" />和在时刻t后的响应时间<img file="FDA00005497983100000122.GIF" wi="352" he="85" />S<sub>i</sub>(x,y,z,T<sub>E</sub>)为任务τ<sub>i</sub>的最坏开始时间,C<sub>i</sub>为任务τ<sub>i</sub>的最坏执行时间,E<sub>i</sub>为出错时间,<img file="FDA00005497983100000123.GIF" wi="63" he="72" />为替代版本<img file="FDA00005497983100000124.GIF" wi="54" he="73" />的最坏执行时间,<img file="FDA00005497983100000125.GIF" wi="63" he="73" />和<img file="FDA00005497983100000126.GIF" wi="60" he="82" />分别为替代版本<img file="FDA00005497983100000127.GIF" wi="53" he="73" />的容错优先级与容错阈值,π<sub>i</sub>和γ<sub>i</sub>分别为主版本任务的常规优先级与抢占阈值;内部错误最坏响应时间通过以下公式计算得到:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><msubsup><mi>R</mi><mi>i</mi><mi>int</mi></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>,</mo><msub><mi>T</mi><mi>E</mi></msub><mo>)</mo></mrow><mo>=</mo><msubsup><mi>R</mi><mi>i</mi><msup><mi>int</mi><mn>1</mn></msup></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>,</mo><msub><mi>T</mi><mi>E</mi></msub><mo>)</mo></mrow><mo>+</mo><msubsup><mi>R</mi><mi>i</mi><msup><mi>int</mi><mn>0</mn></msup></msubsup><mrow><mo>(</mo><mi>x</mi><mo>,</mo><mi>y</mi><mo>,</mo><mi>z</mi><mo>,</mo><msub><mi>T</mi><mi>E</mi></msub><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000549798310000021.GIF" wi="1300" he="101" /></maths>式中τ<sub>i</sub>在时刻t前的响应时间<img file="FDA0000549798310000022.GIF" wi="326" he="85" />和在时刻t后的响应时间<img file="FDA0000549798310000023.GIF" wi="351" he="83" />在时刻t前的响应时间通过以下公式计算得到:<img file="FDA0000549798310000024.GIF" wi="1736" he="182" />在时刻t后的响应时间通过以下公式计算得到:<img file="FDA0000549798310000025.GIF" wi="1538" he="516" />
地址 110171 辽宁省沈阳市浑南新区南屏东路16号