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

文档序号:6490865阅读:201来源:国知局
一种适用于数控系统容错调度的方法
【专利摘要】本发明涉及一种适用于数控系统的容错实时调度算法。为数控系统中每个实时任务的功能定义两种实现:主版本和替代版本;按照固定优先级调度算法确定数控系统的实时任务集的运行时优先级序列;按照与实时任务集运行时优先级序列相反的次序,离线生成任务集替代版本的反向调度序列;数控系统运行时,正向调度任务集中各实时任务的主版本,当主版本在其替代版本的最晚启动时刻之前正确完成,则释放期替代版本的预留执行时间;否则撤销主版本的执行,并在最晚启动时刻开始执行替代版本,替代版本启动后具有最高执行优先级,能够抢占任意主版本执行。本发明能够在采用顺序反向调度方法的容错实时调度算法的基础上,大幅降低容错实时调度算法的运行开销。
【专利说明】一种适用于数控系统容错调度的方法
【技术领域】
[0001]本发明涉及实时系统领域的任务容错调度技术,具体是一种适用于数控系统的容错实时调度算法。
【背景技术】
[0002]实时系统的正确运行不仅要求系统中的实时任务在规定时限内正确完成,还要求系统在发生单个或多个错误时仍然可以保证任务的正确执行。数控系统作为一种典型的实时应用系统,控制数控机床高精度、高效率地完成各种加工任务。机床加工过程中任何不可靠因素导致的实时任务失效,都可能严重影响工件的加工质量,甚至造成安全生产隐患。为了提供系统的容错能力,目前已经提出了多种容错模型。基于检查点的回卷回复容错模型通过在任务执行过程中创建检查点,并在任务出错时回卷恢复到最近的检查点状态执行的机制提供容错。此模型在系统无故障的情况下加大了系统的执行开销。基于主替代版本的容错模型为每个实时任务提供主版本和替代版本。主版本实现较完善的功能,并提供更精确的执行结果,其复杂度高因而出错概率较大。替代版本仅实现任务的基本功能,并提供系统可接受的低精确度结果,其复杂度低因而出错概率小。在正常情况下任务执行主版本,并为替代版本预留足够的执行时间。当主版本成功完成时,释放其替代版本的预留时间。当主版本执行出错后,调度执行其替代版本。此模型在系统无故障的情况下不会增加系统的执行开销,在系统出错时,替代版本能够保证任务的实时性与可靠性。
[0003]经过对现有技术的文献检索发现,Ching-Chih Han等人发表的《AFault-TolerantScheduling Algorithm for Real-Time Periodic Tasks with PossibleSoftware Faults》(刊物《IEEE Transactions on Computers》2003,52 (3): 362-372)对主替代版本模型下的容错实时调度算法进行研究,提出了基于截止期限机制的BCE算法。BCE算法集成了 Basic、CAT与EIT三个子算法。其中Basic算法作为BCE的主体实现容错实时调度,首先采用实时调度算法从后往前生成任务集替代版本的反向调度序列,以确定需为替代版本预留的执行时间,任务集运行时在余下的时间间隔内从前往后正向调度主版本执行。CAT算法通过预测主版本的可执行性,选择可行的主版本执行,EIT算法在系统空闲时选择替代版本提前执行,二者辅助Basic算法,避免CPU处理时间的浪费,改善BCE算法的调度性能。韩建军等人在《基于软件容错的动态实时调度算法》(期刊《计算机研究与发展》2005,42 (2): 315-321)中对CAT算法的预测性进行改进,提出了 PKSA (EBPA)和CUBA算法,更有效地减少CPU处理时间的浪费。
[0004]在已有研究中,反向调度过程均采用顺序调度,即任务集反向调度时的优先级次序与其运行时的优先级次序相同。当高优先级任务替代版本的预留时间与低优先级任务替代版本的预留时间冲突时,低优先级任务的通知时间提前。由于运行时高优先级任务先于低优先级任务执行,高优先级主版本正确完成后,除了释放其替代版本的预留时间,还需同步更新余下替代版本的通知时刻,这将增加容错实时调度算法的在线运行开销。
【发明内容】

[0005]针对现有技术中反向调度过程会大幅增加容错调度算法的在线运行开销的不足,本发明要解决的技术问题是提供一种逆序反向调度方法。
[0006]本发明为实现上述目的所采用的技术方案是:一种适用于数控系统容错调度的方法,包括以下步骤
[0007]步骤I)为数控系统中每个实时任务的功能定义两种实现:主版本和替代版本;
[0008]步骤2)按照固定优先级调度算法确定数控系统的实时任务集的运行时优先级序列;
[0009]步骤3)按照与实时任务集运行时优先级序列相反的次序,离线生成任务集替代版本的反向调度序列;
[0010]步骤4)数控系统运行时,正向调度任务集中各实时任务的主版本,当主版本在其替代版本的最晚启动时刻之前正确完成,则释放期替代版本的预留执行时间;否则撤销主版本的执行,并在最晚启动时刻开始执行替代版本,替代版本启动后具有最高执行优先级,能够抢占任意主版本执行。
[0011]所述主版本实现任务的全部功能。
[0012]所述替代版本为主版本的精简,只实现系统可接受的任务的基本功能。
[0013]所述替代版本在反向调度过程中,占用的时间间隔为运行时为其预留的执行时间,结束时刻即为其在运行时的最晚启动时刻。
[0014]所述所有替代版本之间在一个T内的时间冲突表示为集合:
【权利要求】
1.一种适用于数控系统容错调度的方法,其特征在于,包括以下步骤 步骤I)为数控系统中每个实时任务的功能定义两种实现:主版本和替代版本; 步骤2)按照固定优先级调度算法确定数控系统的实时任务集的运行时优先级序列; 步骤3)按照与实时任务集运行时优先级序列相反的次序,离线生成任务集替代版本的反向调度序列; 步骤4)数控系统运行时,正向调度任务集中各实时任务的主版本,当主版本在其替代版本的最晚启动时刻之前正确完成,则释放期替代版本的预留执行时间;否则撤销主版本的执行,并在最晚启动时刻开始执行替代版本,替代版本启动后具有最高执行优先级,能够抢占任意主版本执行。
2.根据权利要求1所述的一种适用于数控系统容错调度的方法,其特征在于,所述主版本实现任务的全部功能。
3.根据权利要求1所述的一种适用于数控系统容错调度的方法,其特征在于,所述替代版本为主版本的精简,只实现系统可接受的任务的基本功能。
4.根据权利要求1所述的一种适用于数控系统容错调度的方法,其特征在于,所述替代版本在反向调度过程中,占用的时间间隔为运行时为其预留的执行时间,结束时刻即为其在运行时的最晚启动时刻。
5.根据权利要求1所述的一种适用于数控系统容错调度的方法,其特征在于,所述所有替代版本之间在一个T内的时间冲突表示为集合:
【文档编号】G06F9/46GK103810025SQ201210445612
【公开日】2014年5月21日 申请日期:2012年11月9日 优先权日:2012年11月9日
【发明者】郭锐锋, 刘娴, 王鸿亮, 张忆文 申请人:中国科学院沈阳计算技术研究所有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1