一種可分任務(wù)調(diào)度模型的求解方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種可分任務(wù)調(diào)度模型的求解方法及系統(tǒng),通過建立混合時序約束的可分任務(wù)調(diào)度模型,利用遺傳算法求解該模型。本發(fā)明的可分任務(wù)調(diào)度模型充分考慮了處理機的釋放時間,更加合理且有效;求解該模型的遺傳算法運行時間遠遠小于窮舉算法的時間,能夠更加高效準確地求出模型的最優(yōu)解。
【專利說明】-種可分任務(wù)調(diào)度模型的求解方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于信息技術(shù)相關(guān)領(lǐng)域,涉及一種可分任務(wù)調(diào)度模型的求解方法系統(tǒng)。
【背景技術(shù)】
[0002] 現(xiàn)有的可分任務(wù)調(diào)度模型大多假設(shè)所有處理機在新的任務(wù)分配之初全部處于空 閑狀態(tài),而實際上,在真實的并行與分布式環(huán)境中,新的任務(wù)到來時,很多處理機可能還沒 有完成上一次分配的計算任務(wù),因此尚且處于忙碌狀態(tài),需要等待一定的時間從忙碌狀態(tài) 轉(zhuǎn)變?yōu)榭臻e狀態(tài),才能參與新任務(wù)的計算。現(xiàn)有的考慮釋放時間的求解可分任務(wù)調(diào)度問題 的方法多采用窮舉法,該方法雖然能夠得到正確的結(jié)果,但是會帶來巨額的時間開銷,效率 低下。因此,設(shè)計一種效率高的考慮釋放時間的求解可分任務(wù)調(diào)度問題的方法顯得尤為重 要。
【發(fā)明內(nèi)容】
[0003] 針對上述現(xiàn)有技術(shù)存在的缺陷或不足,本發(fā)明的目的在于,提供一種可分任務(wù)調(diào) 度問題的求解方法及系統(tǒng)。
[0004] 為實現(xiàn)上述目的,本發(fā)明采用以下技術(shù)方案:
[0005] -種可分任務(wù)調(diào)度模型的求解方法,其特征在于,包括以下步驟:
[0006] 步驟1,建立混合時序約束的可分任務(wù)調(diào)度模型
[0007] 記從處理機的總數(shù)為N,Ptl為主處理機,{Pi I i e {1,2, ···,N}}為從處理機,從處 理機Pi的釋放時刻記為從處理機Pi的開始時刻記為S i ;記參與計算的從處理機數(shù)目為 n,可分任務(wù)被劃分為η個子任務(wù)a i,α 2, . . .,a n,z為鏈路傳輸單位大小任務(wù)所花費的時 間,w為從處理機計算單位任務(wù)所需的時間;
[0008] 從處理機釋放時刻與開始時刻滿足的約束條件有三種:
[0009] I從處理機Pi+1的釋放時刻ri+1早于主處理機Ptl給該從處理機P i+1分配任務(wù)的時 亥IJ,即ri+1 < Si+Z a i ;該約束條件下的任務(wù)開始時刻為:
[0010] Si = Sh+z α η, i = 2, 3, · · ·,η·
[0011] 此種約束條件下的任務(wù)分配方案為:
【權(quán)利要求】
1. 一種可分任務(wù)調(diào)度模型的求解方法,其特征在于,包括以下步驟: 步驟1,建立混合時序約束的可分任務(wù)調(diào)度模型 記從處理機的總數(shù)為N,Ptl為主處理機,{PiIie{1,2, ...,N}}為從處理機,從處理機Pi的釋放時刻記為從處理機Pi的開始時刻記為Si ;記參與計算的從處理機數(shù)目為n,可 分任務(wù)被劃分為η個子任務(wù)ai,α2,...,an,z為鏈路傳輸單位大小任務(wù)所花費的時間,w 為從處理機計算單位任務(wù)所需的時間; 從處理機釋放時刻與開始時刻滿足的約束條件有三種: I從處理機Pi+1的釋放時刻ri+1早于主處理機Ptl給該從處理機Pi+1分配任務(wù)的時刻,即ri+1 <Si+zai;該約束條件下的任務(wù)開始時刻為: Si =Si-Azα卜"i= 2, 3,. . .,η. 此種約束條件下的任務(wù)分配方案為: ^IVV
Π從處理機Pi+1的釋放時刻ri+1晚于主處理機Ptl給上一個從處理機Pi傳輸完任務(wù)的 時刻,即ri+1 >Si+zai;該約束條件下的任務(wù)開始時刻為: Si =Ti,i= 2, 3,. . . ,η. 此種約束條件下的任務(wù)分配方案為: α?=α1+^, / = 2,3,...,?. ζ+w III任意兩個相鄰的從處理機Pg和Pi之間滿足約束條件I或者滿足約束條件II, 將從處理機滿足約束條件I和約束條件II的情況分別記為r\ (I)和Γ\(ΙΙ),則所 有從處理機滿足的約束條件形成一種混合時序約束條件C= (c2,c3,...,cn),其中 Cie{Γi(I),Γi(II)},i= 2, 3,...,η;-種混合時序約束條件C對應(yīng)一種最優(yōu)的任務(wù)分 配方案; 則混合時序約束的可分任務(wù)調(diào)度模型為:min(T) ^min(λ;.+ζα? +Wai) η,C \ ' 此模型的約束為(1)?(7): (I)O<η彡Ν,其中N為從處理機的總數(shù),η為參與計算的從處理機數(shù)目;
其中,T為任務(wù)的完成時間,Wttrtal為總?cè)蝿?wù)量; 步驟2,利用遺傳算法求解可分任務(wù)調(diào)度模型 利用遺傳算法求解可分任務(wù)調(diào)度模型的最優(yōu)解,得到最優(yōu)解對應(yīng)的參與計算的處理機 的數(shù)目和任務(wù)分配方案,從而得到任務(wù)的最短完成時間。
2. 如權(quán)利要求1所述的方法,其特征在于,所述步驟2的利用遺傳算法求解可分任務(wù)調(diào) 度模型的具體步驟如下: 步驟2. 1 :初始化 確定種群大小PopSize,交叉概率p_s、變異概率pmut和最大進化代數(shù),根據(jù)編碼規(guī)則隨 機生成初始種群P(t),令進化代數(shù)t= 0 ; 步驟2. 2 :交叉 以概率P_s從P(t)之中選擇父代個體,按照交叉規(guī)則進行交叉,交叉獲得的全部后代 個體定義為集合O1 ; 步驟2. 3 :變異 以概率Pmut從集合O1中選擇個體,按照變異規(guī)則進行變異,新的后代個體定義為集合O2 ; 步驟2. 4 :選擇 用公式T=rjzai+wai計算集合P(t)UO1UO2中每個個體的適應(yīng)度值,選擇適應(yīng) 度值最小的E個個體直接保留到下一代種群以加快收斂速度,并按照適應(yīng)度值的大小為該 E個個體排序,使用輪盤賭選擇操作從集合P(t)UO1UO2中選擇PopSize-E個個體保留 到下一代種群P⑴中,令t=t+1 ; 步驟2. 5 :終止條件 若達到最大進化代數(shù),則終止算法,并將適應(yīng)度值最小的個體作為最優(yōu)解,得到此個體 對應(yīng)的任務(wù)分配方案,以及采用該任務(wù)分配方案時任務(wù)的完成時間;否則轉(zhuǎn)向步驟2. 2。
3. 如權(quán)利要求2所述的可分任務(wù)調(diào)度模型的求解方法,其特征在于,所述的步驟2. 1的 編碼規(guī)則如下: 步驟2.I. 1 :隨機生成個體I= (n,H),其中n=N,Iiie{〇, 1}; 采用實數(shù)編碼方式,將混合時序約束的可分任務(wù)調(diào)度問題表示成一個向量I= (η,Η), 其中,η表示參與計算的從處理機數(shù)目,種群初始化時將其設(shè)置為從處理機總數(shù)N,H= (h2,h3, · · ·,hN)表不一種混合時序約束條件,Iiie{1,〇},若Iii = 1,表不從處理機Ph和Pi 滿足約束條件I;反之h= 0,表示處理機Pg和Pi滿足約束條件II; 步驟2. 1. 2 :對于給定的η和H,對應(yīng)唯一一種混合時序約束條件C;按照混合約束條件 C得到的任務(wù)分配方案的η-1個等式連同共η個等式表示成如下標準形式: A·a=b 若混合約束條件為C= (r2(I),···,rk(I),rk+1(II),rk+2(II),···,rk+m(II),rk+m+ id), · · ·,rn(I)),則A和b分別表不如下:
步驟2.I. 3 :通過線性規(guī)劃方法求解該標準式得到任務(wù)分配方案α的解; 步驟2. 1.4 :驗證求解出的α是否滿足模型所有的約束條件(1)?(7),若滿足模型的 所有約束條件,則個體I對應(yīng)唯一一個混合時序可分任務(wù)調(diào)度圖,調(diào)度方案α即為可行解, 將該方案對應(yīng)的任務(wù)完成時間T=ri+(z+w)ai作為個體I的適應(yīng)度值;如果α不滿足模 型的部分約束條件,則表明并不需要這么多的從處理機參與計算,令η=η-1,更新個體I, 轉(zhuǎn)到步驟2. 1. 2 ; 步驟2. 1. 5 :重復以上過程,直至求出滿足模型全部約束條件的PopSize個個體,組成 初始種群P(〇)。
4. 如權(quán)利要求2所述的可分任務(wù)調(diào)度模型的求解方法,其特征在于,所述的步驟2. 2的 交叉規(guī)則如下: 步驟2. 2. 1 :隨機生成兩個整數(shù)ρ和q滿足2 <ρ<q<N作為交叉點; 步驟2. 2. 2 :將兩個父代個體交叉點之間的基因進行交換,生成兩個后代個體; 步驟2. 2. 3 :由于個體第1位表示參與計算的從處理機數(shù)目,因此交叉后的后代個體第 一位均賦值為處理機總數(shù)N。
5. 如權(quán)利要求2所述的可分任務(wù)調(diào)度模型的求解方法,其特征在于,所述的步驟2. 3的 變異規(guī)則如下: 步驟2. 3. 1 :隨機生成一個整數(shù)p滿足2 <p<N作為變異點; 步驟2. 3. 2 :將個體在該點的基因位取反,產(chǎn)生新的后代個體; 步驟2. 3. 3 :將后代個體的第一位賦值為處理機總數(shù)N。
6. -種用于實現(xiàn)權(quán)利要求1所述方法的系統(tǒng),其特征在于,包括依次連接的可分任務(wù) 調(diào)度模型建立模塊和可分任務(wù)調(diào)度模型求解模塊; 所述的可分任務(wù)調(diào)度模型建立模塊用于實現(xiàn)以下功能: 記從處理機的總數(shù)為N,Ptl為主處理機,(PiIie{1,2, ...,N}}為從處理機,從處理機 Pi的釋放時刻記為從處理機Pi的開始時刻記為Si ;記參與計算的從處理機數(shù)目為n,可 分任務(wù)被劃分為η個子任務(wù)ai,α2,...,an,z為鏈路傳輸單位大小任務(wù)所花費的時間,w 為從處理機計算單位任務(wù)所需的時間; 從處理機釋放時刻與開始時刻滿足的約束條件有三種: I從處理機Pi+1的釋放時刻ri+1早于主處理機Ptl給該從處理機Pi+1分配任務(wù)的時刻,即ri+1 <Si+zai;此種約束條件下的任務(wù)開始時刻為: Si =Si-Azα卜"i= 2, 3,. . .,η. 此種約束條件下的任務(wù)分配方案為:
Π從處理機Pi+1的釋放時刻ri+1晚于主處理機Ptl給上一個從處理機Pi傳輸完任務(wù)的 時刻,即ri+1 >Si+zai;此種約束條件下的任務(wù)開始時刻為: Si =Ti,i= 2, 3,. . . ,η. 此種約束條件下的任務(wù)分配方案為: Iii任意兩個相鄰的從
處理機Ph和Pi之丨'0」?jié)M足約束條件I或者滿足約束條件II,將從 處理機滿足的約束條件形成一種混合時序約束條件;將相鄰從處理機滿足約束條件I和約 束條件II的情況分別記為Γi(I)和Γi(II);用C= (c2,c3,. . .,cn)表示一種混合時序約 束條件,其中Cie{Γi(I),Γi(II)},i= 2, 3,...,η;-種混合時序約束條件C對應(yīng)一種 最優(yōu)的任務(wù)分配方案; 則混合時序約束的可分任務(wù)調(diào)度模型為:min(T) =min+ζα? +Wai) Π.C \ ' 此模型的約束為(1)一(7): (I)O<η彡Ν,其中N為從處理機的總數(shù),η為參與計算的從處理機數(shù)量;
所述的可分任務(wù)調(diào)度模型求解模塊用于實現(xiàn)以下功能: 利用遺傳算法求解可分任務(wù)調(diào)度模型的最優(yōu)解,得到最優(yōu)解對應(yīng)的參與計算的處理機 的數(shù)目和任務(wù)分配方案,從而得到任務(wù)的最短完成時間。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述的可分任務(wù)調(diào)度模型求解模塊,包括初 始化模塊、交叉模塊、變異模塊、選擇模塊和終止條件模塊,其中, 所述的初始化模塊用于實現(xiàn)以下功能: 確定種群大小PopSize,交叉概率p_s、變異概率Pmut和最大進化代數(shù),根據(jù)編碼規(guī)則隨 機生成初始種群P(t),令進化代數(shù)t= 0 ; 所述的交叉模塊用于實現(xiàn)以下功能: 以概率p_s從P(t)之中選擇父代個體,按照交叉規(guī)則進行交叉,交叉獲得的全部后代 個體定義為集合O1 ; 所述的變異模塊用于實現(xiàn)以下功能: 以概率Pmut從集合O1中選擇個體,按照變異規(guī)則進行變異,新的后代個體定義為集合O2 ; 所述的選擇模塊用于實現(xiàn)以下功能: 用公式T=rjzai+wai計算集合p(t)UO1UO2中每個個體的適應(yīng)度值,選擇適應(yīng) 度值最小的E個個體直接保留到下一代種群以加快收斂速度,并按照適應(yīng)度值的大小為該 E個個體排序,使用輪盤賭選擇操作從集合P(t)UO1UO2中選擇PopSize-E個個體保留 到下一代種群P⑴中,令t=t+1 ; 所述的終止條件模塊用于實現(xiàn)以下功能: 若達到最大進化代數(shù),則終止算法,并將適應(yīng)度值最小的個體作為最優(yōu)解,得到此個體 對應(yīng)的任務(wù)分配方案,以及采用該任務(wù)分配方案時任務(wù)的完成時間;否則進入交叉模塊。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述的初始化模塊包括編碼規(guī)則模塊,所述 的編碼規(guī)則模塊包括子模塊1、子模塊2、子模塊3、子模塊4和子模塊5,其中, 子模塊1用于實現(xiàn)以下功能: 隨機生成個體I= (η,H),其中n=N,Iiie{〇, 1}; 采用實數(shù)編碼方式,將混合時序約束的可分任務(wù)調(diào)度問題表示成一個向量I= (η,Η), 其中,η表示參與計算的從處理機數(shù)目,種群初始化時將其設(shè)置為從處理機總數(shù)N,H= (h2,h3, · · ·,hN)表不一種混合時序約束條件,Iiie{1,〇},若Iii = 1,表不從處理機Ph和Pi 滿足約束條件I;反之h= 0,表示處理機Pg和Pi滿足約束條件II; 所述的子模塊2用于實現(xiàn)以下功能: 對于給定的η和H,對應(yīng)唯一一種混合時序約束條件C;按照混合約束條件C得到的任 務(wù)分配方案中的η-1個等式連同A= 共η個等式表示成如下標準形式: A·a=b 若混合約束條件為C= (r2(I),···,rk(I),rk+1(II),rk+2(II),···,rk+m(II),rk+m+ id), · · ·,rn(I)),則A和b分別表不如下: 所述的子模塊3用于實現(xiàn)以下功能:
通過線性規(guī)劃方法求解該標準式得到任務(wù)分配方案α的解; 所述的子模塊4用于實現(xiàn)以下功能: 驗證求解出的α是否滿足模型所有的約束條件(1)?(7),若滿足模型的所有約束條 件,則個體I對應(yīng)唯一一個混合時序可分任務(wù)調(diào)度圖,調(diào)度方案α即為可行解,將該方案對 應(yīng)的任務(wù)完成時間T=ri+(z+w)ai作為個體I的適應(yīng)度值;如果α不滿足模型的部分約 束條件,則表明并不需要這么多的從處理機參與計算,令η=η-1,更新個體I,進入子模塊 2 ; 所述的子模塊5用于實現(xiàn)以下功能: 重復以上子模塊,直至求出滿足模型全部約束條件的PopSize個個體,組成初始種群Ρ(0)〇
9. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述的交叉模塊中所述的交叉規(guī)則為: 隨機生成兩個整數(shù)P和q滿足2 <P<q<N作為交叉點; 將兩個父代個體交叉點之間的基因進行交換,生成兩個后代個體; 由于個體第1位表示參與計算的從處理機數(shù)目,因此交叉后的后代個體第一位均賦值 為處理機總數(shù)N。
10. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述的變異模塊中所述的變異規(guī)則為: 隨機生成一個整數(shù)P滿足2 <p<N作為變異點; 將個體在該點的基因位取反,產(chǎn)生新的后代個體; 將后代個體的第一位賦值為處理機總數(shù)N。
【文檔編號】G06F9/50GK104461720SQ201410715309
【公開日】2015年3月25日 申請日期:2014年11月28日 優(yōu)先權(quán)日:2014年11月28日
【發(fā)明者】王曉麗, 王宇平, 景禎彥, 胡麗娟, 孟坤, 李 杰 申請人:西安電子科技大學