基于量子粒子群優化的DAG并行任務調度探討_第1頁
基于量子粒子群優化的DAG并行任務調度探討_第2頁
基于量子粒子群優化的DAG并行任務調度探討_第3頁
基于量子粒子群優化的DAG并行任務調度探討_第4頁
基于量子粒子群優化的DAG并行任務調度探討_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

基于量子粒子群優化的DAG并行任務調度討論摘要:任務調度是網絡并行計算系統的核心問題之一。在有向無環圖(dag)描繪問題的根底上,提出了一種進展并行任務調度的量子粒子群優化算法。首先對dag并行任務調度問題作出定義,并給出了優化問題的目的;然后分別討論了問題的編碼表示、解碼方案、位置向量的計算方法、離散問題連續化、算法的總體流程等;最后給出算法的仿真實驗情況與研究,實驗結果說明,該算法有良好的全局尋優性能和快捷的收斂速度,調度效果優于遺傳算法和粒子群優化算法。關鍵詞:任務調度;量子粒子群優化;有向無環圖?researhndagparalleltaskshedulingprblebasedn?quantu-behavedpartilesarptiizatinzhangng,shenhui-zhang(antaillegefenisanageent,shanghaijiatnguniversity,shanghai200052,hina)abstrat:taskshedulingisneftheiprtantprblesinparallelputingsyste.thispaperprpsedaquantu-?behavedpartilesarptiizatinalgrithfrtaskshedulingbasedndiretedayligraph.firstredefinedtheparalleltaskshedulingprbleanditsai.thendisussedtherepresentatinftheending,thepredurefthededing,theputatinalethdfpsitinvetr,heend,presentedthealgrithsiulatin,experientresultanalysisandthenlusins.thesiulatinresultsshthatthisalgrithhasbetterglbalptiizingabilityandrerapidnvergene,anditissuperirtgenetialgrithandpartilesarptiizatinalgrith.keyrds:tasksheduling;quantu-behavedpartilesarptiizatin(qps);diretedayligraph(dag)網絡并行計算環境下的任務調度問題是指在一定約束條件下,如何將一組任務分配到多臺處理機上執行的組合優化問題,其已被證明是np完全問題,不可能在多項式時間內找到問題的最優解[1,2]。目前常見的并行任務調度問題按照任務之間有無數據依賴關系可以劃分為獨立任務調度和依賴關系任務調度。前者在調度任務時不需要考慮任務之間的數據依賴關系;而后者通常用有向無環圖(dag)表示任務之間的數據依賴關系,在調度過程中滿足任務之間的數據依賴關系。依賴關系任務調度的求解優化過程比獨立任務調度的要復雜許多,且其適用范圍也更廣。以dag表示的并行任務模型的研究得到了廣泛關注和迅速開展。近年出現的一些啟發式算法(如模擬退火算法、遺傳算法等)為求解此類np完全問題提供了新的途徑[3~5],但是這些算法有些復雜性太高難以實現,有些實現起來太費時,所以有必要尋求更好的算法來解決此問題。粒子群優化(ps)算法是由kennedy等人[6]提出的一種源于對鳥群捕食行為模擬的進化計算技術,已成為進化計算的一個最吸引人的分支。與遺傳算法類似,ps是一種基于迭代的優化方法,系統初始化為一組隨機解,通過迭代搜尋最優值,但是在許多實際應用領域,更勝于遺傳算法,尤其是在非線性優化問題上。量子粒子群優化(qps)算法是在傳統的ps根底上提出的一種新型的具有高效率全局搜索才能的進化算法[7,8]。它主要是引入量子物理的思想改良了ps的進化方法,即更新粒子位置的方法;在更新粒子位置時重點考慮各個粒子的當前部分最優位置信息和全局最優位置信息。qps具有調整參數少、容易實現、收斂才能強等優勢。為適應任務分配問題的求解,本文設計出適宜的粒子編碼,利用改良的量子粒子群算法求解任務分配問題,并與其他算法相比擬。實驗結果說明,本文提出的算法可以獲得質量更高的解職稱論文。1問題描繪本模型的計算系統由一系列異構的處理機組成,需要處理的總任務已分解成一系列子任務。模型的約束條件為:任務執行具有非搶占性,即處理機只有在執行完某個任務之后才能處理另外一個任務;另外這些任務之間具有前驅后繼的數據依賴關系,某個子任務只有在其所有的前驅任務處理完畢后才能開場執行。該模型的調度目的就是要使得整個dag圖的調度長度最短。為了便于分析問題,可以用以下五元組表述:π=(p,g,θ,ψ,ω)其中:p={p?1,p?2,…,p?n}為n個處理機的集合。g是子任務集t的依賴關系圖,它通過dag來表示各個子任務間的調度約束關系。g=(t,e),其中t={t?1,t?2,…,t?}為個子任務的集合,一個子任務t?i就是圖g中的一個節點,e是任務依賴關系圖中的有向邊集。〈t?i,t?j〉∈e(i,j=1,2,…,),那么表示在子任務t?i沒有完成之前,任務t?j不能執行。這時稱t?i為t?j的一個前驅,t?j為t?i的一個后繼,e可用鄰接矩陣存儲。θ是一個×n矩陣,其元素θij表示任務t?i在處理機p?j上的執行時間,假設每個任務的執行時間預知(i=1,2,…,;?j=1,2,…,n)。ψ是一個×矩陣,其元素ψij表示任務t?i與t?j之間的數據傳輸延時(i,j=1,2,…,),同時假設各處理機間的通信才能是一樣的,且忽略網絡擁塞,即傳輸的數據量是惟一影響ψij大小的因素。ω是一個×n的任務分配矩陣,其中ωij=1表示t?i分配到處理機p?j上執行;否那么ωij=0(i=1,2,…,;j=1,2,…,n)。要實現的目的是尋找一個分配調度策略,將個子任務分配到n個處理機上,合理調度各個子任務的執行次序,使得各子任務在滿足依賴關系圖g的約束下,整個任務的完成時間最短。現假設某一合法的分配調度s,將t中的個子任務分配到n個處理機上,其中子任務t?i被分配到處理機p?j上執行,那么子任務t?i在處理機p?j上的執行時間滿足以下兩式:st(t?i,p?j)=axt?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,…,;j,r=1,2,…,n(2)其中:st(t?i,p?j)和ft(t?i,p?j)分別表示子任務t?i在處理機p?j上的開場執行時刻和完畢執行時刻;pred(t?i)表示子任務t?i的前驅節點集合,假設子任務t?k∈pred(t?i)被分配到處理機?p?r上。根據式(1)(2)迭代計算,可得到所有子任務的完畢執行時刻。設γ(s)為在調度策略s下完成任務所使用的總時間,那么:γ(s)=ax(ft(t?i,p?j));?i=1,2,…,;j=1,2,…,n。任務調度目的就是in(γ(s))?s,即尋找一個分配調度s,使得γ(s)最校鑒于本文主要考慮任務調度問題,在不失問題一般性的情況下,可忽略數據傳輸延時,即在下文中可假設所有的ψij=0。2算法2.1ps算法粒子群優化(ps)算法是一種進化計算方法,是一種基于迭代的優化工具。該算法通過群體中各粒子間的合作與競爭來搜索全局最優點。系統初始化為一組共n個隨機解,通過迭代搜尋整個群體的最優值。粒子i的當前位置為x?i=(xi1,xi2,…,xid),其飛行速度記為v?i=(vi1,vi2,…,vid),在解空間中追隨適應度最優的粒子進展搜索。在每一次迭代中,粒子通過跟蹤兩個“極值〞來更新自己:a)每個粒子本身所找到的最優解pbest。假如粒子當前位置對應的適應度小于pbest的適應度,那么pbest更新為當前位置。b)整個種群從起始到目前所找到的最優解gbest。每個粒子按以下兩個公式進展動態進化,調整粒子的位置:vi,d(t+1)=vi,d(t)+?1r1,d(t)(pbest?i,d-xi,d(t))+??2r2,d(t)(gbest?d(t)-xi,d(t))(3)x?i(t+1)=x?i(t)+v?i(t+1)(4)其中:是慣性權重,動態調整慣性權重以平衡收斂的全局性和收斂速度;?1和?2為加速常數,通常在0~2取值,?1調節粒子飛向自身最好位置方向的步長,?2調節粒子飛向全局最好位置方向的步長;r1,d(t),r2,d(t)~u(0,1),且d=1,2,…,n。為了減少在進化過程中粒子分開搜索空間的可能性,粒子的每一維速度被限定在[-vax,vax]內。2.2qps算法`sun等人從量子力學的角度,通過對粒子收斂行為的研究,基于粒子群算法提出了一種新的算法模型——量子粒子群(qps)算法。在該算法中,由于粒子滿足聚集態的性質完全不同,使粒子在整個可行解空間中進展搜索尋求全局最優解,因此qps算法在搜索才能上遠遠優于所有已開發的ps算法。qps算法參數個數少,進化方程的形式更加簡單,更容易控制。在qps算法中,每一個粒子必須收斂于各自的隨機點p?i,粒子按照下面的三式挪動:best=1?i=1p?i=(1?i=1pi1,…,1?i=1pij)(5)ppij=fpij+(1-f)pgj,f=rand(6)xij=ppij±a|best?j-xij|ln(1/u),u=rand(7)其中:best是粒子群pbest的中間位置;pij為粒子本身所找到的最優解pbest;pgj為整個粒子群目前找到的最優解gbest;ppij為pij與pgj之間的隨機點;a為qps的收縮擴張系數,它是qps收斂的一個重要參數,第t次迭代時一般可取a=aax-t(aax-ain)/tax(8)其中:tax是迭代的最大次數,aax與ain分別是最大和最小系數。qps的算法流程如下:a)迭代次數t=0,對種群的每個粒子的位置向量進展初始化。b)根據目的函數計算每個粒子的目的函數值。)更新每個粒子的新部分最優位置p?i。d)更新粒子群的全局最優位置p?g。e)根據式(5)計算best。f)根據式(6)計算每個粒子隨機點pp?i。g)根據式(7)(以一定的概率取加或減)更新每個粒子的新位置。h)令t=t+1,返回到b),重新計算,直到終止條件滿足。3基于qps的dag并行任務調度3.1編碼與解碼任務調度的常見編碼包括基于任務的編碼、基于操作的編碼和基于優先規那么的編碼等。由于dag并行任務調度的復雜性,采用任一種上述編碼形式均無法保證所有解的合法性,這將浪費大量的求解時間。本文設計了一種復合的編碼方案:編碼長度為2,可描繪為兩個向量,第一個向量采用基于優先規那么的編碼方式,為一個包含維的向量(r?1,r?2,…,r?)。其中r?i表示在算法迭代過程中第i次迭代時發生的沖突利用優先規那么r?i消除。本文選擇了五種優先規那么,包括最短執行時間(spt)、最長執行時間(lpt)、最早開工時間(est)、最早完工時間(eft)、最晚完工時間(lft),數字0、1、2、3、4分別對應優先規那么spt、lpt、est、eft、lft。第二個向量是處理機分配向量,即一個包含維的向量(?1,?2,…,?)。其中?i表示編號為i的子任務被分配到編號為(?i)的處理機上執行(所有處理機編號為0,1,…,n-1)。在解碼過程中,設t為調度的時間步,ps為調度列表。其中ps?t為第t步調度執行的子任務;ts為所有前驅已經被調度的子任務所構成的集合。解碼算法如下:a)令t=1,ps為空,ts由所有無前驅的子任務構成。b)由ts中所有子任務編碼,在處理機分配向量(?1,??2,…,?)中找到分配給每個子任務的處理機,并在θ中找到詳細執行時間。)根據約束條件和執行時間,得到ts中每個子任務對應的指標時間(開工、完工或執行時間),由編碼r?t所對應的優先規那么選出一個子任務(如優先規那么為最短執行時間,那么選ts中執行時間最短的子任務,假如有多個子任務符合優先規那么,那么任選一個),該子任務就是ps?t,從ts中刪除它,并將其參加ps的尾部。d)逐個考察ps?t的后繼子任務,假如該子任務無其他前驅,或其他前驅都已被調度執行,那么將其參加ts中。e)令t=t+1,假設t通過下面例如說明解碼過程:任務的dag如圖1所示。優先規那么向量:(032140)即:(spteftestlptlftspt)處理機分配向量:(011010)即(p1p2p2p1p2p1)在θ中查到的處理時間:(246537)處理時間指1~6號子任務在對應處理機上的執行時間。根據例如數據得到的調度列表ps為(t?1t?2t?4t?6t?3t?5),甘特圖如圖2所示。由上述編碼方式和解碼過程可知,本文編碼能保證調度的可行性,且碼長較短,無冗余,解碼復雜性不高。3.2qps中向量的計算方法對每個粒子,它的優先規那么向量和處理機分配向量可以表示為xpririty(1..)和xahine(1..),按式(5)~(7)計算這兩個向量。由于前面所述的qps為連續空間算法,而dag并行任務調度問題為整數規劃問題,將離散優化轉變成對實數向量的連續優化,詳細過程如下:a)將每個向量切斷分成假設干個子串,各段子串的長度可以相等,也可以不相等,子串形如(q?1,q?2,…,q?k)。b)從整數組成的子串到實數作一個映射,可表示為r=×?ki=1q?i×b??k-i(9)其中:r為映射的實數;是常數,一般取足夠小的實數,本文取值為0.01;b為基數,對于xpririty,b取值為5,對于xahine,b取值為n。)在計算任務執行總時間前,需將r轉換為子串,即式(9)的逆映射:q?i=(r-?i-1j=1q?j×b??k-j)divb??k-i(10)其中:div為整除,得到的商q?i為整數,在實際運算時,可用一個循環,i從1~k得到子串中所有分量。例如9個子任務的情況,xpririty=(242143410),分為三段,各子串長度均為3。子串(242);(143);(410)變換后得到r0.720.481.05經過迭代后的情況:逆變換后得到r0.531.120.91子串(203)(422)(331)在初始化時,可省掉式(9)的轉換過程,直接給粒子位置賦實數。解決了連續化問題之后,還有一個邊界問題,如上例r的取值為[0,1.24],如迭代過程中z的運算結果超出范圍時,將r值取在邊界上。假設r0,取值0;r1.24,取值1.24。通過上述映射和逆映射,整數規劃問題轉換為連續優化問題,從而可以利用qps優化獲得高質量的解。3.3算法流程a)初始化粒子群,根據編碼方案設定各粒子的隨機位置。b)根據式(10)將每個粒子的實數向量轉換為整數向量。)對每個粒子的整數向量解碼后,計算每個粒子的目的函數值。d)更新每個粒子的部分最優值p?i。e)更新粒子群的全局最優值p?g。f)根據式(5)計算best。g)根據式(6)計算每個粒子隨機點pp?i。h)根據式(7)更新每個粒子的新位置。i)返回b)步,直到滿足迭代的次數。4仿真實驗與結果分析4.1實驗參數選取本文的仿真實驗是在atlab軟件上實現的。實驗所用dag圖隨機生成,每個任務節點有1~4個前驅與后繼,估計運行時間θij為1~50s的隨機數。實驗計算了文獻[3,4]的算法、ps與本文的qps共四種情況,算法中主要參數:種群大小為80,終止代數為1500,aax取值1,ain取值0.5;ps的慣性權重與qps中的收縮擴張系數a取值一樣,?1和?2均為2,編碼、解碼、連續化與邊界問題均使用本文的方案;文獻[3]算法的雜交概率為1.0,變異概率為0.05;文獻[4]算法的內部雜交概率為0.8,遷移概率為0.2,演化策略中的參數為μ/λ=5。4.2計算結果與分析對于隨機生成的同一個dag圖,分別用上述四種算法進展計算,記錄各算法收斂時得到的最優解的完成時間和收斂時的進化代數。計算結果如表1所示。為了消除數據隨機性的影響,更好地反映算法的性能,表1中的進化代數是100次進化的平均收斂代數,完成時間是所有100次進化中得到的最優解的平均完成時間。圖3為四個處理機100個子任務情況下四種算法分別進化的靜態性能曲線,列出了各算法在不同進化代數時所找到的最優解。表2為四種算法在進化中能收斂到其最優解的次數占實驗總次數的百分比。表1仿真實驗結果處理機?個數子任務?個數完成時間/s文獻[3]?算法文獻[4]?算法ps?算法本文?算法收斂時的進化代數252852712792653931252925056554355153816613110812510015481429142714164183392853232519318618817953463338450457429428417194168135157100119811361139107351646832333925152141138134735449528503412972922813362171632121001106911923875727621538601表2收斂到其最優解的次數占進化總次數的百分比%各算法子任務個數25子任務個數50子任務個數100文獻[3]算法876448文獻[4]算法969281ps算法928967本文算法1009996由表1、2和算法的靜態性能曲線可以得出:a)在任務數較多、處理機較多的情況下,ps與本文qps算法的收斂速度比文獻[3]算法快很多,但與文獻[4]算法比擬時,ps算法的收斂速度明顯比文獻[4]算法快,本文qps算法那么與文獻[4]算法相當;而在任務數少的情況下,除文獻[3]算法稍慢,其他算法相差不大。b)本文qps算法能找到的最優解比文獻[3,4]算法有明顯的進步,尤其是子任務數較多、處理機數較多時。)ps與本文qps算法比擬時,發現qps算法的收斂速度比ps算法慢,但得到的最優解比ps算法好。這是因為:首先,本文對問題的編碼可以覆蓋整個解空間,相對來說文獻[3,4]的算法只能從一個相對較小的空間內搜索;其次,本文采用了離散空間到連續空間的轉換過程,它不僅滿足了qps算法對待解問題的取值要求,還在一定程度上能更好地保護與遺傳優良的解片段。另外,ps算法收斂過快,而qps的量子搜索方式對傳統的ps算法有了很大的改良,實驗證明可防止早熟。5完畢語基于dag的并行任務調度問題是np難問題,傳統的優化算法很難求得全局最優解,雖然已有人將遺傳算法應用于此問題,但結果有待進一步改善。本文給出了新的問題定義,對qps算法作出調整與改良,編碼表示采用了合適于任務調度問題的優先規那么與處理機分配相結合的形式,并將離散空間優化問題轉換為連續空間優化問題,使得qps有較好的搜索才能。最后通過仿真實驗得到的一系列數據,說明了本文的改良qps算法比遺傳算法和ps算法有更好的性能

溫馨提示

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

最新文檔

評論

0/150

提交評論