一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法
【專利摘要】本發(fā)明涉及一種適用于數(shù)控系統(tǒng)的容錯實時調(diào)度算法。為數(shù)控系統(tǒng)中每個實時任務的功能定義兩種實現(xiàn):主版本和替代版本;按照固定優(yōu)先級調(diào)度算法確定數(shù)控系統(tǒng)的實時任務集的運行時優(yōu)先級序列;按照與實時任務集運行時優(yōu)先級序列相反的次序,離線生成任務集替代版本的反向調(diào)度序列;數(shù)控系統(tǒng)運行時,正向調(diào)度任務集中各實時任務的主版本,當主版本在其替代版本的最晚啟動時刻之前正確完成,則釋放期替代版本的預留執(zhí)行時間;否則撤銷主版本的執(zhí)行,并在最晚啟動時刻開始執(zhí)行替代版本,替代版本啟動后具有最高執(zhí)行優(yōu)先級,能夠搶占任意主版本執(zhí)行。本發(fā)明能夠在采用順序反向調(diào)度方法的容錯實時調(diào)度算法的基礎上,大幅降低容錯實時調(diào)度算法的運行開銷。
【專利說明】一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法
【技術領域】
[0001]本發(fā)明涉及實時系統(tǒng)領域的任務容錯調(diào)度技術,具體是一種適用于數(shù)控系統(tǒng)的容錯實時調(diào)度算法。
【背景技術】
[0002]實時系統(tǒng)的正確運行不僅要求系統(tǒng)中的實時任務在規(guī)定時限內(nèi)正確完成,還要求系統(tǒng)在發(fā)生單個或多個錯誤時仍然可以保證任務的正確執(zhí)行。數(shù)控系統(tǒng)作為一種典型的實時應用系統(tǒng),控制數(shù)控機床高精度、高效率地完成各種加工任務。機床加工過程中任何不可靠因素導致的實時任務失效,都可能嚴重影響工件的加工質(zhì)量,甚至造成安全生產(chǎn)隱患。為了提供系統(tǒng)的容錯能力,目前已經(jīng)提出了多種容錯模型。基于檢查點的回卷回復容錯模型通過在任務執(zhí)行過程中創(chuàng)建檢查點,并在任務出錯時回卷恢復到最近的檢查點狀態(tài)執(zhí)行的機制提供容錯。此模型在系統(tǒng)無故障的情況下加大了系統(tǒng)的執(zhí)行開銷?;谥魈娲姹镜娜蒎e模型為每個實時任務提供主版本和替代版本。主版本實現(xiàn)較完善的功能,并提供更精確的執(zhí)行結果,其復雜度高因而出錯概率較大。替代版本僅實現(xiàn)任務的基本功能,并提供系統(tǒng)可接受的低精確度結果,其復雜度低因而出錯概率小。在正常情況下任務執(zhí)行主版本,并為替代版本預留足夠的執(zhí)行時間。當主版本成功完成時,釋放其替代版本的預留時間。當主版本執(zhí)行出錯后,調(diào)度執(zhí)行其替代版本。此模型在系統(tǒng)無故障的情況下不會增加系統(tǒng)的執(zhí)行開銷,在系統(tǒng)出錯時,替代版本能夠保證任務的實時性與可靠性。
[0003]經(jīng)過對現(xiàn)有技術的文獻檢索發(fā)現(xiàn),Ching-Chih Han等人發(fā)表的《AFault-TolerantScheduling Algorithm for Real-Time Periodic Tasks with PossibleSoftware Faults》(刊物《IEEE Transactions on Computers》2003,52 (3): 362-372)對主替代版本模型下的容錯實時調(diào)度算法進行研究,提出了基于截止期限機制的BCE算法。BCE算法集成了 Basic、CAT與EIT三個子算法。其中Basic算法作為BCE的主體實現(xiàn)容錯實時調(diào)度,首先采用實時調(diào)度算法從后往前生成任務集替代版本的反向調(diào)度序列,以確定需為替代版本預留的執(zhí)行時間,任務集運行時在余下的時間間隔內(nèi)從前往后正向調(diào)度主版本執(zhí)行。CAT算法通過預測主版本的可執(zhí)行性,選擇可行的主版本執(zhí)行,EIT算法在系統(tǒng)空閑時選擇替代版本提前執(zhí)行,二者輔助Basic算法,避免CPU處理時間的浪費,改善BCE算法的調(diào)度性能。韓建軍等人在《基于軟件容錯的動態(tài)實時調(diào)度算法》(期刊《計算機研究與發(fā)展》2005,42 (2): 315-321)中對CAT算法的預測性進行改進,提出了 PKSA (EBPA)和CUBA算法,更有效地減少CPU處理時間的浪費。
[0004]在已有研究中,反向調(diào)度過程均采用順序調(diào)度,即任務集反向調(diào)度時的優(yōu)先級次序與其運行時的優(yōu)先級次序相同。當高優(yōu)先級任務替代版本的預留時間與低優(yōu)先級任務替代版本的預留時間沖突時,低優(yōu)先級任務的通知時間提前。由于運行時高優(yōu)先級任務先于低優(yōu)先級任務執(zhí)行,高優(yōu)先級主版本正確完成后,除了釋放其替代版本的預留時間,還需同步更新余下替代版本的通知時刻,這將增加容錯實時調(diào)度算法的在線運行開銷。
【發(fā)明內(nèi)容】
[0005]針對現(xiàn)有技術中反向調(diào)度過程會大幅增加容錯調(diào)度算法的在線運行開銷的不足,本發(fā)明要解決的技術問題是提供一種逆序反向調(diào)度方法。
[0006]本發(fā)明為實現(xiàn)上述目的所采用的技術方案是:一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法,包括以下步驟
[0007]步驟I)為數(shù)控系統(tǒng)中每個實時任務的功能定義兩種實現(xiàn):主版本和替代版本;
[0008]步驟2)按照固定優(yōu)先級調(diào)度算法確定數(shù)控系統(tǒng)的實時任務集的運行時優(yōu)先級序列;
[0009]步驟3)按照與實時任務集運行時優(yōu)先級序列相反的次序,離線生成任務集替代版本的反向調(diào)度序列;
[0010]步驟4)數(shù)控系統(tǒng)運行時,正向調(diào)度任務集中各實時任務的主版本,當主版本在其替代版本的最晚啟動時刻之前正確完成,則釋放期替代版本的預留執(zhí)行時間;否則撤銷主版本的執(zhí)行,并在最晚啟動時刻開始執(zhí)行替代版本,替代版本啟動后具有最高執(zhí)行優(yōu)先級,能夠搶占任意主版本執(zhí)行。
[0011]所述主版本實現(xiàn)任務的全部功能。
[0012]所述替代版本為主版本的精簡,只實現(xiàn)系統(tǒng)可接受的任務的基本功能。
[0013]所述替代版本在反向調(diào)度過程中,占用的時間間隔為運行時為其預留的執(zhí)行時間,結束時刻即為其在運行時的最晚啟動時刻。
[0014]所述所有替代版本之間在一個T內(nèi)的時間沖突表示為集合:
【權利要求】
1.一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法,其特征在于,包括以下步驟 步驟I)為數(shù)控系統(tǒng)中每個實時任務的功能定義兩種實現(xiàn):主版本和替代版本; 步驟2)按照固定優(yōu)先級調(diào)度算法確定數(shù)控系統(tǒng)的實時任務集的運行時優(yōu)先級序列; 步驟3)按照與實時任務集運行時優(yōu)先級序列相反的次序,離線生成任務集替代版本的反向調(diào)度序列; 步驟4)數(shù)控系統(tǒng)運行時,正向調(diào)度任務集中各實時任務的主版本,當主版本在其替代版本的最晚啟動時刻之前正確完成,則釋放期替代版本的預留執(zhí)行時間;否則撤銷主版本的執(zhí)行,并在最晚啟動時刻開始執(zhí)行替代版本,替代版本啟動后具有最高執(zhí)行優(yōu)先級,能夠搶占任意主版本執(zhí)行。
2.根據(jù)權利要求1所述的一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法,其特征在于,所述主版本實現(xiàn)任務的全部功能。
3.根據(jù)權利要求1所述的一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法,其特征在于,所述替代版本為主版本的精簡,只實現(xiàn)系統(tǒng)可接受的任務的基本功能。
4.根據(jù)權利要求1所述的一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法,其特征在于,所述替代版本在反向調(diào)度過程中,占用的時間間隔為運行時為其預留的執(zhí)行時間,結束時刻即為其在運行時的最晚啟動時刻。
5.根據(jù)權利要求1所述的一種適用于數(shù)控系統(tǒng)容錯調(diào)度的方法,其特征在于,所述所有替代版本之間在一個T內(nèi)的時間沖突表示為集合:
【文檔編號】G06F9/46GK103810025SQ201210445612
【公開日】2014年5月21日 申請日期:2012年11月9日 優(yōu)先權日:2012年11月9日
【發(fā)明者】郭銳鋒, 劉嫻, 王鴻亮, 張憶文 申請人:中國科學院沈陽計算技術研究所有限公司