一種異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法
【專利摘要】本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,具體涉及一種異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法。本發(fā)明包括:按照每個(gè)任務(wù)的負(fù)載和系統(tǒng)中每個(gè)節(jié)點(diǎn)的執(zhí)行速度;計(jì)算每個(gè)任務(wù)在所有處理器節(jié)點(diǎn)的平均執(zhí)行時(shí)間以及每條通信消息在所有鏈路的平均通信時(shí)間;采用底端優(yōu)先級(jí)方法來計(jì)算任務(wù)集中任意任務(wù)的底端優(yōu)先級(jí):根據(jù)任務(wù)的優(yōu)先級(jí)將允許調(diào)度任務(wù)按照其優(yōu)先級(jí)非遞增的方式添加至調(diào)度隊(duì)列;從調(diào)度隊(duì)列的所有允許調(diào)度任務(wù)中選擇優(yōu)先級(jí)最高任務(wù)。本發(fā)明可進(jìn)一步減小當(dāng)前調(diào)度任務(wù)副本的開始執(zhí)行時(shí)間,因此該方法能夠進(jìn)一步減小任務(wù)的調(diào)度Makespan。
【專利說明】一種異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)領(lǐng)域,具體涉及一種異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法。
【背景技術(shù)】
[0002]隨著高速網(wǎng)絡(luò)的出現(xiàn),將分布式、低成本而且極有可能是異構(gòu)的資源連接作為計(jì)算環(huán)境是可行的,因此分布式系統(tǒng)(如云計(jì)算,網(wǎng)格計(jì)算,分布式移動(dòng)計(jì)算)中計(jì)算機(jī)的異構(gòu)性將會(huì)逐步增強(qiáng),這提供了一種稱為異構(gòu)分布式計(jì)算(Heterogeneous DistributedComputing, HDC)系統(tǒng)的計(jì)算平臺(tái)。HDC系統(tǒng)已經(jīng)成為流行的高性能計(jì)算和信息處理的計(jì)算設(shè)備,而且已逐步被關(guān)鍵系統(tǒng)所使用。HDC系統(tǒng)往往具有較高的系統(tǒng)吞吐量和可用性、能夠高效的訪問廣泛的分布式網(wǎng)絡(luò)信息。HDC系統(tǒng)比同構(gòu)系統(tǒng)和中心控制系統(tǒng)更加復(fù)雜,額外的復(fù)雜性可能造成更多的系統(tǒng)失效。在HDC系統(tǒng)中,安全關(guān)鍵應(yīng)用程序不僅要在故障發(fā)生的情況下能夠容錯(cuò),還要滿足時(shí)間約束條件。
[0003]在大型異構(gòu)分布式計(jì)算系統(tǒng)中有效的任務(wù)調(diào)度算法在滿足用戶或者系統(tǒng)要求及實(shí)現(xiàn)高性能方面扮演關(guān)鍵角色。任務(wù)調(diào)度旨在于將任務(wù)映射至處理器并設(shè)置任務(wù)的開始執(zhí)行時(shí)間,使執(zhí)行順序滿足任務(wù)間依賴關(guān)系,同時(shí)最大化調(diào)度可靠性和最小化調(diào)度Makespan。當(dāng)前任務(wù)調(diào)度問題大多針對(duì)獨(dú)立任務(wù),忽視了任務(wù)間的數(shù)據(jù)關(guān)聯(lián)與優(yōu)先約束關(guān)系。同時(shí)最小化調(diào)度Makespan和應(yīng)用程序失效概率常常是相互沖突的,因此必須設(shè)計(jì)同時(shí)考慮調(diào)度Makespan和可靠性的調(diào)度算法。
[0004]容錯(cuò)調(diào)度方法已經(jīng)進(jìn)行大量研究。容錯(cuò)調(diào)度方法可采用被動(dòng)復(fù)制(Primary/Backup, PB)機(jī)制和主動(dòng)復(fù)制機(jī)制來提高可靠性。PB機(jī)制將每個(gè)任務(wù)的兩個(gè)版本分配給不同處理器,在主版本處理器失效時(shí),任務(wù)將會(huì)在副版本處理器上執(zhí)行。PB機(jī)制只能容忍一次故障的發(fā)生。PB機(jī)制在發(fā)生故障時(shí)任務(wù)執(zhí)行時(shí)間較長,極有可能不能滿足實(shí)時(shí)任務(wù)時(shí)間要求。主動(dòng)復(fù)制機(jī)制基于空間冗余,將任務(wù)的多個(gè)副本調(diào)度至不同處理器,通過多個(gè)副本的并行執(zhí)行來實(shí)現(xiàn)容錯(cuò)?;诙喔北痉绞降娜蝿?wù)調(diào)度有兩種:嚴(yán)格調(diào)度和通用調(diào)度。嚴(yán)格調(diào)度是指任務(wù)只有在其所有的直接先行任務(wù)的所有副本都執(zhí)行完成且依賴消息到達(dá)當(dāng)前調(diào)度任務(wù)所映射節(jié)點(diǎn)時(shí),才能開始執(zhí)行。基于任務(wù)副本的容錯(cuò)調(diào)度方法大多都采用這種調(diào)度方式。通用調(diào)度是指只要任務(wù)的每個(gè)直接先行任務(wù)有一個(gè)副本執(zhí)行完成且該副本的消息成功傳輸至當(dāng)前調(diào)度任務(wù)映射節(jié)點(diǎn),當(dāng)前調(diào)度任務(wù)就能開始執(zhí)行。顯然嚴(yán)格調(diào)度是通用調(diào)度的特例。嚴(yán)格調(diào)度下當(dāng)前調(diào)度副本的開始執(zhí)行時(shí)間必須為所有先行任務(wù)副本和其各自的通信時(shí)間之和中的最大值。而通用調(diào)度下當(dāng)前調(diào)度副本的開始執(zhí)行時(shí)間可為部分先行任務(wù)副本和其各自的通信時(shí)間之和中的最大值。任務(wù)間通信消息并不需要全部發(fā)送,只要將所需部分任務(wù)副本間依賴消息發(fā)送即可,通用調(diào)度方式可進(jìn)一步減小當(dāng)前調(diào)度任務(wù)副本的開始執(zhí)行時(shí)間,因此通用調(diào)用的Makespan很有可能比嚴(yán)格調(diào)度小。嚴(yán)格調(diào)度和通用調(diào)度方式的可靠性計(jì)算方式是不同的,嚴(yán)格調(diào)度中任務(wù)副本的可靠性需考慮該任務(wù)所有先行任務(wù)的所有副本,而通用調(diào)度中任務(wù)副本的可靠性只能考慮所有的先行任務(wù)副本中完成執(zhí)行時(shí)間和消息通信時(shí)間之和小于當(dāng)前調(diào)度任務(wù)副本開始執(zhí)行時(shí)間的所有副本。
[0005]大多數(shù)主動(dòng)復(fù)制容錯(cuò)調(diào)度機(jī)制盲目地將任務(wù)復(fù)制一定次數(shù)以容忍指定數(shù)量處理器失效。2003年A.Girault等在會(huì)議《Dependable Systems and Networks》上發(fā)表的文章“An algorithm for automatically obtaining distributed and fauIt-tolerant staticschedules,,及 2008 年 Anne Benoit 等在會(huì)議《Parallel and Distributed Processing》上發(fā)表的文章“Fault tolerant scheduling of precedence task graphs on heterogeneousplatforms”分別提出了 FTBAR算法和FTSA算法。這兩個(gè)算法分別將任務(wù)調(diào)度至最小調(diào)度壓力和最小化完成時(shí)間的前ε+l處理器來容忍ε個(gè)處理器失效。這兩個(gè)算法都沒有給出調(diào)度可靠性分析。2013年Zhao Laiping等在期刊《Parallel Computing》上發(fā)表的文章 “Reliable workflow scheduling with less resource redundancy,,提出了基于主動(dòng)復(fù)制機(jī)制實(shí)現(xiàn)最小化資源開銷的容錯(cuò)調(diào)度算法,該算法選取可靠性最高的節(jié)點(diǎn)來執(zhí)行任務(wù)副本,并沒有考慮副本完成時(shí)間。因此有可能出現(xiàn)任務(wù)被調(diào)度至可靠性高的節(jié)點(diǎn),但是其執(zhí)行時(shí)間卻比較長,而且該方法不利于系統(tǒng)負(fù)載均衡。而且該方法是基于嚴(yán)格調(diào)度方式的調(diào)度方法,其調(diào)度Makespan較通用調(diào)度方式較長。2007年Antonios Litke等在期刊((Future Generation Computer Systems〉〉上發(fā)表的文章“Efficient task replicationand management for adaptive fault tolerance in Mobile Grid environments,,提出了移動(dòng)網(wǎng)絡(luò)計(jì)算環(huán)境下的容錯(cuò)調(diào)度機(jī)制,但其針對(duì)的是獨(dú)立任務(wù)調(diào)度,且該機(jī)制沒有考慮調(diào)度 Makespan。2009 年 Alain Girault 等在期刊《Journal of Parallel andDistributed Computing〉〉上發(fā)表的文章“Reliability versus performance for criticalapplications”提出了能夠同時(shí)優(yōu)化可靠性和調(diào)度長度的兩階段算法。但是該算法使用的是嚴(yán)格調(diào)度方式,其調(diào)度Makespan比較長。該算法沒有考慮鏈路故障,而且其任務(wù)副本映射節(jié)點(diǎn)是隨機(jī)選取的。2011年Laiping Zhao等在會(huì)議《Advanced Information Networkingand Applications》上發(fā)表的文章“A Resource Minimizing Scheduling Algorithm withEnsuring the Deadline and Reliability in Heterogeneous Systems”米用主動(dòng)復(fù)制機(jī)制進(jìn)行任務(wù)容錯(cuò)調(diào)度研究。該文算法同時(shí)考慮了節(jié)點(diǎn)和鏈路失效,但并沒有采用通用調(diào)度方式。
[0006]隨機(jī)搜索算法可結(jié)合已有搜索結(jié)果中獲得的信息與某些隨機(jī)特征來產(chǎn)生新的結(jié)果。遺傳算法(GA)是一種利用自然選擇和進(jìn)化思想在高維空間中尋優(yōu)的方法,具有簡(jiǎn)單、快速、健壯性好等特點(diǎn),而且往往能提供較好的解。它采用有指導(dǎo)信息的非遍歷隨機(jī)搜索機(jī)制,可以快速收斂到全局近優(yōu)解。GA的運(yùn)行開銷常常比較高,但是對(duì)于長時(shí)間運(yùn)行任務(wù)而言這是可接受的,而且可以通過并行GA技術(shù)來提高計(jì)算速度。2009年SungHoChin 等在會(huì)議〈〈Ubiquitous Information Techno 1gi es&App Ii cat ions))上發(fā)表的文章“Genetic Algorithm based Scheduling Method for Efficiency and Reliability inMobile Grid”基于GA進(jìn)行異構(gòu)移動(dòng)網(wǎng)格環(huán)境中的任務(wù)副本調(diào)度來提高任務(wù)可靠性,但是其針對(duì)的是獨(dú)立任務(wù)。2005年Atakan Dogan等在期刊《The Computer Journal》上發(fā)表的文章“Biobjective scheduling algorithms for execution time-rellabilitytrade-off in heterogeneous computing systems” 提出的雙目標(biāo)遺傳算法(BGA)能夠同時(shí)優(yōu)化調(diào)度Makespan和可靠性,但在進(jìn)化過程中BGA有可能產(chǎn)生違背任務(wù)間依賴的無效解。2011 年 Xiaofeng Wang 等在期刊《Future Generation Computer Systems》上發(fā)表的文章“Optimizing the makespan and reliability for workflow applications withreputation and a look-ahead genetic algorithm”采用GA在滿足任務(wù)依賴關(guān)系的同時(shí),采用兩階段策略來同時(shí)優(yōu)化調(diào)度Makespan和可靠性,但該算法沒有采用任務(wù)副本機(jī)制來提高可靠性,因此其可靠性提升是有限的。
[0007]異構(gòu)計(jì)算系統(tǒng)中能夠優(yōu)化可靠性的副本調(diào)度問題為NP完全問題,即不存在多項(xiàng)式時(shí)間算法能夠最大化可靠性。因此本方法采用替代方法來進(jìn)行任務(wù)調(diào)度:調(diào)度方法只要滿足任務(wù)可靠性要求即可,并不需要最大化調(diào)度任務(wù)可靠性。無論是瞬時(shí)故障還是永久故障,評(píng)估通用調(diào)度可靠性已被證明都是#p’完全問題,該問題至少是與NP完全問題同等難度。因此即使獲得任務(wù)集調(diào)度方案,還是不能在多項(xiàng)式時(shí)間內(nèi)計(jì)算任務(wù)集可靠性。因此本方法計(jì)算每個(gè)任務(wù)的可靠性要求,在滿足任務(wù)可靠性要求和任務(wù)間依賴約束關(guān)系的前提下,進(jìn)一步優(yōu)化調(diào)度Makespan。任務(wù)調(diào)度的可靠性計(jì)算方法在嚴(yán)格調(diào)度方式和通用調(diào)度方式下是不同的。任務(wù)可靠性與其開始執(zhí)行時(shí)間是緊密關(guān)聯(lián)的,因?yàn)槿蝿?wù)開始執(zhí)行時(shí)間決定了任務(wù)能夠接收到的先行任務(wù)消息數(shù)量。當(dāng)前調(diào)度問題大多沒有考慮在節(jié)點(diǎn)上任務(wù)副本開始執(zhí)行時(shí)間位置的選取,因此在完成時(shí)間優(yōu)化上存在一定缺陷。因此本方法采用基于通用調(diào)度方式的多副本容錯(cuò)調(diào)度機(jī)制,在滿足可靠性要求的前提下,利用遺傳算法進(jìn)一步優(yōu)化調(diào)度Makespan。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的是提供一種基于主動(dòng)復(fù)制機(jī)制的異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法。
[0009]本發(fā)明的目的是 這樣實(shí)現(xiàn)的:
[0010](I)按照每個(gè)任務(wù)的負(fù)載和系統(tǒng)中每個(gè)節(jié)點(diǎn)的執(zhí)行速度,計(jì)算應(yīng)用程序中每個(gè)任務(wù) ' 被調(diào)度至系統(tǒng)中每個(gè)節(jié)點(diǎn)Pk的執(zhí)行時(shí)間ET (\,Pk);對(duì)于存在依賴約束的應(yīng)用程序G=〈V,E>,集合V= Iv1, v2,...,任務(wù)數(shù)量N= |V|,E為V中任務(wù)間的有向通信權(quán)重邊集合;系統(tǒng)模型為無向圖Gs = <P,L>,P = {Pl, p2,..., pM}是M個(gè)異構(gòu)節(jié)點(diǎn)集合,M= |P|,L是
LI個(gè)通信鏈路集合;任務(wù)集可靠性要求R ;
[0011](2)計(jì)算每個(gè)任務(wù)在所有處理器節(jié)點(diǎn)的平均執(zhí)行時(shí)間以及每條通信消息在所有鏈路的平均通?目時(shí)間;
[0012](3)采用底端優(yōu)先級(jí)方法來計(jì)算任務(wù)集中任意任務(wù) ' 的底端優(yōu)先級(jí)bl (Vj):
[0013]
【權(quán)利要求】
1.一種異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法,其特征在于: (1)按照每個(gè)任務(wù)的負(fù)載和系統(tǒng)中每個(gè)節(jié)點(diǎn)的執(zhí)行速度,計(jì)算應(yīng)用程序中每個(gè)任務(wù)Vj被調(diào)度至系統(tǒng)中每個(gè)節(jié)點(diǎn)Pk的執(zhí)行時(shí)間ET (Vj,pk);對(duì)于存在依賴約束的應(yīng)用程序G =<V,E>,集合V= Iv1, v2,...,任務(wù)數(shù)量N= |V|,E為V中任務(wù)間的有向通信權(quán)重邊集合;系統(tǒng)模型為無向圖Gs =〈P,L>,P= {Pl, p2,..., pM}是M個(gè)異構(gòu)節(jié)點(diǎn)集合,M= |P|,L是L個(gè)通信鏈路集合;任務(wù)集可靠性要求R ; (2)計(jì)算每個(gè)任務(wù)在所有處理器節(jié)點(diǎn)的平均執(zhí)行時(shí)間以及每條通信消息在所有鏈路的平均通彳目時(shí)間; (3)采用底端優(yōu)先級(jí)方法來計(jì)算任務(wù)集中任意任務(wù)Vj的底端優(yōu)先級(jí)bl(Vj):
2.根據(jù)權(quán)利要求1所述的一種異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法,其特征在于,所述的任務(wù)多副本通用調(diào)度方法為: (6.1)初始化相應(yīng)的信息:將任務(wù)Vi副本數(shù)量賦為O,映射節(jié)點(diǎn)賦為空,將空閑節(jié)點(diǎn)集合賦為節(jié)點(diǎn)集合P ; (6.2)如果任務(wù)\為entry任務(wù),選取空閑節(jié)點(diǎn)隊(duì)列中完成時(shí)間最早的節(jié)點(diǎn)執(zhí)行任務(wù)副本,計(jì)算任務(wù)Vj的可靠性耶,1:
3.根據(jù)權(quán)利要求1所述的一種異構(gòu)分布式系統(tǒng)多副本任務(wù)容錯(cuò)調(diào)度方法,其特征在于,所述的基于遺傳算法的任務(wù)多副本通用調(diào)度方法為: (6.3.1)初始化交叉概率P。、變異概率Pn1、種群數(shù)量GN、種群進(jìn)化次數(shù)EN ; (6.3.2)生成初始種群: 計(jì)算當(dāng)前調(diào)度任務(wù)的先行任務(wù)Vi的映射在節(jié)點(diǎn)Pk的任務(wù)副本的消息到達(dá)節(jié)點(diǎn)Pn的時(shí)間 ave(vf,p?):
【文檔編號(hào)】G06F11/00GK103970613SQ201410216137
【公開日】2014年8月6日 申請(qǐng)日期:2014年5月21日 優(yōu)先權(quán)日:2014年5月21日
【發(fā)明者】門朝光, 何忠政, 李香, 蔣慶豐 申請(qǐng)人:哈爾濱工程大學(xué)