一种适用于数控系统实时调度的方法技术方案

技术编号:11374919 阅读:60 留言:0更新日期:2015-04-30 13:01
本发明专利技术涉及一种适用于数控系统实时调度的方法。其步骤在于包括:为数控系统中每个实时任务定义两种相互独立可执行版本:主版本和副版本;任务调度前,采用InvSeq_Preallocation预分配子算法为副版本预留处理器时间,确定副版本的通知时刻;采用固定优先级调度算法对主版本进行调度,在每个调度时刻,采用PPA预测子算法逐个检测当前就绪队列中的就绪任务主版本的可执行性,并调度执行经检测可执行的主版本;主版本成功完成时,撤销其对应副版本,并释放为副版本预分配的处理器时间;当执行到副版本的通知时刻时,副版本抢占当前主版本执行,并终止对应主版本。本发明专利技术能够提供更精确的主版本可执行性预测,从而有效避免处理器时间的浪费,提高主版本的成功率。

【技术实现步骤摘要】
一种适用于数控系统实时调度的方法
本专利技术涉及实时系统领域的任务容错实时调度技术,具体是一种适用于数控系统的实时调度算法。
技术介绍
数控系统不仅需要保证其实时任务在规定时限内正确完成,还需要保证系统在出现错误时能够提供标准或降级服务。若系统不能在规定时限内输出正确结果,将严重影响工件的加工质量,甚至造成安全生产隐患。容错技术通过增加冗余资源的方法来屏蔽故障对系统功能的影响,针对单处理器实时系统中的软件运行故障,Ching-ChihHan等人发表的《AFault-TolerantSchedulingAlgorithmforReal-TimePeriodicTaskswithPossibleSoftwareFaults》(刊物《IEEETransactionsonComputers》2003,52(3):362-372)对主/副版本容错技术进行研究,提出了基于截止期限机制的BCE算法。BCE在调度前采用固定优先级调度策略为副版本预分配处理器时间,并在调度过程中采用CAT子算法预测主版本的可执行性,选择可行的主版本执行,同时采用EIT子算法在系统空闲时选择副版本提前执行,以避免处理器时间的浪费,获得较好的调度性能。处理器利用率较高时,CAT子算法的预测精度较低,无法有效地避免处理器时间的浪费。韩建军等人在《基于软件容错的动态实时调度算法》(期刊《计算机研究与发展》2005,42(2):315-321)中对CAT子算法的预测精确性进行改进,提出了PKSA(EBPA)和CUBA算法,通过若干次试探性检测可取得较CAT子算法更优的预测准确性,其试探次数的确定以及有限次试探操作使得算法的在线开销太大。此外,现有基于主/副版本容错技术的实时调度算法所采用的预分配子算法所确定的副版本预留处理器时间在任务调度过程中需要动态调整,这将增加系统的调度开销,并降低算法对主版本可执行性的预测精度。
技术实现思路
针对现有技术中实时调度算法调度性能不佳且调度开销太大的情况,本专利技术要解决的技术问题是提供一种改善算法调度性能并降低处理时间的一种适用于数控系统实时调度的方法。为解决上述技术问题,本专利技术采用的技术方案是:一种适用于数控系统实时调度的方法,包括以下步骤:为数控系统中每个实时任务定义两种相互独立的可执行版本:主版本和副版本;采用预分配算法为副版本预留处理器时间,确定副版本的通知时刻;数控系统运行时,采用RM算法对主版本进行调度,在每个调度时刻,采用预测算法逐个检测当前就绪队列中的就绪任务的主版本的可执行性,并调度执行经预测可执行的主版本;如果在副版本的通知时刻前主版本成功完成调度,则撤销其对应副版本,并释放为副版本预分配的处理器时间;如果执行到副版本的通知时刻对应主版本尚未完成,副版本抢占当前主版本执行,并终止对应主版本。所述任务的副版本为主版本功能的简单实现,提供应用可接受的低精度结果,副版本的执行时间小于等于主版本的执行时间。所述采用预分配算法为副版本预留处理器时间,确定副版本的通知时刻,具体为:副版本在预分配过程中占用的时间间隔为其运行时的预留处理器时间,副版本的预留处理器时间段的起始时刻即为副版本的通知时刻。所述预测算法通过计算主版本Pi,j在[t,STi,j]内的可用处理器时间来检测主版本Pi,j是否可执行;的计算公式为:其中,集合A_Seti,j={Ax,y|t≤STx,y≤STi,j},表示预留处理器时间位于[t,STi,j]内的副版本集合,STi,j为副版本的通知时刻,集合hp(i)={τj∈Γ|prioj>prioi}表示优先级高于τi的任务集合,(给出公式中各参数的含义);在调度时刻t,主版本Pi,j的剩余执行时间为remaini,j,则预测算法判断Pi,j可执行的充分条件是本专利技术方法能够在已有基于主/副版本容错技术的实时调度算法的基础上,降低系统调度开销,并有效地减少处理器时间的浪费,提高任务主版本的完成率。附图说明图1为任务集Γ1={τ1,τ2,τ3}={<5,2,1>,<9,3,2>,<14,3,2>}在BCE算法下的调度情况;图2为任务集Γ1采用预分配算法为副版本预留的处理器时间序列;图3为任务集Γ1在IBP算法下的调度情况。具体实施方式下面结合附图及实施例对本专利技术做进一步的详细说明。根据主/副版本容错模型,本专利技术确定了数控系统中实时任务的计算模型:系统中实时周期性任务集合表示为Γ={τ1,τ2,...,τn},每个任务τi(1≤i≤n)的周期记为Ti,任务的相对截止期限与周期相等。任务τi包含两个相互独立的可执行版本:主版本Pi和副版本Ai。主版本Pi是τi功能的复杂实现,提供高质量的执行结果,其执行时间用pi表示,副版本Ai是τi功能的简单实现,仅提供应用可接受的低精度结果,其执行时间用ai表示,且有pi≥ai。任务τi表示为三元组<Ti,pi,ai>。Γ所有任务周期的最小公倍数记为TΓ=LCM(T1,T2,...,Tn),每经过一个TΓ,任务集的调度过程重复,将TΓ称为Γ的计划周期。不失一般性,本文仅考虑任务集在第一个计划周期[0,TΓ]内的调度情况。在一个TΓ内τi执行TΓ/Ti次,τi的第j次执行记为作业Ji,j,则Ji,j的就绪时间为ri,j=(j-1)·Ti,截止时限为di,j=j·Ti。Ji,j的主版本和副版本分别表示为Pi,j和Ai,j。预分配算法为Ai,j预留的处理器时间段表示为[STi,j,ETi,j],其中Ai,j的启动时间STi,j称为通知时间。Pi,j以STi,j作为截止时限,在STi,j时刻,若Pi,j已完成,则撤销Ai,j并收回其预留处理器时间;否则撤销Pi,j,开始执行Ai,j,此时Ai,j具有最高优先级,抢占任意主版本执行。计算模型仅考虑单处理器系统,并以Liu和Layland发表的《Schedulingalgorithmsformultiprogramminginahardreal-timeenvironment》(刊物《JournaloftheACM》1973,20(1):46-61)提出的RM算法作为基本调度策略,为τi分配优先级prioi∈{1,2,...,n},则Γ中优先级高于τi的任务集合表示为hp(i)={τj∈Γ|prioj>prioi}。由于主版本实现复杂、资源需求大,其执行过程较易出错,而副版本实现简单,其执行过程不易出错。系统软件错误概率表示为EP。给定任务集Γ1={τ1,τ2,τ3}={<5,2,1>,<9,3,2>,<14,3,2>},prio1>prio2>prio3,TΓ=630。Γ1在BCE算法下的调度结果片段如图1所示,其中主版本的运行情况如无阴影部分所示,副版本预留时间段的分布及其在系统调度过程中动态调整情况如阴影部分所示。预分配算法为InvSeq_Preallocation,预测算法为PPA。在预分配过程中,A23、A15抢占A32执行,A17抢占A24执行。调度开始后,P11、P21、P12、P13成功完成,A11、A21、A12、A13被撤销。t=9时,P22经CAT算法预测可执行,抢占P31执行到t=10本文档来自技高网
...
一种适用于数控系统实时调度的方法

【技术保护点】
一种适用于数控系统实时调度的方法,其特征在于,包括以下步骤:为数控系统中每个实时任务定义两种相互独立的可执行版本:主版本和副版本;采用预分配算法为副版本预留处理器时间,确定副版本的通知时刻;数控系统运行时,采用RM算法对主版本进行调度,在每个调度时刻,采用预测算法逐个检测当前就绪队列中的就绪任务的主版本的可执行性,并调度执行经预测可执行的主版本;如果在副版本的通知时刻前主版本成功完成调度,则撤销其对应副版本,并释放为副版本预分配的处理器时间;如果执行到副版本的通知时刻对应主版本尚未完成,副版本抢占当前主版本执行,并终止对应主版本。

【技术特征摘要】
1.一种适用于数控系统实时调度的方法,其特征在于,包括以下步骤:为数控系统中每个实时任务定义两种相互独立的可执行版本:主版本和副版本;采用预分配算法为副版本预留处理器时间,确定副版本的通知时刻;数控系统运行时,采用RM算法对主版本进行调度,在每个调度时刻,采用预测算法逐个检测当前就绪队列中的就绪任务的主版本的可执行性,并调度执行经预测可执行的主版本;如果在副版本的通知时刻前主版本成功完成调度,则撤销其对应副版本,并释放为副版本预分配的处理器时间;如果执行到副版本的通知时刻对应主版本尚未完成,副版本抢占当前主版本执行,并终止对应主版本;所述采用预分配算法为副版本预留处理器时间,确定副版本的通知时刻,具体为:副版本在预分配过程中占用的时间间隔为其运行时的预留处理器时间,副版本的预留处理器时间段的起始时刻即为副版本的通知时刻;所述预测算法通过计算主版本Pi,j在[t,STi,j]内的可用处理器...

【专利技术属性】
技术研发人员:郭锐锋刘娴王鸿亮张忆文卜霄菲
申请(专利权)人:中国科学院沈阳计算技术研究所有限公司
类型:发明
国别省市:辽宁;21

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

1