国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

異構(gòu)分布式計算環(huán)境下一種新型表調(diào)度算法

2018-08-17 00:26李云洋
計算機(jī)工程 2018年8期
關(guān)鍵詞:分布式計算任務(wù)調(diào)度前驅(qū)

李云洋, ,

(1.南京理工大學(xué) 自動化學(xué)院,南京 210094; 2.中航工業(yè)西安飛行自動控制研究所,西安 710065)

0 概述

隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和在實(shí)際工程系統(tǒng)中的廣泛應(yīng)用,越來越多不同處理能力的單個處理器通過網(wǎng)絡(luò)互聯(lián)而組成了異構(gòu)分布式計算環(huán)境,如網(wǎng)絡(luò)化嵌入式系統(tǒng)[1]。在處理大規(guī)模任務(wù)時,分布式計算系統(tǒng)通常將任務(wù)分解為若干相互依賴的子任務(wù)并進(jìn)行處理,而任務(wù)調(diào)度是實(shí)現(xiàn)高效異構(gòu)分布式計算的關(guān)鍵技術(shù)。由于大規(guī)模復(fù)雜多約束任務(wù)調(diào)度問題是NP-hard問題[2],往往難以獲得最優(yōu)解,尤其在分布式異構(gòu)計算環(huán)境中,由于各任務(wù)在異構(gòu)處理器上執(zhí)行特性不同,對復(fù)雜任務(wù)調(diào)度問題提出了挑戰(zhàn),因此研究并設(shè)計低復(fù)雜度、高性能的任務(wù)調(diào)度算法具有重要的理論意義和工程應(yīng)用前景。

靜態(tài)任務(wù)調(diào)度算法主要包括基于啟發(fā)式和基于隨機(jī)搜索的算法,其中啟發(fā)式調(diào)度主要有表調(diào)度算法、基于分簇的調(diào)度算法和基于復(fù)制的調(diào)度算法[3-4]。表調(diào)度由于簡單易行,并且具有較高的調(diào)度效率和較低的時間復(fù)雜度,因此受到廣泛關(guān)注,其主要代表性算法有DLS[5]、HEFT[6]、CPOP[6]等。文獻(xiàn)[6]提出2種低復(fù)雜度的表調(diào)度算法HEFT和CPOP,但HEFT算法在處理器分配階段僅根據(jù)本任務(wù)完成時間最短的策略分配處理器,而未考慮對后繼任務(wù)完成時間的影響。文獻(xiàn)[7-8]提出2種基于復(fù)制策略的調(diào)度算法,減少了任務(wù)完成時間,但算法執(zhí)行時間復(fù)雜度較高且容易造成處理器資源浪費(fèi)。文獻(xiàn)[9-10]分別提出2種基于分簇策略的調(diào)度算法,基于分簇的算法能夠有效利用處理器資源而提高任務(wù)并行計算執(zhí)行效率,但在減少通信開銷上不如基于任務(wù)復(fù)制的算法,并且時間復(fù)雜度也高于表調(diào)度算法。在處理多任務(wù)調(diào)度問題時,隨機(jī)搜索算法及應(yīng)用也得到研究。文獻(xiàn)[11-13]提出3種基于遺傳算法的任務(wù)調(diào)度算法,文獻(xiàn)[14]提出基于模擬退火的調(diào)度算法。此外,文獻(xiàn)[15-16]還提出基于禁忌搜索的調(diào)度算法。遺傳算法由于能夠縮短任務(wù)完成時間而應(yīng)用廣泛,但其程序運(yùn)行時間遠(yuǎn)比啟發(fā)式調(diào)度算法時間長,因此,對實(shí)時性要求高的系統(tǒng)僅適用于離線靜態(tài)調(diào)度場合。

HEFT表調(diào)度算法未考慮其直接后驅(qū)任務(wù)完成時間的影響。針對該不足,本文提出一種新型表調(diào)度算法IFEFT。通過計算任務(wù)最早完成時間,以及該任務(wù)與出口任務(wù)之間的最大通信開銷,并采用兩者乘積越小越優(yōu)先的策略,進(jìn)行處理器任務(wù)分配。

1 問題描述

用戶請求應(yīng)用可分解為若干相互依賴的任務(wù),通過有向無環(huán)圖(Direct Acyclic Graph,DAG)描述。一般DAG圖由二元組G=(V,E)表示,其中,V表示DAG圖的節(jié)點(diǎn)集合,即任務(wù)集合V={v1,v2,…,vn},n=|V|表示任務(wù)總數(shù),E是DAG圖有向邊,每個邊連接2個任務(wù),E={ei,j|ei,j=〈vi,vj〉,ei,j∈V×V},如果ei,j∈E,表示任務(wù)vi和vj之間有依賴關(guān)系,vj必須在vi完成后才能開始處理。圖1為一個表示任務(wù)節(jié)點(diǎn)以及邊權(quán)重的標(biāo)準(zhǔn)DAG圖。

圖1 DAG圖

若異構(gòu)計算環(huán)境下處理器之間通過同構(gòu)網(wǎng)絡(luò)互聯(lián),即任意2個處理器之間的通信速率相同,則DAG圖中每條邊對應(yīng)一個通信開銷,用ci,j描述任務(wù)vi和任務(wù)vj在不同處理器上處理所需要的通信開銷,C={ci,j|ei,j∈E,ci,j>0}表示整個DAG圖的通信開銷集合。設(shè)異構(gòu)處理器集合為P={p1,p2,…,pm},m=|P|為處理器總數(shù),用wi,j表示任務(wù)vi在處理器pj上的計算開銷(時間),那么W=[wi,j]n×m即是任務(wù)集合在處理器上計算開銷矩陣。表1列出了圖1中10個任務(wù)在處理器p1~p3上的計算開銷。

表1 圖1中10個任務(wù)在3個處理器上的計算開銷

定義任務(wù)vi的前驅(qū)和后繼任務(wù)集合分別為:

Vpred(vi)={vj|vj∈V,ej,i∈E}

(1)

Vsucc(vi)={vj|vj∈V,ei,j∈E}

(2)

令入口任務(wù)為ventry,出口任務(wù)為vexit,那么Vpred(ventry)=0,Vsucc(vexit)=0。令TEST(vi,pj)和TEFT(vi,pj)分別表示任務(wù)vi在處理器pj的最早執(zhí)行開始時間和最早執(zhí)行完成時間,則對于入口任務(wù)ventry,有:

TEST(ventry,pj)=0

(3)

對于DAG圖中的其他任務(wù),從入口任務(wù)開始,采用遞歸的方法分別計算最早執(zhí)行開始時間(Earliest Start Time,EST)和最早執(zhí)行完成時間(Earliest Finish Time,EFT)。為計算任務(wù)vi的最早執(zhí)行完成時間,其所有的直接前驅(qū)任務(wù)都應(yīng)已被調(diào)度成功。最早執(zhí)行開始時間和最早執(zhí)行完成時間的計算公式如下:

TEST(vi,pj)=

(4)

TEFT(vi,pj)=wi,j+TEST(vi,pj)

(5)

其中,Tavail[j]表示處理器pj準(zhǔn)備好執(zhí)行任務(wù)的最早時間。

當(dāng)任務(wù)vi調(diào)度到處理器pj后,其在處理器pj上的最早完成執(zhí)行時間就等于實(shí)際完成時間TAFT(vi)。而當(dāng)DAG圖中全部任務(wù)都被調(diào)度執(zhí)行后,整個應(yīng)用的執(zhí)行時間就是出口任務(wù)vexit的實(shí)際完成時間,即:

Tmakespan=max{TAFT(vexit)}

(6)

2 IFEFT調(diào)度算法

本文提出的IFEFT表調(diào)度算法包括2個階段:任務(wù)優(yōu)先級排序和處理器分配。

2.1 任務(wù)優(yōu)先級排序

IFEFT算法首先建立任務(wù)的優(yōu)先級隊(duì)列,然后根據(jù)隊(duì)列順序?qū)θ蝿?wù)逐個進(jìn)行調(diào)度,在任務(wù)優(yōu)先級排序階段,令wDLC(vi)表示任務(wù)vi與其直接前驅(qū)任務(wù)vm之間的最大通信開銷,wULC(vi)表示任務(wù)vi與其直接后驅(qū)任務(wù)vn之間的最大通信開銷,wLC(vi,pj)表示vi與vm和vn之間的最大通信開銷以及vi在pj上的計算開銷三者之間和的最大值,wALC(vi)表示任務(wù)vi在不同處理器上計算的wLC(vi,pj)的平均值。分別定義如下:

wDLC(vi)=max{ci,m}

(7)

wULC(vi)=max{ci,n}

(8)

wULC(vi)+wi,j}

(9)

每個任務(wù)在不同處理器上計算開銷不同,因此,為了更精確,每個任務(wù)在不同處理器上都應(yīng)該有一個wLC值。首先通過式(9)計算在不同處理器上執(zhí)行的上行權(quán)重,然后根據(jù)式(10)求其平均值,最后對權(quán)重、優(yōu)先級由高降低進(jìn)行排序。根據(jù)式(9)和式(10)計算公式可得:任何一個前驅(qū)任務(wù)的上行權(quán)重必大于其所有后繼任務(wù)的上行權(quán)重,從而保證任務(wù)之間的約束關(guān)系。IFEFT算法描述如下:

1.計算隊(duì)列中每個任務(wù)的開銷LC(vi, pi)和平均開銷ALC(vi),并將任務(wù)按ALC(vi)降序排列;

2.While 隊(duì)列中有任務(wù)未被調(diào)度do

3.選擇ALC(vi)最大的任務(wù)vr;

4.計算最短完成時間EFT(vr, pj)與通信開銷LD(vr, pj);

5.分派vr到EFT(vr, pj)與LD(vr, pj)乘積最小的處理器上;

6.標(biāo)記vr為被調(diào)度任務(wù);

7.End while

2.2 處理器選擇

當(dāng)任務(wù)調(diào)度的優(yōu)先級隊(duì)列順序確定后,由式(4)和式(5)計算任務(wù)在每個處理器上的最早開始時間和完成時間。目前已有很多算法在處理器分配階段都是根據(jù)EFT大小來選擇處理器的,只考慮了直接前驅(qū)任務(wù)和本身任務(wù)完成時間,而未考慮其對直接后驅(qū)任務(wù)完成時間的影響。一個任務(wù)如果其EFT值小但鏈路距離(Link Distance,LD)很大,并不能取得很好的調(diào)度效果,因?yàn)镈AG圖的拓?fù)浣Y(jié)構(gòu)及通信開銷也會影響任務(wù)完成時間。為了獲得更好的調(diào)度效果,本文提出兼顧直接前驅(qū)任務(wù)和直接后驅(qū)任務(wù)對其完成時間長短影響的設(shè)計思想。在處理器分配階段,令wLD表示任務(wù)vi與出口任務(wù)之間最大通信開銷,IEFT作為處理器選擇標(biāo)準(zhǔn),結(jié)合“向上看”和“向下看”的原則,即采用最早完成時間EFT和最大通信開銷LD乘積最小的原則,定義:

wLD(vi,pj)={wLC(vi,pj)-wi,j}

(11)

IEFT(vi,pj)=min{TEFT(vi,pj)×wLD(vi,pj)}

(12)

采用本文IFEFT算法對圖1和表1所示的任務(wù)調(diào)度模型進(jìn)行調(diào)度,并與HEFT、DLS、CPOP算法進(jìn)行比較,如圖2所示。可以看出,本文IFEFT算法的任務(wù)完成時間最短。

圖2 4種表調(diào)度算法結(jié)果的甘特圖

3 實(shí)驗(yàn)與結(jié)果分析

3.1 參數(shù)及比較指標(biāo)

本文利用4種算法在相同的DAG圖上產(chǎn)生的調(diào)度結(jié)果進(jìn)行分析和比較,描述DAG圖的參數(shù)有任務(wù)節(jié)點(diǎn)個數(shù)n、處理器個數(shù)m、任務(wù)在處理器上的平均計算花費(fèi)wACC和通信計算比RCCR,即平均通信時間和平均計算時間之比。

調(diào)度算法采用調(diào)度長度比(Scheduling Length Ratio,SLR)和加速比作為評價指標(biāo)。SLR表示算法實(shí)際執(zhí)行時間與關(guān)鍵路徑任務(wù)執(zhí)行時間的最小值之比,調(diào)度算法產(chǎn)生的SLR越小,說明算法越高效。SLR的計算公式為:

其中,CPmin表示所有待處理的任務(wù)在處理器上執(zhí)行時間最短的集合。加速比表示在一個處理器上串行執(zhí)行DAG圖時所有任務(wù)使用的最小時間與其實(shí)際執(zhí)行時間的比值,調(diào)度算法產(chǎn)生的加速比越大,說明算法越高效。加速比計算公式為:

3.2 隨機(jī)任務(wù)實(shí)驗(yàn)與結(jié)果對比

本文通過3組不同的實(shí)驗(yàn)對比IFEFT、HEFT、DLS、CPOP 4種算法的性能。

實(shí)驗(yàn)1設(shè)置n=20,m={2,4,6,8,16,32},wACC=40,RCCR=0.8,shape={0.4,0.5,0.6,0.7}進(jìn)行100次實(shí)驗(yàn),即隨機(jī)生成100個DAG圖測試不同處理器個數(shù)對算法性能的影響,得到的平均SLR和平均加速比如圖3所示。實(shí)驗(yàn)數(shù)據(jù)顯示,IFEFT的平均SLR分別比HEFT、DLS和CPOP算法小5.32%、15.23%和13.30%,平均加速比分別比HEFT、DLS和CPOP算法大3.04%、5.83%和4.79%,表明IFEFT算法的平均SLR和平均加速度2項(xiàng)性能指標(biāo)都優(yōu)于其他3種算法。

圖3 處理器個數(shù)對各算法性能的影響

實(shí)驗(yàn)2設(shè)置n=20,m=8,wCCR={0.2,0.4,0.8,1,2,4,6},shape={0.4,0.5,0.6,0.7},wACC=40,進(jìn)行100次實(shí)驗(yàn),即隨機(jī)生成100個DAG圖測試不同通信計算比,即通信時間與計算時間之比對算法性能的影響,獲得的平均SLR和平均加速比如圖4所示。實(shí)驗(yàn)結(jié)果顯示,IFEFT算法獲得的平均SLR分別比HEFT、DLS和CPOP算法小5.91%、12.34%和9.57%,平均加速比分別比HEFT、DLS和CPOP算法大0.96%、5.83%和3.16%,表明IFEFT算法的平均SLR和平均加速比2項(xiàng)性能指標(biāo)均優(yōu)于其他3種算法。

圖4 通信計算比對各算法性能的影響

實(shí)驗(yàn)3設(shè)置n={10,20,30,40,50},m=8,RCCR=0.8,shape={0.4,0.5,0.6,0.7},wACC=40,進(jìn)行100次實(shí)驗(yàn),即隨機(jī)生成100個DAG圖測試任務(wù)個數(shù)對算法性能的影響,獲得的平均SLR和平均加速比如圖5所示。實(shí)驗(yàn)數(shù)據(jù)顯示,IFEFT的平均SLR分別比HEFT、DLS和CPOP算法小7.03%、11.26%和9.66%,平均加速比分別比HEFT、DLS和CPOP算法大1.73%、7.11%和5.59%,表明IFEFT的平均SLR和平均加速比2項(xiàng)性能指標(biāo)都優(yōu)于其他3種算法。

圖5 任務(wù)個數(shù)對各算法性能的影響

4 結(jié)束語

本文提出一種新型表調(diào)度算法IFEFT。在處理器分配階段,該算法兼顧了任務(wù)對其直接前驅(qū)任務(wù)和直接后驅(qū)任務(wù)完成時間的影響。實(shí)驗(yàn)結(jié)果表明,與DLS、HEFT和CPOP算法相比,IFEFT算法可有效縮短任務(wù)完成時間,提高平均加速比。下一步將研究異構(gòu)分布式計算環(huán)境下的任務(wù)動態(tài)調(diào)度策略,以及非理想異構(gòu)分布式環(huán)境下兼顧計算效率與整體可靠性的調(diào)度算法。

猜你喜歡
分布式計算任務(wù)調(diào)度前驅(qū)
化學(xué)氣相沉積法從MTS-H2-N2前驅(qū)體制備碳化硅涂層
Mg2SiO4前驅(qū)體對電熔MgO質(zhì)耐火材料燒結(jié)性能及熱震穩(wěn)定性的影響
基于PEPA的云計算任務(wù)調(diào)度性能分析
SRSF2、HMGA2和Caspase-3在卵巢高級別漿液性癌及其前驅(qū)病變中的表達(dá)及意義
基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
回收制備二氯二氨合鈀(Ⅱ)前驅(qū)體材料的工藝研究
基于云計算的移動學(xué)習(xí)平臺設(shè)計與實(shí)現(xiàn)
云計算中MapReduce分布式并行處理框架的研究與搭建
基于小生境遺傳算法的相控陣?yán)走_(dá)任務(wù)調(diào)度
面向異構(gòu)分布式計算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法