基于多資源的任務調度方法
【專利摘要】本發(fā)明提出一種基于多資源的任務調度方法,包括以下步驟:對并行的多個數據包進行分類,得到具有截止時間的數據包和沒有截止時間的數據包;通過最早截止時間算法對具有截止時間的數據包進行排序、通過短任務優(yōu)先算法對沒有截止時間的數據包進行排序;根據排序結果估計多個數據包的虛擬開始處理時間和虛擬處理完成時間;判斷具有截止時間的數據包是否均可成功調度;如果是,則進一步判斷在沒有截止時間的數據包中是否存在可安排在具有截止時間的數據包之前進行調度且能夠縮短平均完成時間的數據包;如果是,則將該數據包進行優(yōu)先調度以縮減多個數據包的平均調度時間。本發(fā)明的方法能夠在多資源的情況下大大縮短所有任務的平均完成時間。
【專利說明】基于多資源的任務調度方法
【技術領域】
[0001]本發(fā)明涉及計算機網絡【技術領域】,特別涉及一種基于多資源的任務調度方法。
【背景技術】
[0002]針對計算機網絡衍生而出的各種新型概念方法,都對各種硬件資源產生了不同程度的需求。不同的任務消耗的CPU、鏈路帶寬、磁盤等資源數量也各不相同。雖然路由器內帶寬的包調度分配環(huán)節(jié)已經被廣泛研究,但由于各任務對不同資源的需求不盡相同,因此對于多資源的調度問題顯然更加困難。例如,入侵檢測功能通常是CPU受限的、軟件路由器的瓶頸則存在于內存,而轉發(fā)大數據包的受限資源是鏈路帶寬。因此,一個中間盒需要能夠對多種資源的調度做出正確的決策。
[0003]已有的較為經典的單資源調度算法有最早截止時間算法(Early DeadlineFirst, EDF)和短任務優(yōu)先算法(Short Job First, SJF)等。最早截止時間算法是根據任務的開始截止時間來確定任務的優(yōu)先級,截止時間愈早,其優(yōu)先級愈高。最短任務優(yōu)先算法的核心就是所有的程序都有一個優(yōu)先級,短任務的優(yōu)先級比長任務的高,而操作系統總是安排優(yōu)先級高的進程優(yōu)先運行。此外,還有先到先服務算法(First come first serve,FCFS)、時間片輪詢算法等等。
[0004]目前,相關技術提出了一種多資源的調度算法,基于占優(yōu)資源公平的思想,針對每一個任務,選出它的占優(yōu)資源,即使用量最多的資源類型,進而針對不同任務各自的占優(yōu)資源進行公平分配。然而這種方法雖然在一定程度上保證了公平性,但是對于整體系統來說,任務流平均完成時間過長,在用戶方面體現為等待時間長,造成用戶體驗差。
【發(fā)明內容】
[0005]本發(fā)明旨在至少在一定程度上解決上述相關技術中的技術問題之一。
[0006]為此,本發(fā)明的目的在于提出一種基于多資源的任務調度方法,該方法能夠在多資源的情況下大大縮短所有任務的平均完成時間。
[0007]為了實現上述目的,本發(fā)明的實施例提出了一種基于多資源的任務調度方法,包括以下步驟:對并行的多個數據包進行分類,以得到具有截止時間的數據包和沒有截止時間的數據包;通過最早截止時間算法對所述具有截止時間的數據包進行排序、通過短任務優(yōu)先算法對所述沒有截止時間的數據包進行排序;根據排序結果估計所述多個數據包的虛擬開始處理時間和虛擬處理完成時間;根據所述多個數據的虛擬開始處理時間和虛擬處理完成時間判斷所述具有截止時間的數據包是否均可成功調度;如果是,則進一步根據所述多個數據的虛擬開始處理時間和虛擬處理完成時間判斷在所述沒有截止時間的數據包中是否存在可安排在所述具有截止時間的數據包之前進行調度且能夠縮短平均完成時間的沒有截止時間的數據包;如果是,則將所述可安排在所述具有截止時間的數據包之前進行調度且能夠縮短平均完成時間的沒有截止時間的數據包進行優(yōu)先調度以縮減所述多個數據包的平均調度時間。[0008]根據本發(fā)明實施例的基于多資源的任務調度方法,將并行的多個數據包分為具有截止時間的數據包和沒有截止時間的數據包,并通過EDF算法對具有截止時間的數據包進行排序以減少丟包數量,通過SJF算法對沒有截止時間的數據包進行排序以縮短平均完成時間,并通過定義系統虛擬時間和計算預計開始、完成時間,進一步判斷是否可以調度成功,對不能調度成功的數據包進行丟包處理,對可以調度成功的數據包再次通過順序調整縮短平均完成時間。因此,該方法在各數據包對不同資源需求各異的情況下,結合EDF和SJF算法,在保證丟包數量最小的前提下,大大縮減了所有任務的平均完成時間,進而可為多種多樣的網絡操作提供更好的服務質量。
[0009]另外,根據本發(fā)明上述實施例的基于多資源的任務調度方法還可以具有如下附加的技術特征:
[0010]在一些示例中,所述根據所述多個數據的虛擬開始處理時間和虛擬處理完成時間判斷所述具有截止時間的數據包是否均可成功調度,進一步包括:如果所述具有截止時間的數據包不能成功完成調度,則丟棄所述具有截止時間的數據包。
[0011]在一些示例中,所述根據排序結果估計所述多個數據包的虛擬開始處理時間和虛擬處理完成時間,通過如下公式實現:
[0012]S(Pi) =F(Ph),
[0013]
【權利要求】
1.一種基于多資源的任務調度方法,其特征在于,包括以下步驟: 對并行的多個數據包進行分類,以得到具有截止時間的數據包和沒有截止時間的數據包; 通過最早截止時間算法對所述具有截止時間的數據包進行排序、通過短任務優(yōu)先算法對所述沒有截止時間的數據包進行排序; 根據排序結果估計所述多個數 據包的虛擬開始處理時間和虛擬處理完成時間; 根據所述多個數據的虛擬開始處理時間和虛擬處理完成時間判斷所述具有截止時間的數據包是否均可成功調度; 如果是,則進一步根據所述多個數據的虛擬開始處理時間和虛擬處理完成時間判斷在所述沒有截止時間的數據包中是否存在可安排在所述具有截止時間的數據包之前進行調度且能夠縮短平均完成時間的沒有截止時間的數據包; 如果是,則將所述可安排在所述具有截止時間的數據包之前進行調度且能夠縮短平均完成時間的沒有截止時間的數據包進行優(yōu)先調度以縮減所述多個數據包的平均調度時間。
2.根據權利要求1所述的基于多資源的任務調度方法,其特征在于,所述根據所述多個數據的虛擬開始處理時間和虛擬處理完成時間判斷所述具有截止時間的數據包是否均可成功調度,進一步包括: 如果所述具有截止時間的數據包不能成功完成調度,則丟棄所述具有截止時間的數據包。
3.根據權利要求2所述的基于多資源的任務調度方法,其特征在于,所述根據排序結果估計所述多個數據包的虛擬開始處理時間和虛擬處理完成時間,通過如下公式實現: S(Pi) = FD ,
F(Pi) = S(Pi) +s], 其中,S(Pi)是數據包Pi的虛擬開始處理時間,F(Pi)是數據包Pi的虛擬處理完成時間,是數據包Pi在資源j上的虛擬處理時間,i表示第i個數據包。
4.根據權利要求3所述的基于多資源的任務調度方法,其特征在于,所述如果所述具有截止時間的數據包不能成功完成調度,則丟棄所述具有截止時間的數據包,具體包括: 判斷所述具有截止時間的數據包中是否存在截止時間小于F(Pi)的數據包; 如果是,則判斷所述數據包不能成功調度,并丟棄所述數據包。
5.根據權利要求1所述的基于多資源的任務調度方法,其特征在于,所述將所述可安排在所述具有截止時間的數據包之前進行調度且能夠縮短平均完成時間的沒有截止時間的數據包進行優(yōu)先調度,進一步包括: 設所述具有截止時間的數據包的數量為m,所述沒有截止時間的數據包的數量為η ; 判斷m和η是否在任意資源j下均滿足如下公式:
S(py) - S(px) — (s]y) X (y-x) > O,
3X E (IlHi)iJT E (m + I,臟 + n)f ¥j 其中,Px是第X個具有截止時間的數據包,Py是第y個數據包,即第(y-m)個沒有截止時間的數據包,s (Py) -S (Px)表示將Py提到Px之前所節(jié)省的完成時間,Csj,)是Py在資源j上的處理時間,(y-x)表示提前Py而影響的數據包的個數,(sjjx(y —X〕是表示將&提到px之前對其他數據包造成的總延遲; 如果滿足,則將所述沒有截止時間的數據包提到所述具有截止時間的數據包之前進行優(yōu)先調度。
6.根據權利要求1所述的基于多資源的任務調度方法,其特征在于,還包括: 對于新到達的數據包,判斷所述新到達的數據包是否具有截止時間; 如果所述新到達的數據包具有截止時間,則判斷所述新到達的數據包是否影響所述其他具有截止時間的數據包;如果所述新到達的數據包影響其他具有截止時間的數據包,則丟棄所述新到達的數據包。
7.根據權利要求6所述的基于多資源的任務調度方法,其特征在于,還包括: 如果所述新到達的數據包沒有截止時間,則將所述新到達的數據包按照先到先服務的順序排在隊尾。
8.根據權利要求6所述的基于多資源的任務調度方法,其特征在于,還包括: 判斷所述新到達的數據包在預設時間段內的所有任務是否同時滿足如下公式:
D(Px) 一 F(Px) ^ ^ncw.Vxe (D(Pnew) -Sliew,F(Pm)), Vj, 其中,Pnew為所述新到達的數據包,D(Pnew)為Pmw的截止時間,CD(Pnew)-Sjlew, F(Pm))為預設時間段,Sie,為所述新到達數據包在資源j上的處理時間; 如果所述新到達的數據包在預設時間段內的所有任務同時滿足上述公式,則將所述新到達的數據包插入到其他具有截止時間的數據包之前進行優(yōu)先調度。
9.根據權利要求8所述的基于多資源任務調度方法,其特征在于,還包括:如果所述新達到的數據包不能同時滿足所述公式,則將所述新到達的數據包丟棄。
【文檔編號】H04L12/865GK103973594SQ201410196890
【公開日】2014年8月6日 申請日期:2014年5月9日 優(yōu)先權日:2014年5月9日
【發(fā)明者】徐恪, 張宇超 申請人:清華大學