基于量子粒子群優(yōu)化的DAG并行任務調度探討_第1頁
基于量子粒子群優(yōu)化的DAG并行任務調度探討_第2頁
基于量子粒子群優(yōu)化的DAG并行任務調度探討_第3頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于量子粒子群優(yōu)化的DAG并行任務調度探討

摘要:任務調度是網絡并行計算系統(tǒng)的核心問題之一。在有向無環(huán)圖(DAG)描述問題的基礎上,提出了一種進行并行任務調度的量子粒子群優(yōu)化算法。首先對DAG并行任務調度問題作出定義,并給出了優(yōu)化問題的目標;然后分別探討了問題的編碼表示、解碼方案、位置向量的計算方法、離散問題連續(xù)化、算法的總體流程等;最后給出算法的仿真實驗情況與研究,實驗結果表明,該算法有良好的全局尋優(yōu)性能和快捷的收斂速度,調度效果優(yōu)于遺傳算法和粒子群優(yōu)化算法。

關鍵詞:任務調度;量子粒子群優(yōu)化;有向無環(huán)圖?

ResearchonDAGparalleltaskschedulingproblembasedon?quantum-behavedparticleswarmoptimization

ZHANGCong,SHENHui-zhang

(AntaiCollegeofEconomics&Management,ShanghaiJiaotongUniversity,Shanghai200052,China)

Abstract:Taskschedulingisoneoftheimportantproblemsinparallelcomputingsystem.Thispaperproposedaquantum-?behavedparticleswarmoptimizationalgorithmfortaskschedulingbasedondirectedacyclicgraph.Firstredefinedtheparalleltaskschedulingproblemanditsaim.Thendiscussedtherepresentationoftheencoding,theprocedureofthedecoding,thecomputationalmethodofpositionvector,thecontinuativeofthediscreteproblemandthestructureofthealgorithmrespectively.Intheend,presentedthealgorithmsimulation,experimentresultanalysisandtheconclusions.Thesimulationresultsshowthatthisalgorithmhasbetterglobaloptimizingabilityandmorerapidconvergence,anditissuperiortogeneticalgorithmandparticleswarmoptimizationalgorithm.

Keywords:taskscheduling;quantum-behavedparticleswarmoptimization(QPSO);directedacyclicgraph(DAG)

網絡并行計算環(huán)境下的任務調度問題是指在一定約束條件下,如何將一組任務分配到多臺處理機上執(zhí)行的組合優(yōu)化問題,其已被證明是NP完全問題,不可能在多項式時間內找到問題的最優(yōu)解[1,2]。目前常見的并行任務調度問題按照任務之間有無數據依賴關系可以劃分為獨立任務調度和依賴關系任務調度。前者在調度任務時不需要考慮任務之間的數據依賴關系;而后者通常用有向無環(huán)圖(DAG)表示任務之間的數據依賴關系,在調度過程中滿足任務之間的數據依賴關系。依賴關系任務調度的求解優(yōu)化過程比獨立任務調度的要復雜許多,且其適用范圍也更廣。以DAG表示的并行任務模型的研究得到了廣泛關注和迅速發(fā)展。近年出現的一些啟發(fā)式算法(如模擬退火算法、遺傳算法等)為求解此類NP完全問題提供了新的途徑[3~5],但是這些算法有些復雜性太高難以實現,有些實現起來太費時,所以有必要尋求更好的算法來解決此問題。

粒子群優(yōu)化(PSO)算法是由Kennedy等人[6]提出的一種源于對鳥群捕食行為模擬的進化計算技術,已成為進化計算的一個最吸引人的分支。與遺傳算法類似,PSO是一種基于迭代的優(yōu)化方法,系統(tǒng)初始化為一組隨機解,通過迭代搜尋最優(yōu)值,但是在許多實際應用領域,更勝于遺傳算法,尤其是在非線性優(yōu)化問題上。量子粒子群優(yōu)化(QPSO)算法是在傳統(tǒng)的PSO基礎上提出的一種新型的具有高效率全局搜索能力的進化算法[7,8]。它主要是引入量子物理的思想改進了PSO的進化方法,即更新粒子位置的方法;在更新粒子位置時重點考慮各個粒子的當前局部最優(yōu)位置信息和全局最優(yōu)位置信息。QPSO具有調整參數少、容易實現、收斂能力強等優(yōu)勢。為適應任務分配問題的求解,本文設計出合適的粒子編碼,利用改進的量子粒子群算法求解任務分配問題,并與其他算法相比較。實驗結果表明,本文提出的算法可以獲得質量更高的解職稱論文。

1問題描述

本模型的計算系統(tǒng)由一系列異構的處理機組成,需要處理的總任務已分解成一系列子任務。模型的約束條件為:任務執(zhí)行具有非搶占性,即處理機只有在執(zhí)行完某個任務之后才能處理另外一個任務;另外這些任務之間具有前驅后繼的數據依賴關系,某個子任務只有在其所有的前驅任務處理完畢后才能開始執(zhí)行。該模型的調度目標就是要使得整個DAG圖的調度長度最短。

為了便于分析問題,可以用下列五元組表述:

Π=(P,G,Θ,Ψ,Ω)

其中:

P={P?1,P?2,…,P?n}為n個處理機的集合。

G是子任務集T的依賴關系圖,它通過DAG來表示各個子任務間的調度約束關系。G=(T,E),其中T={T?1,T?2,…,T?m}為m個子任務的集合,一個子任務T?i就是圖G中的一個節(jié)點,E是任務依賴關系圖中的有向邊集。〈T?i,T?j〉∈E(i,j=1,2,…,m),則表示在子任務T?i沒有完成之前,任務T?j不能執(zhí)行。這時稱T?i為T?j的一個前驅,T?j為T?i的一個后繼,E可用鄰接矩陣存儲。

Θ是一個m×n矩陣,其元素θij表示任務T?i在處理機P?j上的執(zhí)行時間,假設每個任務的執(zhí)行時間預知(i=1,2,…,m;?j=1,2,…,n)。

Ψ是一個m×m矩陣,其元素ψij表示任務T?i與T?j之間的數據傳輸延時(i,j=1,2,…,m),同時假設各處理機間的通信能力是相同的,且忽略網絡擁塞,即傳輸的數據量是惟一影響ψij大小的因素。

Ω是一個m×n的任務分配矩陣,其中ωij=1表示T?i分配到處理機P?j上執(zhí)行;否則ωij=0(i=1,2,…,m;j=1,2,…,n)。

要實現的目標是尋找一個分配調度策略,將m個子任務分配到n個處理機上,合理調度各個子任務的執(zhí)行次序,使得各子任務在滿足依賴關系圖G的約束下,整個任務的完成時間最短?,F假設某一合法的分配調度S,將T中的m個子任務分配到n個處理機上,其中子任務T?i被分配到處理機P?j上執(zhí)行,那么子任務T?i在處理機P?j上的執(zhí)行時間滿足以下兩式:

St(T?i,P?j)=maxT?k∈Pred(T?i)(Ft(T?k,P?r)+(1-ωkj)ψki)(1)

Ft(T?i,P?j)=St(T?i,P?j)+θij;i,k=1,2,…,m;j,r=1,2,…,n

(2)

其中:St(T?i,P?j)和Ft(T?i,P?j)分別表示子任務T?i在處理機P?j上的開始執(zhí)行時刻和結束執(zhí)行時刻;Pred(T?i)表示子任務T?i的前驅節(jié)點集合,假設子任務T?k∈Pred(T?i)被分配到處理機?P?r上。

根據式(1)(2)迭代計算,可得到所有子任務的結束執(zhí)行時刻。設Γ(S)為在調度策略S下完成任務所使用的總時間,那么:Γ(S)=max(Ft(T?i,P?j));?i=1,2,…,m;j=1,2,…,n。

任務調度目標就是min(Γ(S))?S,即尋找一個分配調度S,使得Γ(S)最小。

鑒于本文主要考慮任務調度問題,在不失問題一般性的情況下,可忽略數據傳輸延時,即在下文中可假設所有的ψij=0。

2算法

2.1PSO算法

粒子群優(yōu)化(PSO)算法是一種進化計算方法,是一種基于迭代的優(yōu)化工具。該算法通過群體中各粒子間的合作與競爭來搜索全局最優(yōu)點。

系統(tǒng)初始化為一組共n個隨機解,通過迭代搜尋整個群體的最優(yōu)值。粒子i的當前位置為x?i=(xi1,xi2,…,xid),其飛行速度記為v?i=(vi1,vi2,…,vid),在解空間中追隨適應度最優(yōu)的粒子進行搜索。在每一次迭代中,粒子通過跟蹤兩個“極值”來更新自己:a)每個粒子本身所找到的最優(yōu)解pbest。如果粒子當前位置對應的適應度小于pbest的適應度,則pbest更新為當前位置。b)整個種群從起始到目前所找到的最優(yōu)解gbest。每個粒子按以下兩個公式進行動態(tài)進化,調整粒子的位置:

vi,d(t+1)=wvi,d(t)+c?1r1,d(t)(pbest?i,d-xi,d(t))+?c?2r2,d(t)(gbest?d(t)-xi,d(t))(3)

x?i(t+1)=x?i(t)+v?i(t+1)(4)

其中:w是慣性權重,動態(tài)調整慣性權重以平衡收斂的全局性和收斂速度;c?1和c?2為加速常數,通常在0~2取值,c?1調節(jié)粒子飛向自身最好位置方向的步長,c?2調節(jié)粒子飛向全局最好位置方向的步長;r1,d(t),r2,d(t)~U(0,1),且d=1,2,…,n。為了減少在進化過程中粒子離開搜索空間的可能性,粒子的每一維速度被限定在[-Vmax,Vmax]內。

2.2QPSO算法

`Sun等人從量子力學的角度,通過對粒子收斂行為的研究,基于粒子群算法提出了一種新的算法模型——量子粒子群(QPSO)算法。在該算法中,由于粒子滿足聚集態(tài)的性質完全不同,使粒子在整個可行解空間中進行搜索尋求全局最優(yōu)解,因而QPSO算法在搜索能力上遠遠優(yōu)于所有已開發(fā)的PSO算法。

QPSO算法參數個數少,進化方程的形式更加簡單,更容易控制。在QPSO算法中,每一個粒子必須收斂于各自的隨機點P?i,粒子按照下面的三式移動:

mbest=1m?mi=1P?i=(1m?mi=1Pi1,…,1m?mi=1Pij)(5)

PPij=fPij+(1-f)Pgj,f=rand(6)

xij=PPij±a|mbest?j-xij|ln(1/u),u=rand(7)

其中:mbest是粒子群pbest的中間位置;Pij為粒子本身所找到的最優(yōu)解pbest;Pgj為整個粒子群目前找到的最優(yōu)解gbest;PPij為Pij與Pgj之間的隨機點;a為QPSO的收縮擴張系數,它是QPSO收斂的一個重要參數,第t次迭代時一般可取

a=amax-t(amax-amin)/tmax(8)

其中:tmax是迭代的最大次數,amax與amin分別是最大和最小系數。QPSO的算法流程如下:

a)迭代次數t=0,對種群的每個粒子的位置向量進行初始化。

b)根據目標函數計算每個粒子的目標函數值。

c)更新每個粒子的新局部最優(yōu)位置P?i。

d)更新粒子群的全局最優(yōu)位置P?g。

e)根據式(5)計算mbest。

f)根據式(6)計算每個粒子隨機點PP?i。

g)根據式(7)(以一定的概率取加或減)更新每個粒子的新位置。

h)令t=t+1,返回到b),重新計算,直到終止條件滿足。a)將每個向量切斷分成若干個子串,各段子串的長度可以相等,也可以不相等,子串形如(q?1,q?2,…,q?k)。

b)從整數組成的子串到實數作一個映射,可表示為

r=c×?ki=1q?i×b??k-i(9)

其中:r為映射的實數;c是常數,一般取足夠小的實數,本文取值為0.01;b為基數,對于Xpriority,b取值為5,對于Xmachine,b取值為n。

c)在計算任務執(zhí)行總時間前,需將r轉換為子串,即式(9)的逆映射:

q?i=(rc-?i-1j=1q?j×b??k-j)pb??k-i(10)

其中:p為整除,得到的商q?i為整數,在實際運算時,可用一個循環(huán),i從1~k得到子串中所有分量。

例如9個子任務的情況,Xpriority=(242143410),分為三段,各子串長度均為3。

子串(242);(143);(410)

變換后得到

r0.720.481.05

經過迭代后的情況:

逆變換后得到

r0.531.120.91

子串(203)(422)(331)

在初始化時,可省掉式(9)的轉換過程,直接給粒子位置賦實數。

解決了連續(xù)化問題之后,還有一個邊界問題,如上例r的取值為[0,1.24],如迭代過程中z的運算結果超出范圍時,將r值取在邊界上。若r<0,取值0;r>1.24,取值1.24。

通過上述映射和逆映射,整數規(guī)劃問題轉換為連續(xù)優(yōu)化問題,從而可以利用QPSO優(yōu)化獲得高質量的解。

3.3算法流程

a)初始化粒子群,根據編碼方案設定各粒子的隨機位置。

b)根據式(10)將每個粒子的實數向量轉換為整數向量。

c)對每個粒子的整數向量解碼后,計算每個粒子的目標函數值。

d)更新每個粒子的局部最優(yōu)值P?i。

e)更新粒子群的全局最優(yōu)值P?g。

f)根據式(5)計算mbest。

g)根據式(6)計算每個粒子隨機點PP?i。

h)根據式(7)更新每個粒子的新位置。

i)返回b)步,直到滿足迭代的次數。

4仿真實驗與結果分析

4.1實驗參數選取

本文的仿真實驗是在MATLAB軟件上實現的。實驗所用DAG圖隨機生成,每個任務節(jié)點有1~4個前驅與后繼,估計運行時間θij為1~50s的隨機數。實驗計算了文獻[3,4]的算法、PSO與本文的QPSO共四種情況,算法中主要參數:種群大小為80,終止代數為1500,amax取值1,amin取值0.5;PSO的慣性權重w與QPSO中的收縮擴張系數a取值相同,c?1和c?2均為2,編碼、解碼、連續(xù)化與邊界問題均使用本文的方案;文獻[3]算法的雜交概率為1.0,變異概率為0.05;文獻[4]算法的內部雜交概率為0.8,遷移概率為0.2,演化策略中的參數為μ/λ=5。

4.2計算結果與分析

對于隨機生成的同一個DAG圖,分別用上述四種算法進行計算,記錄各算法收斂時得到的最優(yōu)解的完成時間和收斂時的進化代數。計算結果如表1所示。為了消除數據隨機性的影響,更好地反映算法的性能,表1中的進化代數是100次進化的平均收斂代數,完成時間是所有100次進化中得到的最優(yōu)解的平均完成時間。圖3為四個處理機100個子任務情況下四種算法分別進化的靜態(tài)性能曲線,列出了各算法在不同進化代數時所找到的最優(yōu)解。表2為四種算法在進化中能收斂到其最優(yōu)解的次數占實驗總次數的百分比。

表1仿真實驗結果

處理機?個數子任務?個數

完成時間/s

文獻[3]?算法文獻[4]?算法PSO?算法本文?算法

收斂時的進化代數

2528527127926539312529

250565543551538166131108125

1001548142914271416418339285323

2519318618817953463338

450457429428417194168135157

1001198113611391073516468323339

2515214113813473544952

850341297292281336217163212

1001106911923875727621538601

表2收斂到其已知最優(yōu)解的次數占進化總次數的百分比%

各算法子任務個數25子任務個數50子任務個數100

文獻[3]算法876448

文獻

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論