專利名稱:電信級以太網(wǎng)系統(tǒng)及用于該系統(tǒng)的實時任務(wù)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種電信級以太網(wǎng)系統(tǒng)及電信級以太網(wǎng)系統(tǒng)上的任務(wù)調(diào)度方 法,具體涉及一種電信級以太網(wǎng)系統(tǒng)及應(yīng)用于電信級以太網(wǎng)系統(tǒng)的基于復(fù)合 任務(wù)價值-截止期-資源的實時任務(wù)調(diào)度方法。
背景技術(shù):
與傳統(tǒng)以太網(wǎng)相比,電信級以太網(wǎng)具有下列五個特性提供可靠的業(yè)務(wù) 保護模式、可擴展性、對TDM(Time Division Multiplexing)業(yè)務(wù)的支持、高 QoS(Quality of Service)、 OAM(Operation, Administration, Management)能力, 這就要求應(yīng)用各種技術(shù)和方法改善電信級以太網(wǎng)系統(tǒng)的功能和性能。電信級 以太網(wǎng)軟件子系統(tǒng)在電信級以太網(wǎng)系統(tǒng)中占有極其重要的地位,這就要求這 部分既是高效的,同時也是可靠的,這也決定了電信級以太網(wǎng)系統(tǒng)對時間特 性有較高的要求,它是一種實時系統(tǒng)。當前的電信級以太網(wǎng)產(chǎn)品,基本上以 實時多任務(wù)操作系統(tǒng)+ASIC或NP廠家的驅(qū)動開發(fā)包+協(xié)議棧+網(wǎng)管的模式來 開發(fā)軟件子系統(tǒng),系統(tǒng)設(shè)計時首先考慮的是功能的實現(xiàn)和堆砌,并未充分考 慮和利用硬件平臺和具體應(yīng)用的特性,導(dǎo)致設(shè)計的軟件子系統(tǒng)在任務(wù)調(diào)度、 資源共享以及外部事件響應(yīng)和處理等方面尤其是任務(wù)調(diào)度方面存在不足的地 方。
任務(wù)調(diào)度技術(shù)是實時系統(tǒng)中的關(guān)鍵技術(shù)之一,在非實時系統(tǒng)中,調(diào)度的 主要目標是減小系統(tǒng)平均響應(yīng)時間,提高系統(tǒng)資源利用率,或優(yōu)化某一項指 標。而實時任務(wù)調(diào)度的目的則是盡可能地保證每個任務(wù)滿足他們的時間約束, 及時對外部請求做出響應(yīng)。實時調(diào)度技術(shù)通常有多種劃分方法,如搶占式調(diào) 度和非搶占式調(diào)度,靜態(tài)表驅(qū)動策略和優(yōu)先級驅(qū)動策略等等。
一個實時系統(tǒng)中,硬截止期任務(wù)、固截止期任務(wù)和軟截止期任務(wù)同時存 在,另一方面,定期任務(wù)和非定期任務(wù)也是同時存在的。定期任務(wù)和非定期 任務(wù)的調(diào)度各自具有自身的特性。
定期任務(wù)調(diào)度最常用的方法是基于優(yōu)先級的調(diào)度,而基于優(yōu)先級的調(diào)度
5態(tài)優(yōu)先級兩類方法。
靜態(tài)優(yōu)先級方法的代表是單調(diào)速率RM(Rate Monotonic)調(diào)度方法,動態(tài) 優(yōu)先級方法中使用較多的是早截止期優(yōu)先EDF(Early Deadline First)調(diào)度方 法。這兩類方法建立在如下的假設(shè)上
(1) 所有具有硬截止期的任務(wù)的請求是周期性的,任務(wù)的兩次請求之間的 時間間隔為常數(shù)。
(2) 截止期由可運行性唯一決定,換句話說,每個任務(wù)必須在下一個請求 到來之前完成本次執(zhí)行。
(3) 任務(wù)是相對獨立的,也即一個任務(wù)實例的執(zhí)行不依賴于其它任務(wù)實例 的開始和結(jié)束。 '
(4) 每個任務(wù)的運行時間不隨時間而改變,也就是說,所有實例的運行時 間都是相同的。
(5) 所有非周期性任務(wù)都不具有硬截止期,且不影響周期性任務(wù)的行為。 一般情況下,實時系統(tǒng)涉及混合任務(wù)集的調(diào)度處理,其中不僅有定期任
務(wù)與非定期任務(wù),而且任務(wù)可能具有硬截止期、固截止期或者軟截止期。具 有混合任務(wù)集的實時調(diào)度算法的目標是l.保證硬截止期任務(wù)滿足截止期; 2.最大化固截止期任務(wù)的完成數(shù)量;2.最小化軟截止期任務(wù)的平均響應(yīng)時間。 在實時混合任務(wù)調(diào)度中,處理軟截止期非定期任務(wù)的方法主要有后臺執(zhí) 行方法、基于服務(wù)器的算法和基于空閑時間的算法。
(1) 后臺執(zhí)行方法,它是在處理器空閑(未執(zhí)行任何未完成的定期任務(wù))時
以FCFS次序執(zhí)行這些非定期任務(wù),如果定期任務(wù)的負載很高,則用于后臺處 理非定期任務(wù)的處理器時間就相當少,因此非定期任務(wù)的響應(yīng)時間是不可預(yù)測的。
(2) 基于服務(wù)器的方法,該方法又稱作帶寬保留算法,其主要思想是,在保 證滿足定期任務(wù)截止期的前提下,引入一個或者幾個額外的定期任務(wù)作為服 務(wù)器來處理非定期任務(wù),這些任務(wù)使用指定的處理器帶寬,根據(jù)定期任務(wù)調(diào) 度算法的不同,帶寬預(yù)留算法又可以歸結(jié)為固定優(yōu)先級服務(wù)器算法與動態(tài)優(yōu) 先級服務(wù)器算法。、
(3) 基于空閑時間的方法,包括空閑時間偷取算法(slack stealing algorithm)、時間片移位算法(slot shifting algorithm)與雙重優(yōu)先級算法(dual priority algorithm),這些算法都是通過離線或者在線分析從定期任務(wù)調(diào)度的空
6隙獲得盡可能多的處理時間來處理非定期任務(wù)。
歸納起來,當前對實時任務(wù)調(diào)度的研究,多集中在從理論上探討,在保 證硬截止期定期任務(wù)不錯過時限的基礎(chǔ)上,如何提高CPU的利用率上。這些
研究在下列方面存在不足
(1) 為理論研究方便,常常假設(shè)任務(wù)調(diào)度開銷可以忽略,假設(shè)任務(wù)之間相 對獨立,假設(shè)任務(wù)不受CPU以外的資源的影響。這些因素在實際實時系統(tǒng)中 是不可忽略的。
(2) 當前的研究多集中在以確保定期任務(wù)的截止期為前提來調(diào)度非定期任 務(wù),如不可行,則舍棄非定期任務(wù)。實際上系統(tǒng)多受外部事件驅(qū)動,對外部 事件的快速響應(yīng)往往要求非定期任務(wù)也具有硬截止期,舍棄非定期任務(wù)同樣 有很嚴重的后果。
(3) 研究多以周期和截止期依據(jù)決定任務(wù)的優(yōu)先級,而忽視了實時任務(wù)對 整個系統(tǒng)的影響度和任務(wù)的價值,使得實際的調(diào)度在輸出上不是最優(yōu)。有部 分研究雖然考慮了任務(wù)的價值和價值密度,但無合適的量化方法,而且基于 價值密度僅考慮了處理機資源,而未考慮其它資源的影響,不完全合乎實際 系統(tǒng)的特性。
(4) 未考慮外部事件產(chǎn)生的中斷帶來的開銷,而中斷處理程序往往運行在 核心態(tài),往往具有更高的執(zhí)行優(yōu)先權(quán),同時對系統(tǒng)資源的影響不能忽略。
(5) 大多數(shù)算法的實現(xiàn)時間和空間復(fù)雜度較高,難以在實際系統(tǒng)實現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明的目的是為提高電信級以太網(wǎng)系統(tǒng)的性能,提出了一種基于任務(wù) 復(fù)合價值密度、截止期和開銷的調(diào)度算法來完成電信級以太網(wǎng)系統(tǒng)的軟件調(diào) 度,設(shè)計任務(wù)的價值時,合理考慮外部事件的緊急程度,以改善對外部事件 的響應(yīng)和處理速度,同時考慮任務(wù)之間的依賴性及資源的使用情況。當外部 事件發(fā)生時,既考慮處理外部事件的中斷處理程序的執(zhí)行時間,同時被中斷 服務(wù)程序激活的非定期任務(wù)可根據(jù)事件的性質(zhì)設(shè)置不同的價值和任務(wù)截止 期。將定期任務(wù)和非定期任務(wù)統(tǒng)一管理,綜合考慮復(fù)合價值、截止期和資源 的使用情況確定任務(wù)的優(yōu)先級,從而使系統(tǒng)運行的價值盡可能最大化。
本發(fā)明的方法可簡稱為價值密度-截止期-開銷VDDC(Value Density-Deadline-Cost)算法,它釆用基于優(yōu)先級的調(diào)度方法。但設(shè)計任務(wù)優(yōu)先級時,綜合考慮截止期、復(fù)合價值密度和資源開銷三種因素。它基于電信級 以太網(wǎng)系統(tǒng)的若干評價因子建立評價函數(shù)來確定系統(tǒng)中任務(wù)的價值,評價因 子包括對任務(wù)按期執(zhí)行對系統(tǒng)的貢獻、任務(wù)響應(yīng)外部事件的緊迫程度、任務(wù) 錯過截止期的后果等等。
另一方面,需綜合考慮任務(wù)的開銷,也就是任務(wù)對資源的使用情況,如 某任務(wù)對資源的使用影響其它更重要任務(wù)的執(zhí)行甚至可能危及整個系統(tǒng),則 需對該任務(wù)作特別處理。
在每個調(diào)度時刻,綜合考慮當前活躍任務(wù)集的截止期、復(fù)合價值密度和 資源開銷等屬性,動態(tài)決定任務(wù)的優(yōu)先級,并基于優(yōu)先級實現(xiàn)搶先式調(diào)度。
先給出調(diào)度時刻的定義調(diào)度時刻是指如下任一情況發(fā)生的時刻調(diào)度 時間片到,外部事件發(fā)生引起非定期任務(wù)就緒,當前執(zhí)行的任務(wù)完成或執(zhí)行 時間到,阻塞的高優(yōu)先級任務(wù)活躍,當前執(zhí)行的任務(wù)由于資源請求失敗而阻 塞等等。
本發(fā)明包括如下步驟
(1) 在系統(tǒng)初始化階段,統(tǒng)計系統(tǒng)的總資源i ,并表示成資源圖模型i GM, 估算各中斷服務(wù)程序需要的CPU時間7^[i](i表示中斷向量號),估算調(diào)度模 塊最壞執(zhí)行情況需要的CPU時間C,設(shè)計各任務(wù)的屬性并表示成任務(wù)圖模 型rGAf,計算每個任務(wù)的價值和資源使用情況。
(2) 從任務(wù)圖模型的底部開始,計算每個任務(wù)的復(fù)合價值。
(3) 在每個調(diào)度時刻,統(tǒng)計處于就緒狀態(tài)的任務(wù)集&—,計算任務(wù)集的超 周期W和在超周期內(nèi)的剩余執(zhí)行時間之和丄C^ ,并計算當前調(diào)度時刻直至一 個超周期結(jié)束的CPU可用時間乙,。計算CPU時間時,如果調(diào)度時刻出現(xiàn)外 部事件引起的中斷,則需去掉中斷處理程序需要的執(zhí)行時間,還需要去掉調(diào) 度模塊最壞執(zhí)行情況所需CPU執(zhí)行時間的估計值。
(4) 根據(jù)CPU可用時間和任務(wù)的當前情況,判斷系統(tǒng)是否過載,如果未過 載,則按EDF算法分配優(yōu)先級。如果過載,則按照下文所述的(4)式分配各任 務(wù)的優(yōu)先級。
(5) 最后按照優(yōu)先級的高低進行任務(wù)調(diào)度。
根據(jù)本發(fā)明的一個方面,提供了 一種面向電信級以太網(wǎng)系統(tǒng)的基于任務(wù) 復(fù)合價值密度-截止期-開銷的實時任務(wù)調(diào)度方法,包括如下步驟在每個調(diào)度 時刻,判斷所述系統(tǒng)是否處于過載狀態(tài);如果系統(tǒng)處于非過載狀態(tài),采用EDF方法分配任務(wù)的優(yōu)先級,如果系統(tǒng)處于過載狀態(tài),則基于任務(wù)復(fù)合價值密度、
任務(wù)截止期和開銷來分配任務(wù)的優(yōu)先級;采用基于優(yōu)先級的搶先式任務(wù)調(diào)度
方式執(zhí)行任務(wù)調(diào)度,以盡可能地獲得最大的系統(tǒng)價值。
根據(jù)本發(fā)明的另一方面,提供了一種電信級以太網(wǎng)系統(tǒng),包括判斷模 塊,用于在每個調(diào)度時刻判斷所述系統(tǒng)是否處于過載狀態(tài);優(yōu)先級分配模塊, 如果系統(tǒng)處于非過載狀態(tài),則采用EDF方法分配任務(wù)的優(yōu)先級,如果系統(tǒng)處 于過載狀態(tài),則基于任務(wù)復(fù)合價值密度、任務(wù)截止期和開銷來分配任務(wù)的優(yōu) 先級;調(diào)度模塊,采用基于優(yōu)先級的搶先式任務(wù)調(diào)度方式執(zhí)行任務(wù)調(diào)度,以 盡可能地獲得最大的系統(tǒng)價值。
歸納起來本發(fā)明有如下一些改進的地方
(1) 設(shè)計任務(wù)的自身價值時考慮了任務(wù)對系統(tǒng)的貢獻,同時也考慮了任務(wù) 對外部事件響應(yīng)的因素以及任務(wù)錯過截止期時的后果。
(2) 評價任務(wù)的價值不單是考慮任務(wù)本身的價值,還考慮任務(wù)關(guān)聯(lián)的任務(wù) (也就是任務(wù)的前驅(qū)任務(wù)和后繼任務(wù))價值。
(3) 通過過載判斷,使得系統(tǒng)在非過載的情況下,采用最優(yōu)的EDF調(diào)度, 過載時則采用結(jié)合EDF的價值密度調(diào)度,可以獲取盡可能大的系統(tǒng)價值。
CPU可用時間的影響。
(5)由于在調(diào)度之前已檢查了任務(wù)之間由于資源限制帶來的制約,通過對 資源不能滿足的重要程度相對較低的任務(wù)降低優(yōu)先級以避免死鎖。
圖1為基于任務(wù)復(fù)合價值密度-截止期-開銷的實時任務(wù)調(diào)度方法的工作 原理示意圖。
圖2a為一個任務(wù)集的任務(wù)圖模型示意圖。 圖2b為圖2a所示任務(wù)集的任務(wù)屬性描述圖。
圖2c為針對圖2a所示任務(wù)集的各種靜態(tài)調(diào)度方法獲得的任務(wù)價值的描述。
圖3a為一個實時系統(tǒng)的資源圖模型示意圖。 圖3b為一個任務(wù)集的任務(wù)屬性描述圖。
圖3c為針對圖3a所示系統(tǒng)和3b所示任務(wù)集,采用EDF調(diào)度方法,在一個超周期內(nèi)任務(wù)的執(zhí)行情況。
圖4a為不考慮任務(wù)的依賴關(guān)系,對任務(wù)數(shù)為16的任務(wù)集采用幾種動態(tài)
調(diào)度方法的評測結(jié)果。
圖4b為不考慮任務(wù)的依賴關(guān)系,對任務(wù)數(shù)為32的任務(wù)集采用幾種動態(tài) 調(diào)度方法的評測結(jié)果。
圖4c為不考慮任務(wù)的依賴關(guān)系,對任務(wù)數(shù)為64的任務(wù)集采用幾種動態(tài) 調(diào)度方法的評測結(jié)果。
圖5a為考慮任務(wù)的依賴關(guān)系,對任務(wù)數(shù)為16的任務(wù)集采用幾種動態(tài)調(diào) 度方法的評測結(jié)果。
圖5b為考慮任務(wù)的依賴關(guān)系,對任務(wù)數(shù)為32的任務(wù)集采用幾種動態(tài)調(diào) 度方法的評測結(jié)果。
圖5c為考慮任務(wù)的依賴關(guān)系,對任務(wù)數(shù)為64的任務(wù)集采用幾種動態(tài)調(diào) 度方法的評測結(jié)果。
圖6為本發(fā)明的電信級以太網(wǎng)系統(tǒng)的示意框圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明進行詳細的描述。 *問題的提出
為彌補基于截止期和空閑時間的調(diào)度算法未考慮任務(wù)輸出或?qū)φ麄€系統(tǒng) 的貢獻的不足,有些研究提出了基于價值和價值密度的算法?;趦r值的算 法給每個任務(wù)分配一個關(guān)鍵度表示該任務(wù)對系統(tǒng)的重要程度,而基于關(guān)鍵度 分配任務(wù)的優(yōu)先級。基于價值密度的算法則在分配任務(wù)的關(guān)鍵度的同時考慮 該任務(wù)耗費的CPU時間,基于關(guān)鍵度/CPU時間來分配任務(wù)的優(yōu)先級。但這 些算法的共同缺陷是,未充分考慮系統(tǒng)其它資源的使用情況和系統(tǒng)各任務(wù)之 間的相互依賴的特性,而且價值、價值密度也未能有效與截止期關(guān)聯(lián)起來。 因此,基于價值和價值密度的算法在實際系統(tǒng)中常常不能獲得良好的調(diào)度性 能。
考察圖2a所示的任務(wù)圖模型對應(yīng)的任務(wù)集。該任務(wù)集包含的任務(wù)屬性用 圖2b描述,各任務(wù)都是硬截止期任務(wù),任務(wù)的相對截止期與任務(wù)的周期相同 且相位都為0。圖2c是按照RM、基于價值、基于價值密度以及最具價值執(zhí) 行情況分配優(yōu)先級并按照靜態(tài)優(yōu)先級調(diào)度的結(jié)果。圖2c列出了幾種調(diào)度算法
10下該任務(wù)集的執(zhí)行順序,如果"任務(wù)n/價值"列對應(yīng)的單元格為空,則表明在 該調(diào)度算法下不能再加入任務(wù),否則調(diào)度不可行。顯然,用RM、基于價值、 基于價值密度等三種優(yōu)先級分配方法產(chǎn)生的調(diào)度產(chǎn)生的價值距最大價值距離 甚遠。
再考察一個動態(tài)優(yōu)先級情況下的例子,考察圖3a所示的資源圖模型。而 四個任務(wù)組成的任務(wù)集如圖3b所示。如果不考慮資源的限制,則在EDF調(diào)度 算法下該任務(wù)集執(zhí)行情況如圖3c所示。由圖3b和圖3c可知,該任務(wù)集的 超周期為36,在一個超周期內(nèi),任務(wù)T4共執(zhí)行了 18次,每次執(zhí)行l(wèi)個時間 單位。任務(wù)T3共執(zhí)行了 9次,每次執(zhí)行1個時間單位。任務(wù)T2共執(zhí)行了 3次, 每次執(zhí)行2個時間單位。任務(wù)Tl共執(zhí)行了 1次,每次執(zhí)行3個時間單位。在 t =4, 16, 28三個時刻,任務(wù)T2沒有完成執(zhí)行,但被任務(wù)T4搶先。在時刻t =12, 24,任務(wù)Tl沒有完成執(zhí)行,但同樣祐:任務(wù)T4搶先。
在資源限制的情況下,調(diào)度情況則有很大的不同。這里,假設(shè)任務(wù)對資 源的申請在任務(wù)開始時就進行,而在任務(wù)執(zhí)行完畢后才釋放已占用的資源。
那么,對于本例,在時刻t47,任務(wù)^和T2個執(zhí)行了一個時間單位,但都沒 結(jié)束,而任務(wù)T4由于截止期更近獲得較高優(yōu)先級,因而搶先任務(wù)T2。但搶先后, 通信帶寬和緩存量大部分已被^和T2占用,不能滿足T4的運行所需,而T,和T2 已被T4搶先而掛起,這時系統(tǒng)出現(xiàn)死鎖。
*本發(fā)明概述
本發(fā)明的方法為VDDC算法,它采用基于優(yōu)先級的調(diào)度方法。但設(shè)計任 務(wù)優(yōu)先級時,綜合考慮截止期、復(fù)合價值密度和資源開銷三種因素。它基于 電信級以太網(wǎng)系統(tǒng)的若千評價因子建立評價函數(shù)來確定系統(tǒng)中任務(wù)的價值, 評價因子包括對任務(wù)按期執(zhí)行對系統(tǒng)的貢獻、任務(wù)響應(yīng)外部事件的緊迫程度、 任務(wù)錯過截止期的后果等等。
另一方面,需綜合考慮任務(wù)的開銷,也就是任務(wù)對資源的使用情況,如 某任務(wù)對資源的使用影響其它更重要任務(wù)的執(zhí)行甚至可能危及整個系統(tǒng),則 需對該任務(wù)作特別處理。
在每個調(diào)度時刻,綜合考慮當前活躍任務(wù)集的截止期、復(fù)合價值密度和 資源開銷等屬性,動態(tài)決定任務(wù)的優(yōu)先級,并基于優(yōu)先級實現(xiàn)搶先式調(diào)度。
11*算法的詳細描述 >任務(wù)集的相關(guān)定義
給定一個系統(tǒng)的任務(wù)集TS=PTUAT,其中PT是周期任務(wù)集,而AT是 非周期性任務(wù)集。PT={pt" pT2...pin},而pTi(i二l,2…n)可用屬性集(Oi, Ci, Di, Pi, TU(pTi), TD(pTi), TC(p"Ci), TV(p^》來描述,各屬性解釋如下
Oi—任務(wù)pi的相位,也即pi的釋放時間。
Ci—任務(wù)pii的執(zhí)行時間,也即任務(wù)pTi在一個周期內(nèi)的最壞執(zhí)行時間。 Dj —任務(wù)pi的相對截止期。 Pi—任務(wù)的周期。
TU(pii)—定義TU(T)為任務(wù)T的直接前驅(qū)任務(wù)集函數(shù),則TU(pTi)為pi的 直接前驅(qū)任務(wù)集,也就是pv義、須等到TU(pTj)的所有任務(wù)都執(zhí)行完畢后才可 以開始執(zhí)行。
TD(p"Ci)—定義TD(T)為任務(wù)T的直接后繼任務(wù)集函數(shù),則TD(pTj)為pii的
直接后繼任務(wù)集,也就是說,TD(pTj)里的所有任務(wù)必須等到pTj執(zhí)行完畢后才
可以開始扭J亍。
TCOrCi)—定義TC(T)為任務(wù)T的開銷函數(shù),則TC(pTi)為pti執(zhí)行需要的全 部物理資源以及由于占用資源對系統(tǒng)的影響,物理資源包括處理機時間、內(nèi) 存數(shù)量、關(guān)鍵隊列、通信帶寬等等。
TV(p^)--定義TVCc)為任務(wù)T的價值函數(shù),則TV(pii)為pTj正常執(zhí)行(未錯 過截止期)的價值。
AT= (crc,, crc2...cn;m},而cn;!(i二l, 2…m)可以用屬性集",pi, di, TU(crCi), TD(crCi), TC(crCi), TV(a"Cj) }來描述,其中^是任務(wù)crti的到達時間,可以理 解為由于某個外部事件觸發(fā)而啟動該任務(wù)的時間。Pi表示任務(wù)crCi的執(zhí)行時間, d,是任務(wù)的截止期,如果crci沒有硬截止期,則^ = +00, TU(crCi)、 TD(crCi)、 TC(crCi)、 TV(crCi)的含義分別與TU(pTi)、 TD(pO、 TC(p^)和TV(p^)相同。
>任務(wù)的價值
在 一般實時系統(tǒng)中,不同的周期性任務(wù)錯過截止期帶來的后果嚴重程度 不同。例如,在電信級以太網(wǎng)系統(tǒng)中,性能統(tǒng)計任務(wù)錯過截止期,僅僅會導(dǎo) 致網(wǎng)絡(luò)管理用戶的抱怨,而故障檢測任務(wù)錯過截止期則可能導(dǎo)致不能提供故 障情況下的快速倒換,導(dǎo)致網(wǎng)絡(luò)l史據(jù)的大量丟失。
任務(wù)T自身的價值TV(T)的具體取值可由多個因素的綜合評價所得到。記任務(wù)T按期正確執(zhí)行對系統(tǒng)的貢獻為V C0,錯過截止期給系統(tǒng)帶來的后果為 R(T),響應(yīng)外部事件的緊迫等級為G(T),則可用下面的(1)式計算TV(T),
7T(r) = a, * + a2 *脈)+ a3 * (1)
在(1 )式中A- 3是各子項的系數(shù),表示各評價因子在綜合評價中所占權(quán)重。 >任務(wù)的復(fù)合價值
定義任務(wù)T的復(fù)合價值CTV(T)定義為任務(wù)自身的價值和它的所有后繼任 務(wù)對該任務(wù)的附加價值之和,其中,所述任務(wù)的后繼任務(wù)是指必須等到所述
任務(wù)執(zhí)行完畢后才可以開始執(zhí)行的任務(wù)。以r(Ti, Tj)表示任務(wù)Tj對任務(wù)Tj產(chǎn)生
的附加價值,r(Tj, Tj)和CTV(T)分別可以由下面的(2)和(3)式計算。
'0 如果r不是r的直接后繼 r(r,r)H i (2)
'Lcrr(、)/層(777(20))如果fj是r,的直接后繼
C7r(r)= 7T(r) +力r(r, r,) (3)
在(2)式中,其中,r(Ti, Tj)表示任務(wù)Tj對任務(wù)Tj產(chǎn)生的附加價值,函數(shù)
MN(TU(ij))用于獲得集合TU(Tj)的成員個數(shù),TU(Tj)是任務(wù)ij的直接前驅(qū)任務(wù)集。
>任務(wù)的開銷
任務(wù)T的開銷TC(T)的具體取值也是由各資源的使用情況得到,例如任務(wù) (T)正常執(zhí)行占用處理器的情況、占用內(nèi)存資源的情況、占用關(guān)鍵隊列的情況
以及占用通信帶寬的情況等等。如果某項資源在任務(wù)按任何順序執(zhí)行時都能 夠完全滿足要求,則該資源不影響任務(wù)的調(diào)度,因此,開銷帶來的影響主要 是在某項資源不能完全滿足要求時才發(fā)生作用。 >與價值有關(guān)的定理
在表述定理之前,先給出幾個定義。系統(tǒng)過載在某個時刻,如果系統(tǒng)
不能對所有的請求給以及時的響應(yīng),導(dǎo)致某些請求錯過截止期,則稱在那個
時刻系統(tǒng)過載。系統(tǒng)價值在某個時間段內(nèi),系統(tǒng)執(zhí)行的所有任務(wù)對系統(tǒng)的 貢獻總和稱為那段時間的系統(tǒng)價值。
定理l:在系統(tǒng)不處于過載的情況下,不存在任何一種調(diào)度算法,它獲得 的系統(tǒng)價值比EDF算法大。
證明如果調(diào)度的任務(wù)集S由n個任務(wù)組成,如果采取某種調(diào)度算法,使得這n個任務(wù)的執(zhí)行都不存在超過執(zhí)行截止期的情況,則得到的系統(tǒng)價值 最大。而在系統(tǒng)不處于過載的情況下,EDF調(diào)度算法是最優(yōu)的。也就是對任 一任務(wù)集,只要存在一種調(diào)度算法可調(diào)度,那EDF調(diào)度算法必然也可調(diào)度。 那么,在系統(tǒng)不處于過載的情況下,EDF調(diào)度算法獲得的系統(tǒng)價值已經(jīng)最大 化,也就意味著不存在任何一種調(diào)度算法,它獲得的系統(tǒng)價值比EDF算法大。 定理1說明,在無過載現(xiàn)象出現(xiàn)時,EDF算法在系統(tǒng)價值方面仍然是最優(yōu)。
定理2:在系統(tǒng)處于過載的情況下,EDF算法的獲得的最大系統(tǒng)價值的 概率隨任務(wù)數(shù)的增加而減少。
證明不失一般性,假設(shè)系統(tǒng)中的所有任務(wù)都具有硬截止期,且相對截 止期等于任務(wù)的周期(非定期任務(wù)可看作只有一個周期的定期任務(wù))。由于系統(tǒng) 過載,也就是說所有活躍任務(wù)需要的處理器使用率之和大于1,實質(zhì)上意味 著采用EDF算法調(diào)度該任務(wù)集不可行,換句話說至少存在某個任務(wù)的某個實 例錯過截止期。
如果是定期任務(wù)的某個實例錯過截止期,那么定期任務(wù)的特點決定了其 某個實例錯過截止期將產(chǎn)生多米諾效應(yīng),導(dǎo)致后面的所有實例錯過截止期。 而非定期任務(wù)可看成只有一個實例的定期任務(wù),它錯過截止期實際上也意味 著整個任務(wù)失效。因此,該任務(wù)調(diào)度可以看作是去掉錯過截止期任務(wù)的可行調(diào)度。
假設(shè)只有一個任務(wù)錯過截止期,且錯過的任務(wù)為"1<=1<=11), 一般來說
任務(wù)的價值不依賴于任務(wù)的截止期,那么從EDF調(diào)度算法的特點可知,用Tr
去替換可調(diào)度任務(wù)集中任何一個任務(wù)調(diào)度仍然可行。那么只有當可調(diào)度任務(wù)
集中的所有任務(wù)的價值高于Tr時EDF調(diào)度算法才獲得最大的系統(tǒng)價值。這種
情況下EDF調(diào)度算法獲得最大價值的概率;^1/《。用同樣的分析可得到,當 有r個任務(wù)錯過截止期時,EDF調(diào)度算法獲得最大價值的概率;^1/C:。顯然, 在11>=2時,定理成立。
定理2說明,在系統(tǒng)過載的情況下,采用EDF算法調(diào)度在大多數(shù)情況下不 會獲得最大的系統(tǒng)價值。這也表明在系統(tǒng)過載情況下,調(diào)度算法有改進的余 地。
>算法的優(yōu)先級設(shè)置
在系統(tǒng)過載時,該算法中的任務(wù)的優(yōu)先級的設(shè)置綜合考慮了任務(wù)復(fù)合價值密度、任務(wù)截止期以及任務(wù)的開銷等多重因素。
定義任務(wù)T的綜合優(yōu)先數(shù)為戶i^), AD("為T的截止期,則尸/ (^)可以由
下面的(4)式計算。
》餘)=,(7Y(r)/ZC(r)), 7T(r))
f+00 如果是A =乂 C 如果是B
< ^D(r)-r如果不是(A或B) (4)
A=(3 r,, t, ", C2T(7"i) /丄C(^ ) > C7T(r) / £C(r), r 4 !r,) B=(3 ^, r, # r, CrK^i) /丄C(^ ) > C7T"(r) / ^C(r), r — # r,)^。
D = {V r,, r, Crr (r,) / ^C(r,) > C7T(r) /丄CO), t — # ^} 在(4)式中,C7TTTi)表示任務(wù)Ti的復(fù)合任務(wù)價值,^Drr)表示T的截止期, T表示進行調(diào)度的時間,LC(Tj)表示任務(wù)Ti的剩余執(zhí)行時間,r —!r,表示由于T 的調(diào)度,^將錯過截止期,r — ^表示由于T的調(diào)度和資源申請,Ti將申請不 到某項資源,TC(T)為任務(wù)T的開銷,TV(T)為任務(wù)T自身的價值。任務(wù)的優(yōu)先數(shù) 越大,該任務(wù)的調(diào)度優(yōu)先級越低。 >算法描述
先給出調(diào)度時刻的定義調(diào)度時刻是指如下任一情況發(fā)生的時刻調(diào)度 時間片到,外部事件發(fā)生引起非定期任務(wù)就緒,當前執(zhí)行的任務(wù)完成或執(zhí)行 時間到,阻塞的高優(yōu)先級任務(wù)活躍,當前執(zhí)行的任務(wù)由于資源請求失敗而阻
塞等等。
算法開始階段,也就是在系統(tǒng)初始化階段,統(tǒng)計系統(tǒng)的總資源i ,并表 示成資源圖模型i GM,估算各中斷服務(wù)程序需要的CPU時間7^[i](i表示中 斷向量號),估算調(diào)度模塊最壞執(zhí)行情況需要的CPU時間L,設(shè)計各任務(wù)的 屬性并表示成任務(wù)圖模型7UM,計算每個任務(wù)的價值和資源使用情況??梢?按照上述(l)式計算每個任務(wù)的價值。將系統(tǒng)的總資源/ ,表示成資源圖模型 i GM的方法以及將各任務(wù)表示成任務(wù)圖模型rGM的方法是本領(lǐng)域公知的, 因此為簡單起見而在這里省略對它們的描述。
然后,從任務(wù)圖模型的底部開始,計算每個任務(wù)的復(fù)合價值??梢园凑?上述(2)式和(3)式計算每個任務(wù)的復(fù)合價值。
隨后,生成調(diào)度服務(wù)進程并使其處于休眠狀態(tài)。狀態(tài)的任務(wù)集&—,計算任務(wù)集的超周 期M和在超周期內(nèi)的剩余執(zhí)行時間之和£Cram ,并計算當前調(diào)度時刻直至一個
超周期結(jié)束的CPU可用時間r。v,。計算CPU時間時,如果調(diào)度時刻出現(xiàn)外部
事件引起的中斷,則需去掉中斷處理程序需要的執(zhí)行時間,還需要去掉調(diào)度 模塊最壞執(zhí)行情況所需CPU執(zhí)行時間的估計值。
然后4艮據(jù)CPU可用時間和任務(wù)的當前情況,判斷系統(tǒng)是否過載,如果系 統(tǒng)未過載,則按EDF算法分配各任務(wù)的優(yōu)先級。如果系統(tǒng)過載,則基于任務(wù) 的復(fù)合價值密度、任務(wù)的截止期和任務(wù)的開銷來分配任務(wù)的優(yōu)先級,例如, 可以按照上式(4)分配各任務(wù)的優(yōu)先級。
最后按照各任務(wù)的優(yōu)先級的高低進行搶先式任務(wù)調(diào)度。算法的具體實現(xiàn) 參見圖1。
*算法帶來的改進
歸納起來算法有如下一些改進的地方
(1) 設(shè)計任務(wù)的自身價值時考慮了任務(wù)對系統(tǒng)的貢獻,同時也考慮了任務(wù) 對外部事件響應(yīng)的因素以及任務(wù)錯過截止期時的后果。
(2) 評價任務(wù)的價值不單是考慮任務(wù)本身的價值,還考慮與該任務(wù)關(guān)聯(lián)的 任務(wù)(也就是任務(wù)的前驅(qū)任務(wù)和后繼任務(wù))價值。
(3) 通過過載判斷,使得系統(tǒng)在非過載的情況下,采用最優(yōu)的EDF調(diào)度, 過載時則采用結(jié)合EDF的價值密度調(diào)度,可以獲取盡可能大的系統(tǒng)價值。
(4) 同時考慮中斷服務(wù)程序的執(zhí)行時間和任務(wù)調(diào)度模塊的執(zhí)行時間對 CPU可用時間的影響。
(5) 由于在調(diào)度之前已檢查了任務(wù)之間由于資源限制帶來的制約,通過對 資源不能滿足的重要程度相對較低的任務(wù)降低優(yōu)先級以避免死鎖。
參才莫擬測試、分析和應(yīng)用
>才莫擬測試和分析
為了對VDDC方法的性能進行合理的評價,設(shè)計了一個應(yīng)用程序來模擬 任務(wù)調(diào)度的過程。該程序一共實現(xiàn)了四種調(diào)度算法EDF、基于價值、基于 價值密度和VDDC方法。該程序模擬調(diào)度使用的任務(wù)的貢獻值、資源情況、 截止期、執(zhí)行時間等屬性,任務(wù)之間的依賴關(guān)系,以及中斷產(chǎn)生的時機和中
16斷向量號都由偽隨機數(shù)發(fā)生器生成。程序的輸入是任務(wù)集的任務(wù)個數(shù)、中斷 源的個數(shù)和模擬調(diào)度次數(shù)等信息,程序的輸出是四種調(diào)度算法得到的系統(tǒng)價值。
首先模擬的是任務(wù)之間沒有相互制約和相互依賴關(guān)系的情況,也就是說, 任務(wù)之間沒有執(zhí)行的先后順序,所有的資源也都能滿足所有任務(wù)的需要。在
這種情況下,VDDC方法實際上相當于運行在它的一個簡化版本下。通過記 錄每次模擬調(diào)度得到的四種調(diào)度算法的系統(tǒng)價值并繪制成折線圖,可得到圖 4a、 4b和4c。
在圖4a、 4b和4c中,橫軸表示的是每次調(diào)度任務(wù)集中所有任務(wù)正常執(zhí) 行將導(dǎo)致的CPU利用率,大于1的值表示系統(tǒng)將處于過載情況,反之則系統(tǒng) 沒有處于過載情況。縱軸則表示調(diào)度算法產(chǎn)生的系統(tǒng)價值。圖4a、 4b和4c 分別是任務(wù)數(shù)為16、 32和64時的模擬調(diào)度結(jié)果。
從圖4a、 4b和4c可以看出,在非過載的情況下,EDF算法產(chǎn)生的系統(tǒng) 價值不小于其它三種算法,大部分情況下優(yōu)于基于價值和基于價值密度的方 法。而在過載情況下,如果以系統(tǒng)價值評價調(diào)度算法的性能,則EDF算法的 性能非常差,是這四種方法中最差的。而對于VDDC方法,雖然在個別實例 中,產(chǎn)生的系統(tǒng)價值低于其它三種方法,但產(chǎn)生的系統(tǒng)價值的平均值則是最 好的。
接著模擬任務(wù)之間存在執(zhí)行順序關(guān)系和資源限制的情況。同樣,通過記 錄每次模擬調(diào)度得到的四種調(diào)度算法的系統(tǒng)價值并繪制成折線圖,可得到圖 5a、 5b和5c。由圖5a、 5b和5c可以看出,在考慮任務(wù)存在執(zhí)行順序和資源 約束的情況下,如果系統(tǒng)過載,則VDDC方法所產(chǎn)生的系統(tǒng)價值遠比其它三
種方法好。
可用于實現(xiàn)本發(fā)明的VDDC方法的電信級以太網(wǎng)系統(tǒng)如圖6所示。該電 信級以太網(wǎng)系統(tǒng)100包括任務(wù)價值確定模塊102、任務(wù)復(fù)合價值確定模塊104、 開銷確定模塊106、判斷模塊108、優(yōu)先級分配模塊IIO和調(diào)度模塊112,并 且寺丸行上述VDDC方法。
任務(wù)價值確定模塊102在系統(tǒng)初始化階段,統(tǒng)計系統(tǒng)的總資源i ,并表 示成資源圖模型i GM,估算各中斷服務(wù)程序需要的CPU時間?L[i](i表示中 斷向量號),估算調(diào)度模塊最壞執(zhí)行情況需要的CPU時間T^,設(shè)計各任務(wù)的 屬性并表示成任務(wù)圖模型TGM,計算每個任務(wù)的價值和資源使用情況。可以
17按照上述(1 )式計算每個任務(wù)的價值。
任務(wù)復(fù)合價值確定模塊104從任務(wù)圖模型的底部開始,計算每個任務(wù)的
復(fù)合價值??梢园凑丈鲜?2)式和(3)式計算每個任務(wù)的復(fù)合價值。
開銷確定模塊106在每個調(diào)度時刻,統(tǒng)計處于就緒狀態(tài)的任務(wù)集^—, 計算任務(wù)集的超周期^和在超周期內(nèi)的剩余執(zhí)行時間之和丄C,,并計算當前 調(diào)度時刻直至一個超周期結(jié)束的CPU可用時間rav,。計算CPU時間時,如果 調(diào)度時刻出現(xiàn)外部事件引起的中斷,則需去掉中斷處理程序需要的執(zhí)行時間, 還需要去掉調(diào)度模塊最壞執(zhí)行情況所需CPU執(zhí)行時間的估計值。
判斷模塊108根據(jù)CPU可用時間和任務(wù)的當前情況,判斷系統(tǒng)100是否 過載。
優(yōu)先級分配模塊IIO根據(jù)判斷模塊108的判斷結(jié)果來分配各任務(wù)的優(yōu)先 級。如果系統(tǒng)未過載,則優(yōu)先級分配模塊IIO按EDF算法分配各任務(wù)的優(yōu)先 級。如果系統(tǒng)過載,則優(yōu)先級分配模塊110基于任務(wù)的復(fù)合價值密度、任務(wù) 的截止期和任務(wù)的開銷來分配任務(wù)的優(yōu)先級,例如,可以按照上式(4)分配各 任務(wù)的優(yōu)先級。
調(diào)度模塊112按照分配給各任務(wù)的優(yōu)先級的高低進行搶先式任務(wù)調(diào)度。 應(yīng)當認識到,所述系統(tǒng)及其各個模塊可以用硬件、軟件、或者硬件和軟 件的組合來實現(xiàn)。
>實現(xiàn)和應(yīng)用
本發(fā)明的上述方法和系統(tǒng)在烽火網(wǎng)絡(luò)公司自主開發(fā)的M8428電信級以太 網(wǎng)設(shè)備(以下簡稱M8428設(shè)備)上開始實現(xiàn)和應(yīng)用。M8428設(shè)備背板交換帶寬 為800G,單一交換控制盤交換容量為400G。 M8428設(shè)備具有兩個主控槽位、 8個業(yè)務(wù)槽位,兩塊主控卡同時在位時實行1: 1保護。該設(shè)備最多可支持384 個10/100/1000端口、 192個千兆接口以及16個IOGE接口。
M8428設(shè)備的軟件子系統(tǒng)本身設(shè)計的任務(wù)共有73個。為應(yīng)用VDDC方 法,設(shè)計一個高優(yōu)先級任務(wù)VDDC Server來實現(xiàn)VDDC算法,因此系統(tǒng)共有 74個任務(wù)。由于M8428設(shè)備配置很高,資源方面能夠滿足應(yīng)用要求,因此, 應(yīng)用VDDC算法時簡化了對資源約束的處理。同時,為了能將標志調(diào)度時刻 的各種事件通告到VDDC Server任務(wù),設(shè)計了 一個操作系統(tǒng)核心適配層將操 作系統(tǒng)的任務(wù)同步和通信等核心功能調(diào)用封裝起來,以便各任務(wù)調(diào)用。有關(guān)各任務(wù)的設(shè)計并不需修改代碼,只是涉及系統(tǒng)功能調(diào)用部分的標識符被重定 義為核心適配層的功能,而不是原操作系統(tǒng)本身提供的功能。同時在操作系 統(tǒng)核心控制塊外,定義一個任務(wù)擴展描述塊來存放任務(wù)的各個屬性及任務(wù)之 間的關(guān)系等信息,對于中斷來說,除中斷向量外,還定義一個擴展中斷描述 結(jié)構(gòu)存放中斷服務(wù)程序的執(zhí)行時間等操作。
每個調(diào)度時刻,VDDC Server首先被激活,然后執(zhí)行VDDC算法,得到 各個任務(wù)的優(yōu)先數(shù),將這個優(yōu)先數(shù)映射為操作系統(tǒng)的優(yōu)先級并重新分配給各 任務(wù),然后VDDC Server自動掛起,讓其它任務(wù)按照優(yōu)先級調(diào)度。
目前M8428設(shè)備上帶有VDDC Server的軟件子系統(tǒng)運行情況良好。 綜上所述,本發(fā)明的基于任務(wù)復(fù)合價值密度、截止期和開銷的實時任務(wù) 調(diào)度方法和電信級以太網(wǎng)系統(tǒng)以任務(wù)執(zhí)行對系統(tǒng)的綜合貢獻(價值)為設(shè)計目 標,同時兼顧任務(wù)的截止期和任務(wù)對系統(tǒng)資源的使用情況等因素。設(shè)計任務(wù) 的價值時,合理考慮外部事件的緊急程度,以改善對外部事件的響應(yīng)和處理 速度,同時考慮任務(wù)之間的依賴性及資源的使用情況。當外部事件發(fā)生時, 既考慮處理外部事件的中斷處理程序的執(zhí)行時間,同時被中斷服務(wù)程序激活
的非定期任務(wù)可根據(jù)事件的性質(zhì)設(shè)置不同的價值和任務(wù)截止期。將定期任務(wù) 和非定期任務(wù)統(tǒng)一管理,綜合考慮復(fù)合價值密度、截止期和資源的使用情況
確定任務(wù)的優(yōu)先級,從而使系統(tǒng)運行的價值盡可能最大化。
盡管已經(jīng)示出和描述了本發(fā)明的示例實施例,本領(lǐng)域技術(shù)人員應(yīng)當理解, 在不背離權(quán)利要求及其等價物中限定的本發(fā)明的范圍和精神的情況下,可以 對這些示例實施例做出各種形式和細節(jié)上的變化。
權(quán)利要求
1. 一種面向電信級以太網(wǎng)系統(tǒng)的實時任務(wù)調(diào)度方法,包括如下步驟在每個調(diào)度時刻,判斷所述系統(tǒng)是否處于過載狀態(tài);如果系統(tǒng)處于非過載狀態(tài),采用早截止期優(yōu)先EDF方法分配任務(wù)的優(yōu)先級,如果系統(tǒng)處于過載狀態(tài),則基于任務(wù)復(fù)合價值密度、任務(wù)截止期和開銷來分配任務(wù)的優(yōu)先級;采用基于優(yōu)先級的搶先式任務(wù)調(diào)度方式執(zhí)行任務(wù)調(diào)度,以盡可能地獲得最大的系統(tǒng)價值。
2. 如權(quán)利要求1所述的面向電信級以太網(wǎng)系統(tǒng)的實時任務(wù)調(diào)度方法,其特征在于當系統(tǒng)處于過載狀態(tài)時,通過下式來分配任務(wù)的優(yōu)先級 》附=,(7r(r)/ZC(r)), rC(r))f+00 如果是A =jC 如果是B , ^D(r)-r如果不是(A或B)A=(3 ^ r, C7T(r,) /丄C(r,) 〉 C7Y(r) / ZCO), r — !r,) B=(3 r,, r, ", C7T(ri) /) > C7T(r) /丄C(r), H # r;) C = M4Z(i^(r,) + l)D = {V "r', & ^ r, ) /丄C(5) > C7T(r) /丄C(r), r — # r;}在上式中,尸i fT)表示任務(wù)T的綜合優(yōu)先數(shù),C7Tfc)表示任務(wù)T的復(fù)合價值, 」DW表示任務(wù)T的截止期,r表示進行調(diào)度的時間,LC(Ti)表示任務(wù)Tj的剩余 執(zhí)行時間,r — ki表示由于T的調(diào)度,Ti將錯過截止期,r — ^,表示由于T的調(diào) 度和資源申請,Ti將申請不到某項資源,TCCc)為任務(wù)T的開銷,TVCO為任務(wù)T 的價值,其中,任務(wù)的優(yōu)先數(shù)越大,該任務(wù)的調(diào)度優(yōu)先級越低。
3. 如權(quán)利要求2所述的面向電信級以太網(wǎng)系統(tǒng)的實時任務(wù)調(diào)度方法,其 特征在于C7Y^)為任務(wù)T自身的價值與其所有后繼任務(wù)對任務(wù)T的附加價值之和。
4. 如權(quán)利要求2或3所述的面向電信級以太網(wǎng)系統(tǒng)的實時任務(wù)調(diào)度方 法,其特征在于C7TTt)由下列算式?jīng)Q定f 0 如果r」不是r,的直接后繼r(r',r》—ic7r(s)/MV(7I/0",))如果r」是r,的直接后繼C7T(r)= 7T(r) +尤r(r, r,)其中,r(Ti, Tj)表示任務(wù)Tj對任務(wù)Ti產(chǎn)生的附加價值,函數(shù)MN(TU(Tj))用于獲得集合TU(i:j)的成員個數(shù),TU(Tj)是任務(wù)Tj的直接前驅(qū)任務(wù)集。
5. 如權(quán)利要求4所述的面向電信級以太網(wǎng)系統(tǒng)的實時任務(wù)調(diào)度方法,其 特征在于2Trx)由下列算式?jīng)Q定7T(r) =* + "2 *餘)+ "3 * G(r)在上式中,VCc)是表示任務(wù)T按期正確執(zhí)行對系統(tǒng)的貢獻的評價因子,R(T) 是表示任務(wù)T錯過截止期給系統(tǒng)帶來的后果的評價因子,G(T)表示任務(wù)T響應(yīng)外 部事件的緊迫等級的評價因子,a,《3是表示所述各評價因子在綜合評價中所 占的權(quán)重。
6. —種電信級以太網(wǎng)系統(tǒng),包括判斷模塊,用于在每個調(diào)度時刻判斷所述系統(tǒng)是否處于過載狀態(tài); 優(yōu)先級分配模塊,如果系統(tǒng)處于非過載狀態(tài),則采用早截止期優(yōu)先EDF方法分配任務(wù)的優(yōu)先級,如果系統(tǒng)處于過載狀態(tài),則基于任務(wù)復(fù)合價值密度、任務(wù)截止期和開銷來分配任務(wù)的優(yōu)先級;調(diào)度模塊,采用基于優(yōu)先級的搶先式任務(wù)調(diào)度方式執(zhí)行任務(wù)調(diào)度,以盡可能地獲得最大的系統(tǒng)價值。
7. 如權(quán)利要求6所述的電信級以太網(wǎng)系統(tǒng),其特征在于當系統(tǒng)處于過載狀態(tài)時,優(yōu)先級分配模塊通過下式來分配任務(wù)的優(yōu)先級 》竭=《(r,,r) ,(7T(r)/丄C(0), 7T(r))f+00 如果是A =] C 如果是B< ^D(r)-r如果不是(A或B)八=(3^ # r,C7y(ri)/ZC0,) > C7T(r)/丄C(r),t 4 !r,) B=(3 r, r, C7Y) /丄C(r,) > C7Y(t) / ZC(r), r — # ^) C = M4X(Pi (r,) + l)£) = {V r,, r, # r, CrK(^ ) /丄C(^i) > C7Y(r) /丄C(t), r ^ # ^ }在上式中,戶i (T)表示任務(wù)T的綜合優(yōu)先數(shù),C7TTT)表示任務(wù)T的復(fù)合價值, JZ^T)表示任務(wù)T的截止期,T表示進行調(diào)度的時間,LC(Ti)表示任務(wù)Ti的剩余 執(zhí)行時間,r—!rj表示由于T的調(diào)度,T,將錯過截止期,r — ^,表示由于T的調(diào) 度和資源申請,Ti將申請不到某項資源,TC(T)為任務(wù)T的開銷,TV(T)為任務(wù)T 自身的價值,其中,任務(wù)的優(yōu)先數(shù)越大,該任務(wù)的調(diào)度優(yōu)先級越低。
8. 如權(quán)利要求7所述的電信級以太網(wǎng)系統(tǒng),還包括 任務(wù)復(fù)合價值確定模塊,用于確定所述C7Tfc),所述C7Y(x)為任務(wù)T自身的價值與其所有后繼任務(wù)對任務(wù)T的附加價值之和。
9. 如權(quán)利要求7或8所述的電信級以太網(wǎng)系統(tǒng),其特征在于任務(wù)復(fù)合 價值確定模塊按照下式來確定C7Yfx):其中,r(Ti, Tj)表示任務(wù)Tj對任務(wù)T;i產(chǎn)生的附加價值,函數(shù)MN(TU(Xj))用于獲得集合TU(Tj)的成員個數(shù),TU(Tj)是任務(wù)Tj的直接前驅(qū)任務(wù)集。
10.如權(quán)利要求9所述的電信級以太網(wǎng)系統(tǒng),還包括 價值確定模塊,用于按照下式確定所述7Y(t):在上式中,V(T)是表示任務(wù)T按期正確執(zhí)行對系統(tǒng)的貢獻的評價因子,R(T) 是表示任務(wù)T錯過截止期給系統(tǒng)帶來的后果的評價因子,G(T)表示任務(wù)T響應(yīng)外部事件的緊迫等級的評價因子,a,-a3是表示所述各評價因子在綜合評價中所 占的權(quán)重。C7T(r)= 7T(r) + yr(r,
全文摘要
本發(fā)明提供了一種面向電信級以太網(wǎng)系統(tǒng)的基于任務(wù)復(fù)合價值密度-截止期-開銷的實時任務(wù)調(diào)度方法和電信級以太網(wǎng)系統(tǒng),所述方法包括在每個調(diào)度時刻,判斷所述系統(tǒng)是否處于過載狀態(tài);如果系統(tǒng)處于非過載狀態(tài),采用早截止期優(yōu)先EDF方法分配任務(wù)的優(yōu)先級,如果系統(tǒng)處于過載狀態(tài),則基于任務(wù)復(fù)合價值密度、任務(wù)截止期和開銷來分配任務(wù)的優(yōu)先級;采用基于優(yōu)先級的搶先式任務(wù)調(diào)度方式執(zhí)行任務(wù)調(diào)度,以盡可能地獲得最大的系統(tǒng)價值。
文檔編號G06F9/46GK101499019SQ20091012826
公開日2009年8月5日 申請日期2009年3月24日 優(yōu)先權(quán)日2009年3月24日
發(fā)明者余少華, 戴錦友, 李念軍 申請人:武漢烽火網(wǎng)絡(luò)有限責任公司