專利名稱:一種基于寬帶約束的網(wǎng)格任務(wù)調(diào)度方法
技術(shù)領(lǐng)域:
本發(fā)明是研究網(wǎng)格計算中任務(wù)調(diào)度改進方法,即針對處在高速網(wǎng)絡(luò)環(huán)境中網(wǎng)格節(jié)點的任務(wù)調(diào)度方法,特別是一種基于寬帶約束的網(wǎng)格任務(wù)調(diào)度方法。
背景技術(shù):
現(xiàn)在,已經(jīng)存在或正在建造的由異構(gòu)資源組成的分布式系統(tǒng)主要有Condor、NetSolve、Nimrod、Globus和網(wǎng)格計算系統(tǒng)。這些系統(tǒng)尤其是網(wǎng)格在提供前所未有的計算能力的同時,也提出了一些新的問題,其中,最主要的問題是如何調(diào)度應(yīng)用程序到各種異構(gòu)資源。可以說,如何在一個分布式系統(tǒng)中調(diào)度應(yīng)用程序,迄今為止,仍然是一個非常棘手的問題。任務(wù)調(diào)度系統(tǒng)的主要目標(biāo)就是為應(yīng)用程序提供一個通用、健壯的調(diào)度途徑。通常、任務(wù)調(diào)度系統(tǒng)可以分成三部分分配器、預(yù)測器和調(diào)度器。分配器的作用是決定如何將一個可分割的應(yīng)用程序的子任務(wù)集合分配給機器集合中的每一臺主機;預(yù)測器是預(yù)測在每臺主機上任務(wù)的執(zhí)行時間分布;調(diào)度器則決定在所有的機器的子集合中,哪個子集合為最佳子集合。一個典型的網(wǎng)格調(diào)度至少應(yīng)包括作業(yè)提交、收集可用資源靜態(tài)信息、資源預(yù)約、資源動態(tài)信息查詢、制訂調(diào)度計劃和資源初始化以及作業(yè)運行時監(jiān)控幾個過程。
性能預(yù)測在高性能計算領(lǐng)域中扮演著一個舉足輕重的角色。在任務(wù)調(diào)度中,如何合理地分割任務(wù)、如何合理分配任務(wù)到各個工作站,性能預(yù)測無疑是作出這些決策的最重要的依據(jù),建立準(zhǔn)確而有效的性能預(yù)測模型是任務(wù)調(diào)度能達到最優(yōu)化效果的關(guān)鍵。迄今為止,尚未有一個被廣泛接受的適用于非專用分布式系統(tǒng)的性能預(yù)測模型產(chǎn)生。
任務(wù)通??梢苑譃榕幚砗蛯崟r類型,對于前者,調(diào)度系統(tǒng)從資源的使用角度考慮,追求系統(tǒng)資源的最大使用效率;而對于后者來說,系統(tǒng)必須保證在某一個時間段內(nèi),任務(wù)執(zhí)行的資源能夠空閑出來,以保證任務(wù)的順利執(zhí)行。在資源的使用方式上,實時性任務(wù)在運行之前需要進行資源預(yù)約的活動,保證在將來的某一段時間內(nèi)該資源不會被其它任務(wù)占用。
發(fā)明內(nèi)容
本發(fā)明的目的是在通用適應(yīng)性啟發(fā)方法的基礎(chǔ)上,考慮到網(wǎng)絡(luò)帶寬指標(biāo)的影響而提出了一種基于寬帶約束的網(wǎng)格任務(wù)調(diào)度方法,以克服上述的不足。
為了實現(xiàn)上述目的,本發(fā)明所采用的方法是設(shè)Mv為元任務(wù),CTij為任務(wù)ti在主機mj上的完成時刻,ETij為任務(wù)ti在主機mj上的執(zhí)行時間,dj為主機mj的下一個可用時刻,也就是下一個任務(wù)的開始時刻,則有CTij=ETij+dj,該方法的步驟為第一步驟首先根據(jù)性能預(yù)測模型,按照一定順序,依次計算出每個任務(wù)在每個主機上的執(zhí)行時間;第二步驟對元任務(wù)集合Mv中有高網(wǎng)絡(luò)帶寬要求的任務(wù)依次進行匹配,直到這些任務(wù)全部映射完;
第三步驟對元任務(wù)集合Mv中那些低網(wǎng)絡(luò)帶寬就可以滿足的任務(wù)依次進行匹配,直到這些任務(wù)全部映射完。
上述第二步驟具體過程是(1)為每個任務(wù)從具有高寬帶條件的主機集合中,找到最早完成時刻,相應(yīng)主機也自然找到;(2)從這些任務(wù)中找出具有最小的最早完成時刻的任務(wù)tk;(3)分配任務(wù)tk到其對應(yīng)(就是讓其具有最早完成時刻)的那臺主機上;(4)從高帶寬要求的任務(wù)集中刪除該任務(wù)tk;(5)更新dl,相應(yīng)更新所有的CTil(因為CTil=ETi+dl)。
上述第三步驟具體過程是(1)為Mv中剩下的任務(wù)(低帶寬要求)從主機集合中,找到最早完成時刻,相應(yīng)主機也自然找到;(2)從這些任務(wù)中找出具有最小的最早完成時刻的任務(wù)tk;(3)分配任務(wù)tk到其對應(yīng)(就是讓其具有最早完成時刻)的那臺主機上;(4)從低帶寬要求的任務(wù)集中刪除該任務(wù)tk;(5)更新dl,相應(yīng)更新所有的CTil。
本發(fā)明分析了一種性能預(yù)測的數(shù)學(xué)模型,用概率論的方法分析了預(yù)測遠程任務(wù)完成時間及相關(guān)系統(tǒng)參數(shù)對性能預(yù)測的影響,同時還著重分析了簡化的模型即同構(gòu)非專用系統(tǒng)的預(yù)測模型。本發(fā)明針對批處理任務(wù)的調(diào)度,對于復(fù)雜的任務(wù)而言,考慮它的兩個屬性一是任務(wù)本身可以分解為相關(guān)聯(lián)的子任務(wù),二是子任務(wù)之間可能存在的資源共享關(guān)系。對于可分解任務(wù)的抽象是通過任務(wù)的DAG來表示的(Task DAG,TDAG)。我們知道,同時并行化的子任務(wù)越多,任務(wù)的運行效率將越高,如果能夠找到子任務(wù)的最大資源獨立集,將這些任務(wù)并行化將是最佳的選擇。但是最大獨立集的計算被證明是NP難題[38]。目前,可行的辦法是根據(jù)極大資源獨立集代替最大獨立集,以取得較佳的調(diào)度效果。
附圖為本發(fā)明的流程圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作進一步的詳細描述。
本發(fā)明用概率論的方法分析了預(yù)測遠程任務(wù)完成時間及相關(guān)系統(tǒng)參數(shù)對性能預(yù)測的影響,同時還著重分析了簡化的模型即同構(gòu)非專用系統(tǒng)的預(yù)測模型。
(一)模型的數(shù)學(xué)描述為了突出研究的主題,本發(fā)明對一些次要因素進行了相應(yīng)的簡化,并作出如下假設(shè)1)不考慮任務(wù)之間在處理過程中的相互通信和同步的問題;2)系統(tǒng)是同構(gòu)的,即每個工作站具有相同的系統(tǒng)參數(shù)如本地任務(wù)達到率、服務(wù)率等;3)在工作站k上的本地任務(wù)到達服從參數(shù)為到達率λk的泊松分布;4)在工作站k上的本地任務(wù)服務(wù)時間服從均值為1/μk、方差為σk的正態(tài)分布,其中μk為工作站的服務(wù)率,它直接依賴于本地機器的計算能力。
假設(shè)一個遠程任務(wù)需要總處理時間為W,現(xiàn)存在m個空閑的工作站,將該任務(wù)割成m個子任務(wù)w1,w2,…,wm,wk為被分配給工作站k的子任務(wù)負載,則,W=Σi≠1mwk,]]>又設(shè)Tk表示在工作站k上完成子任務(wù)k所需要的時間,則有以下表達式Tk=X1+Y1+X2+Y2+…+XS+YS+Z(1)其中S為在子任務(wù)計算期間由于一個或多個本地任務(wù)達到而引發(fā)的中斷次數(shù),其中Xi,Yj,i=1,…S,分別表示遠程任務(wù)和本地任務(wù)花費的計算時間,Z表示子任務(wù)所花費的最后一個時間段,則子任務(wù)的工作負載w(省略下標(biāo)k)可以表示為X1+X2+…+XS+Z=w (2)由式(1),(2)知Tk=w+Y1+Y2+…+YS(3)又設(shè)Γ(0)=0Γ(S)=X1+X2+···+XS,S>0]]>由式(2)知對于隨機變量S∈{0,1,…,∞}有以下結(jié)論Γ(S)<w,Γ(S+1)≥w假設(shè)本地任務(wù)的到達服從泊松分布,而Xi服從指數(shù)分布,則Γ(S)服從伽碼分布,假設(shè)將本地任務(wù)的處理可看作成一個M/G/1排隊系統(tǒng)[36],到達率為λ,服務(wù)率為μ,則由排隊理論知中斷總次數(shù)S服從泊松分布,分布函數(shù)為ps=Pr{S=s}=Pr{Γ(s)<w,Γ(s+1)≥w}]]>=(λw)s2-λws!,S=s>0---(4)]]>利用排隊理論同時可以得到下面的結(jié)論E(Yj)=1μ-λ---(5)]]>E(Yj2)=μ(μ2σ2+1)(μ-λ)3---(6)]]>由此可得Tk的數(shù)學(xué)期望和方差分別為E(Tk)=E(E(Tk|S))=E(w+Y1+Y2+...+YS|S)]]>=E(w+SE(Y1))=w(1+λE(Y1))---(7)]]>=11-ρw]]>V(Tk)=E(V(Tk|S))+V(E(Tk|S))]]>=E(V(w+U(S)|S))+V(E(w+U(S)|S))]]>=E(SV(Y1))+V(w+SE(Y1))---(8)]]>=λwV(Y1)+λwE2(Y1)=λwE(Y12)]]>=λwμ(μ2σ2+1)(μ-λ)3=ρ(1-ρ)3(θ2+1)μw]]>其中ρ=λ/μ,為工作站的利用率,θ=σμ,如果本地系統(tǒng)用M/M/1排隊系統(tǒng)來近似,則有σ=μ-1,θ=1,那么式(8)變?yōu)閂(Tk)=2ρ(1-ρ)3μw---(9)]]>(二)任務(wù)完成時間假設(shè)有m個工作站參與了計算,則遠程任務(wù)的完成時間表示為
T=Max{Tk,k=1,2,…,m}(10)假設(shè)每個工作站的計算是相互獨立的,則任務(wù)在時間t內(nèi)完成的概率分布函數(shù)為Pr{T≤t}=Pr{Max1≤k≤m{Tk,k=1,...,m}≤t}]]>=Πk=1mPr{Tk≤t}---(11)]]>設(shè)子任務(wù)k在工作站k上的完成時間可表達成Tk=wk+Yk1+Yk2+...+YkSk=wk+U(Sk)---(12)]]>其中U(Sk)=0,Sk=0Yk1+Yk2+...+YkSkSk=0---(13)]]>所以有Pr{Tk≤t}=Pr{Tk≤t|Sk=0}Pr{Sk=0}+Pr{Tk≤t|Sk>0}Pr{Sk>0}]]>=e-λwk+(1-e-λwk)Pr{U(Sk)≤t-wk|St>0}t≥wk0t<wk---(14)]]>由式(11),(14)可知Pr{T≤t}=]]>Πk=1m[e-λwk+(1-e-λwk)Pr(U(Sk)≤t-wk|Sk>0)]t≥wmax0t<wmax---(15)]]>其中wmax=Max{wk}如果所有參與計算的工作站是同構(gòu)的即具有相同的使用模式,且所有子任務(wù)具有相同的工作負載,則有Pr{T≤t}=]]>[e-λwk+(1-e-λwk)Pr(U(S1)≤τ|S1>0)]mτ>00τ≤0---(16)]]>其中τ=t-w
由上可知,如果能計算出Pr{U(Sk)≤u|Sk>0},則任務(wù)的完成時間分布Pr{T≤t}可計算出,完成時間的均值和方差也隨即得到。
由概率論的知識我們知道有下列公式E(Tk)=E(Tk|Sk>0)Pr(Sr>0)+E(Tk|Sk=0)Pr(Sk=0)V(Tk)=V(Tk|Sk>0)Pr(Sk>0)+V(Tk|Sk=0)Pr(Sk=0)而利用式(7),(8)的結(jié)論有E(Tk)=11-ρw,]]>Pr{S=0}=e-λw,E(Tk|S=0)=w,V(Tk|S=0)=0因此可以得到下列結(jié)論E(Tk|Sk>0)=11-e-λw[11-ρw-we-λw]]]>=w+11-e-λwρ1-ρw,]]>V(Tk|Sk>0)=11-e-λwV(Tk)]]>=11-e-λwρ(1-ρ)3(θ2+1)μw]]>于是可推導(dǎo)出服務(wù)時間的均值和方差公式為E(U(Sk)|Sk>0)=E(Tk|Sk>0)-w=11-e-λwρw1-ρ---(17)]]>V(U(Sk)|Sk>0)=V(Tk|Sk>0)]]> 模擬試驗測試本實驗在Windows下運行,用VC6.0作為開發(fā)工具,用多線程技術(shù)來模擬網(wǎng)格任務(wù)的執(zhí)行。任務(wù)集的總消耗時間顯示在窗口界面上。
實驗設(shè)計
1)模擬代理設(shè)計(1)任務(wù)設(shè)置假設(shè)10個獨立的任務(wù),它們的產(chǎn)生服從泊松分布,每個任務(wù)的屬性子任務(wù)數(shù)量隨機落在1~20之間;網(wǎng)絡(luò)帶寬要求只考慮一維情況(網(wǎng)絡(luò)帶寬)100Mb/s和1Gb/s兩種;每個任務(wù)的工作負載在10~1000秒之間(2)主機設(shè)置主機(或計算結(jié)點)數(shù)量本實驗提供5個(其中1、2號主機提供寬帶寬服務(wù)),為了構(gòu)造一個異構(gòu)的網(wǎng)格環(huán)境,對每個主機的屬性信息用一定范圍內(nèi)的隨機數(shù)據(jù)描述利用率ρ0.0~1.0之間的隨機值到達率λ0.01~0.15之間的隨機值服務(wù)時間標(biāo)準(zhǔn)差σ252)分配代理設(shè)計分配代理接受任務(wù)的調(diào)度請求,分配代理利用文獻[37]中的完成時間CT的計算公式E(T)=w+11-e-λwρw1-ρ]]>計算出所有任務(wù)在所有主機上的完成時間矩陣,用二維數(shù)組ct表示。
然后分配代理啟動調(diào)度方法,以找到最佳的任務(wù)/主機匹配對,將它們調(diào)度給相應(yīng)的主機,然后將調(diào)度記錄寫進輸出文件以便分析統(tǒng)計用。
3)輸出文件ct.txt記錄根據(jù)主機屬性生成的任務(wù)完成時間矩陣信息minmin.txt記錄了采用Min-min方法時任務(wù)匹配和調(diào)度情況qos.txt記錄了采用基于網(wǎng)絡(luò)帶寬約束的Min-min方法時任務(wù)匹配和調(diào)度情況。
本說明書中未作詳細描述的內(nèi)容屬于本領(lǐng)域?qū)I(yè)技術(shù)人員公知的現(xiàn)有技術(shù)。
權(quán)利要求
1.一種基于寬帶約束的網(wǎng)格任務(wù)調(diào)度方法,所采用的方法是設(shè)Mv為元任務(wù),CTij為任務(wù)ti在主機mj上的完成時刻,ETij為任務(wù)ti在主機mj上的執(zhí)行時間,dj為主機mj的下一個可用時刻,也就是下一個任務(wù)的開始時刻,則有CTij=ETij+dj,該方法的步驟為第一步驟首先根據(jù)性能預(yù)測模型,按照一定順序,依次計算出每個任務(wù)在每個主機上的執(zhí)行時間;第二步驟對元任務(wù)集合Mv中有高網(wǎng)絡(luò)帶寬要求的任務(wù)依次進行匹配,直到這些任務(wù)全部映射完;第三步驟對元任務(wù)集合Mv中那些低網(wǎng)絡(luò)帶寬就可以滿足的任務(wù)依次進行匹配,直到這些任務(wù)全部映射完。
2.如權(quán)利要求1所述的基于寬帶約束的網(wǎng)格任務(wù)調(diào)度方法,其特征在于第二步驟具體過程是(1)為每個任務(wù)從具有高寬帶條件的主機集合中,找到最早完成時刻,相應(yīng)主機也自然找到;(2)從這些任務(wù)中找出具有最小的最早完成時刻的任務(wù)tk;(3)分配任務(wù)tk到其對應(yīng)(就是讓其具有最早完成時刻)的那臺主機上;(4)從高帶寬要求的任務(wù)集中刪除該任務(wù)tk;(5)更新dl,相應(yīng)更新所有的CTil(因為CTil=ETi+dl)。
3.如權(quán)利要求1所述的基于寬帶約束的網(wǎng)格任務(wù)調(diào)度方法,其特征在于第三步驟具體過程是(1)為Mv中剩下的任務(wù)(低帶寬要求)從主機集合中,找到最早完成時刻,相應(yīng)主機也自然找到;(2)從這些任務(wù)中找出具有最小的最早完成時刻的任務(wù)tk;(3)分配任務(wù)tk到其對應(yīng)(就是讓其具有最早完成時刻)的那臺主機上;(4)從低帶寬要求的任務(wù)集中刪除該任務(wù)tk;(5)更新dl,相應(yīng)更新所有的CTil。
全文摘要
本發(fā)明涉及一種基于寬帶約束的網(wǎng)格任務(wù)調(diào)度方法,所采用的方法是設(shè)M
文檔編號H04L12/24GK101051989SQ20071005223
公開日2007年10月10日 申請日期2007年5月24日 優(yōu)先權(quán)日2007年5月24日
發(fā)明者李春林, 李臘元, 蔣曉艷, 朱艷永, 萬軍洲 申請人:武漢理工大學(xué)