一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法
【專利摘要】本發(fā)明公開一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其步驟如下:查找就緒的實時系統(tǒng)任務集T,對任務按照截止期限升序排序;找出截止期限最短的任務,以截止期限最短任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)的輸入數(shù)據(jù);利用CPU對輸入數(shù)據(jù)進行處理,即將模糊推理系統(tǒng)的輸出的閾值δ映射到它的隸屬度函數(shù),根據(jù)其隸屬度函數(shù)確定閾值δ的屬性;該方法主要是利用模糊系統(tǒng)的理論將RM算法和EDF算法有機地結(jié)合起來的混合調(diào)度方法調(diào)度執(zhí)行任務,保證任務不錯過截止期限D(zhuǎn),充分利用系統(tǒng)的資源。
【專利說明】一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及實時系統(tǒng)領(lǐng)域任務的實時調(diào)度,具體的說是一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法。
【背景技術(shù)】
[0002]實時系統(tǒng)是指能夠響應外部的隨機事件,并能夠在規(guī)定的時間完成對事件處理的計算機系統(tǒng),確切地說:其正確性不僅取決于計算的邏輯結(jié)果,而且取決于產(chǎn)生結(jié)果的時間。它在航空、航天、通信、工業(yè)自動化等領(lǐng)域有著廣泛的應用,例如數(shù)控系統(tǒng),嵌入式實時系統(tǒng)等。根據(jù)任務是否可以錯過截止期限,分為硬實時系統(tǒng)和軟實時系統(tǒng)。硬實時系統(tǒng)不允許任務錯過截止期限,否則會產(chǎn)生嚴重的后果;軟實時系統(tǒng)沒有截止期限的限制,允許任務偶爾錯過截止期限。實時任務分為周期任務和非周期任務;周期任務是指相鄰兩個任務之間的時間間隔是固定的。非周期任務是指相鄰兩個任務之間的時間間隔是隨機的。硬實時周期任務具有嚴格的時限要求,任務錯過時限將產(chǎn)生嚴重的后果。實時調(diào)度算法是保證系統(tǒng)實時性的關(guān)鍵。
[0003]目前的實時調(diào)度算法采用單調(diào)速率(RM)算法和最早截止期限優(yōu)先(EDF)算法。RM算法是固定優(yōu)先級調(diào)度算法,優(yōu)先級一旦確定就不可以改變,不夠靈活。優(yōu)點是運行的開銷小,可調(diào)度性測試簡單,可預測性好。EDF算法是根據(jù)任務的截止期限確定任務的優(yōu)先級,截止期限越短,優(yōu)先級就越高,截止期限越長,優(yōu)先級越低。任務調(diào)度時都要根據(jù)截止期限確定任務的優(yōu)先級,任何時刻總是運行高優(yōu)先級的任務。任務的優(yōu)先級動態(tài)改變,使得系統(tǒng)的適應性比較好;但要時刻計算任務的優(yōu)先級,運行的開銷大,可預測性差。
[0004]現(xiàn)有的調(diào)度硬實時周期任務的算法只單獨使用RM算法或者EDF算法,當系統(tǒng)負載低時,使用RM算法會造成任務錯過截止期限,系統(tǒng)負載高時,使用EDF會造成大量任務錯過截止期限,影響系統(tǒng)的性能。
【發(fā)明內(nèi)容】
[0005]針對上述實時系統(tǒng)存在的問題,為了保證任務不錯過截止期限,充分利用系統(tǒng)的資源,本發(fā)明提供一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法;該方法利用模糊系統(tǒng)的理論將RM算法和EDF算法有機地結(jié)合起來,達到發(fā)明的目的。
[0006]為實現(xiàn)上述的發(fā)明的目的,本發(fā)明采用以下的技術(shù)方案:
[0007]—種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其特征在于:包括如下步驟:
[0008]查找就緒的任務集T,對任務集T的任務按照截止期限D(zhuǎn)升序排序,找出截止期限最短的任務;
[0009]以截止期限最短任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)的輸入數(shù)據(jù);
[0010]利用模糊推理系統(tǒng)對上述輸入數(shù)據(jù)進行處理,即將模糊推理系統(tǒng)的輸出的閾值δ映射到它的隸屬度函數(shù),根據(jù)其隸屬度函數(shù)確定閾值δ的屬性;
[0011]判斷模糊推理系統(tǒng)輸出的閾值δ的屬性,如閾值δ的屬性為“不重要”或“一般”,米用RM算法調(diào)度執(zhí)行任務。
[0012]如閾值δ的屬性為“重要”時,采用EDF算法調(diào)度執(zhí)行任務。
[0013]所述截止期限D(zhuǎn)、執(zhí)行時間C、閾值δ的隸屬度函數(shù),采用三角形隸屬度函數(shù);所述執(zhí)行時間和截止期限的屬性為“短”、“中”、“長”,閾值δ的屬性為“不重要”、“一般”或“重要”。
[0014]以截止期限D(zhuǎn)最短任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)的輸入數(shù)據(jù);所述模糊推理系統(tǒng)包括輸入部分、輸出部分和CPU處理部分;輸入部分將所述輸入數(shù)據(jù)映射到相應的執(zhí)行時間C和截止期限D(zhuǎn)的隸屬度函數(shù)中;CPU處理部分利用所述輸入數(shù)據(jù)并調(diào)用模糊規(guī)則產(chǎn)生閾值δ的結(jié)果;輸出部分將所述結(jié)果轉(zhuǎn)化為閾值δ的屬性。
[0015]上述模糊規(guī)則通過任務的截止期限D(zhuǎn)和執(zhí)行時間C的屬性確定;當任務截止期限的屬性為“短”,閾值δ的屬性為“重要”;截止期限的屬性為“長”,閾值δ的屬性為“不重要”;截止期限的屬性為“中”,執(zhí)行時間的屬性為“短”或“中”,閾值δ的屬性為“一般”。
[0016]本發(fā)明具有以下有益效果及優(yōu)點:
[0017]I)通過實驗驗證,當系統(tǒng)的負載< I時,本發(fā)明的混合調(diào)度方法在負載超過0.856時,任務將錯過截止期限,此時任務的截止期限丟失率大約為5.67%;而單獨使用RM算法調(diào)度任務在負載超過0.744時,任務將錯過截止期限,此時任務的截止期丟失率大約為
7.24% ;也就是說采用本發(fā)明的混合調(diào)度方法系統(tǒng)所承受的負載范圍比單獨使用RM算法的系統(tǒng)負載范圍大,截止期丟失率比單獨使用RM算法的丟失率小。
[0018]2)通過實驗驗證,當系統(tǒng)負載> I時(過載),EDF算法的截止期丟失率急劇上升。當在1〈系統(tǒng)的負載〈2時,單獨使用EDF算法調(diào)度任務集的平均截止期丟失率為58.27%,而使用本發(fā)明的混合調(diào)度方法平均截止期丟失率為41.36% ;當在系統(tǒng)的負載>2時,單獨使用EDF算法調(diào)度任務集的平均截止期丟失率為83.43%,而使用本發(fā)明的混合調(diào)度方法平均截止期丟失率為63.56%。因此說明本發(fā)明的混合調(diào)度方法使系統(tǒng)執(zhí)行任務的截止期丟失率大大降低。
【專利附圖】
【附圖說明】
[0019]圖1為本發(fā)明方法處理程序流程圖;
[0020]圖2為本發(fā)明模糊推理系統(tǒng)方框圖;
[0021]圖3為本發(fā)明任務執(zhí)行時間C的隸屬函數(shù)圖;
[0022]圖4為本發(fā)明任務截止期限D(zhuǎn)的隸屬函數(shù)圖;
[0023]圖5為本發(fā)明閾值δ的隸屬函數(shù)圖;
[0024]圖6為本發(fā)明與R M算法和EDF算法比較結(jié)果圖。
【具體實施方式】
[0025]下面結(jié)合附圖和實施例對本發(fā)明方案作進一步詳細描述。
[0026]參見附圖1,是一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其特征在于:包括如下步驟:
[0027]查找就緒的任務集Τ,對任務集T的任務按照截止期限D(zhuǎn)升序排序,找出截止期限最短的任務;[0028]以截止期限最短任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)的輸入數(shù)據(jù);
[0029]利用模糊推理系統(tǒng)對上述輸入數(shù)據(jù)進行處理,即將模糊推理系統(tǒng)的輸出的閾值δ映射到它的隸屬度函數(shù),根據(jù)其隸屬度函數(shù)確定閾值δ的屬性;
[0030]判斷模糊推理系統(tǒng)輸出的閾值δ的屬性,如閾值δ的屬性為“不重要”或“一般”,米用RM算法調(diào)度執(zhí)行任務。
[0031]如閾值δ的屬性為“重要”時,采用EDF算法調(diào)度執(zhí)行任務。
[0032]所述RM算法是根據(jù)任務的周期確定其優(yōu)先級的,周期越短,優(yōu)先級越高,周期越長,優(yōu)先級越低。任何時刻都是運行高優(yōu)先級的任務,就是說任務必須在下一個周期到來之前完成,否則會錯過截止期限。
[0033]所述EDF算法是根據(jù)任務的截止期限確定任務的優(yōu)先級,截止期限越短,優(yōu)先級就越高,截止期限越長,優(yōu)先級越低。任務調(diào)度時都要根據(jù)截止期限確定任務的優(yōu)先級,就是說任何時刻總是運行聞優(yōu)先級的任務。
[0034]單獨使用RM算法或者EDF算法調(diào)度任務,當系統(tǒng)負載低時,使用RM算法調(diào)度任務會造成任務錯過截止期限;系統(tǒng)負載高時,使用EDF算法調(diào)度任務會造成大量任務錯過截止期限,影響系統(tǒng)的性能。
[0035]為了解決上述問題,本發(fā)明的采用RM算法和EDF算法相結(jié)合的調(diào)度方法.該方法適用于實時系統(tǒng)主要包括數(shù)控系統(tǒng)、嵌入式實時系統(tǒng)。其中,數(shù)控系統(tǒng)的周期任務主要包括刀具補償、插補運算、位置控制。下面對混合調(diào)度方法用于數(shù)控系統(tǒng)的實例加以說明:
[0036]在本實施例中,首先查找就緒的任務集Τ,對任務集T中的數(shù)控系統(tǒng)周期任務按照截止期限升序排序,找出截止期限最短的周期任務包括刀具補償、插補運算、位置控制;以截止期限最短的周期任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)輸入數(shù)據(jù);每當有新的數(shù)控系統(tǒng)周期任務到達時將其插入到就緒的任務集T中的合適位置。
[0037]所述截止期限D(zhuǎn)、執(zhí)行時間C、閾值δ的隸屬度函數(shù),采用三角形隸屬度函數(shù);所述執(zhí)行時間和截止期限的屬性為“短”、“中”、“長”,閾值δ的屬性為“不重要”、“一般”或“重要”。
[0038]所述周期任務的截止期限D(zhuǎn)、執(zhí)行時間C、閾值δ的隸屬度函數(shù)參見圖3?圖5:采用通用的三角形隸屬度函數(shù)作為它們的隸屬度函數(shù)。從圖3可以看出上述周期任務的執(zhí)行時間分別用“短”、“中”、“長”標記。其中,執(zhí)行時間C在區(qū)間O?7稱之為“短”,在區(qū)間7?17稱之為“中”,大于17稱之為“長”。同樣用“短”、“中”、“長”來標記,周期任務的截止期限D(zhuǎn)0截止期限在區(qū)間O?13稱之為“短”,在區(qū)間13?23稱之為“中”,大于23的稱之為“長”(見圖4)。
[0039]閾值δ用“重要”、“一般”、“不重要”來描述。其中“重要”代表周期任務的緊迫性高需要立即執(zhí)行,“一般”代表周期任務的緊迫性適中不需要立即執(zhí)行,“不重要”代表周期任務的緊迫性低可以推遲執(zhí)行。從圖5可以看出閾值δ在區(qū)間O?0.35稱之為“不重要”,在區(qū)間0.35?0.7稱之為“一般”,大于0.7稱之為“重要”。
[0040]附圖2是本發(fā)明模糊推理系統(tǒng)方框圖。以截止期限最短任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)的輸入數(shù)據(jù);所述模糊推理系統(tǒng)包括輸入部分、輸出部分、CPU處理部分三部分;其輸入部分將所述輸入數(shù)據(jù)映射到相應的執(zhí)行時間C和截止期限D(zhuǎn)的隸屬度函數(shù)中;CPU處理部分利用所述輸入數(shù)據(jù)并調(diào)用模糊規(guī)則產(chǎn)生閾值δ的結(jié)果;輸出部分將所述結(jié)果轉(zhuǎn)化為閾值δ的屬性。
[0041]上述模糊規(guī)則通過任務的截止期限D(zhuǎn)和執(zhí)行時間C的屬性確定;當任務截止期限的屬性為“短”,閾值δ的屬性為“重要”;截止期限的屬性為“長”,閾值δ的屬性為“不重要”;截止期限的屬性為“中”,執(zhí)行時間的屬性為“短”或“中”,閾值δ的屬性為“一般”。
[0042]周期任務的模糊規(guī)則見表1。從表1可以看出模糊規(guī)則是通過所述周期任務的截止期限D(zhuǎn)和執(zhí)行時間C的屬性確定;當所述周期任務截止期限的屬性為“短”,閾值的屬性為“重要”;這樣可以保證截止期限短的周期任務優(yōu)先執(zhí)行,降低截止期丟失率。截止期限的屬性為“長”,閾值的屬性為“不重要”;截止期限的屬性為“中”,執(zhí)行時間的屬性為“短”或“中”,閾值的屬性均為“一般”。
[0043]將模糊推理系統(tǒng)的輸出值映射到閾值δ的隸屬度函數(shù),確定閾值δ的屬性,當閾值δ的屬性為“不重要”或“一般”時采用RM算法執(zhí)行周期任務,否則采用EDF算法執(zhí)行周期任務。
[0044]表1為本發(fā)明模糊規(guī)則描述
[0045]
【權(quán)利要求】
1.一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其特征在于:包括如下步驟: 查找就緒的任務集T,對任務集T的任務按照截止期限D(zhuǎn)升序排序,找出截止期限最短的任務; 以截止期限最短任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)的輸入數(shù)據(jù); 利用模糊推理系統(tǒng)對上述輸入數(shù)據(jù)進行處理,即將模糊推理系統(tǒng)的輸出的閾值δ映射到它的隸屬度函數(shù),根據(jù)其隸屬度函數(shù)確定閾值δ的屬性; 判斷模糊推理系統(tǒng)輸出的閾值δ的屬性,如閾值δ的屬性為“不重要”或“一般”,采用RM算法調(diào)度執(zhí)行任務。
2.按照權(quán)利要求1所述的一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其特征在于:如閾值δ的屬性為“重要”時,采用EDF算法調(diào)度執(zhí)行任務。
3.按照權(quán)利要求1所述的一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其特征在于:所述截止期限D(zhuǎn)、執(zhí)行時間C、閾值δ的隸屬度函數(shù),采用三角形隸屬度函數(shù);所述執(zhí)行時間和截止期限的屬性為“短”、“中”、“長”,閾值δ的屬性為“不重要”、“一般”或“重要”。
4.按照權(quán)利I所述的一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其特征在于:以截止期限D(zhuǎn)最短任務的執(zhí)行時間C、截止期限D(zhuǎn)作為模糊推理系統(tǒng)的輸入數(shù)據(jù);所述模糊推理系統(tǒng)包括輸入部分、輸出部分、CPU處理部分;輸入部分將所述輸入數(shù)據(jù)映射到相應的執(zhí)行時間C和截止期限D(zhuǎn)的隸屬度函數(shù)中;CPU處理部分,利用所述輸入數(shù)據(jù)并調(diào)用模糊規(guī)則產(chǎn)生閾值δ的結(jié)果;輸出部分將所述結(jié)果轉(zhuǎn)化為閾值δ的屬性。
5.按照權(quán)利4所述的一種適用于實時系統(tǒng)周期任務的混合調(diào)度方法,其特征在于:上述模糊規(guī)則通過任務的截止期限D(zhuǎn)和執(zhí)行時間C的屬性確定;當任務截止期限的屬性為“短”,閾值δ的屬性為“重要”;截止期限的屬性為“長”,閾值δ的屬性為“不重要”;截止期限的屬性為“中”,執(zhí)行時間的屬性為“短”或“中”,閾值δ的屬性為“一般”。
【文檔編號】G06F9/46GK103810026SQ201210445745
【公開日】2014年5月21日 申請日期:2012年11月9日 優(yōu)先權(quán)日:2012年11月9日
【發(fā)明者】張憶文, 郭銳鋒, 劉嫻, 王鴻亮 申請人:中國科學院沈陽計算技術(shù)研究所有限公司