《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于IaaS云中的任務調度分配算法的研究與實現
基于IaaS云中的任務調度分配算法的研究與實現
2016年微型機與應用第05期
周水清1,2,陳雯1,2,龔仕林1,2
(1.數字化紡織服裝技術教育部工程研究中心,上海 201620; 2.東華大學 信息科學與技術學院,上海 201620)
摘要: 近年來,基于互聯網技術的云計算的應用日趨成熟,諸多開源的云平臺不斷出現。異構分布式環境中,在面對不同情況時,如何保障負載均衡已經成為云計算研究中的重要研究方向。本文提出了一種基于DAG(Directed Acyclic Graph)的異構分布式系統的任務調度策略。該算法通過資源效益度的競爭,從篩選后的資源池中選擇恰當的資源節點進行任務分配,以此提高系統的負載均衡能力。通過實驗表明,該任務調度算法可以有效降低通信開銷,提高資源利用率,提升負載均衡能力,為整個系統提供高效的性能。
Abstract:
Key words :

  周水清1,2,陳雯1,2,龔仕林1,2

  (1.數字化紡織服裝技術教育部工程研究中心,上海 201620; 2.東華大學 信息科學與技術學院,上海 201620)

  摘要:近年來,基于互聯網技術的云計算的應用日趨成熟,諸多開源的云平臺不斷出現。異構分布式環境中,在面對不同情況時,如何保障負載均衡已經成為云計算研究中的重要研究方向。本文提出了一種基于DAG(Directed Acyclic Graph)的異構分布式系統的任務調度策略。該算法通過資源效益度的競爭,從篩選后的資源池中選擇恰當的資源節點進行任務分配,以此提高系統的負載均衡能力。通過實驗表明,該任務調度算法可以有效降低通信開銷,提高資源利用率,提升負載均衡能力,為整個系統提供高效的性能。

  關鍵詞:云計算;資源調度;負載均衡;DAG

0引言

  隨著近幾年互聯網的迅猛發展,網絡上的數據量呈現了爆發式的增長。面對如此龐大的數據量,搭建一個云計算資源管理平臺用于管理這些數據就顯得非常有必要[12]。

  在平臺中,任務調度算法是提高平臺工作效率的關鍵之一。云計算任務調度的目標就是將相互獨立的N項任務分配到M種異構可用的資源上,使得任務的完成總時間最小且資源得到充分利用。在實際應用中則是將不同的任務分配給不同的虛擬機執行,以使得網絡帶寬占用率最小,得到最佳的任務執行時間[3]。

  目前,關于云計算平臺的任務調度算法逐漸成為研究熱點。Silvio Luiz Stanzani等人提出了MCAHEFT(MultiCluster AllocationHEFT)算法[4],證明了多集群調度平行任務的可能性,不過沒有充分考慮到數據傳輸時造成的網絡負擔。Nitish Chopra等人提出了在公私混合云中進行調度的算法[5],它著重考慮了任務調度運行中的用戶花費問題。通過多次調度,從公有云中借用資源達到了在規定時間內降低使用費用的目的。但是其缺點是從公有云中借用資源的步驟過于繁瑣復雜。O.M.Elzeki等人對最大最小任務調度算法進行了優化[6]。它克服原來最大最小算法的不足,當有大量較小任務的時候,最大最小任務調度算法的任務執行時間會顯著降低。但是,其缺點是沒有充分考慮到資源節點的可用性和穩定性。田國忠提出了基于異構資源的多DAG任務調度的BackFill算法,并且研究了用戶使用費用的優化問題[7]。

  盡管有很多分布式任務調度的研究取得了一定進展,但是在以下幾方面仍然有進一步研究和優化的空間:

  (1)只考慮了網絡情況良好、數據傳輸效率較高的情況;

  (2)不同任務會對任務執行節點有不同的要求,需要引入一個靈活的變量用以量化任務執行節點;

  (3)可以將DAG的概念引入算法。

1算法模型

  本文提出的算法在優化后的MaxMin算法的基礎上[8]進行了以下的改進和優化:

  (1)引入了DAG任務的概念;

  (2)引入了資源效益度,將資源的性能進行量化,從而便于任務執行節點的篩選;

  (3)把任務直接分配到數據所在的資源節點上,而不是將數據和任務分配到篩選出的節點上,降低了網絡負載。

  資源效益度(滿足程度)[9]:指的是在任務調度的過程中,資源對于任務所要求的條件滿足程度,對于第Ri個資源,其資源的效益程度用E(Ri)表示。

  資源效益度不只是與任務完成時間、資源的負載有關,同時還與資源能耗、數據本地性有關。資源效益度值越高,則選擇該資源節點來完成任務的可能性也越高。

001.jpg

  資源節點的效益度是由資源的特征參數構成的,這些特征參數可以使用一個集合來表示:C={c1,c2,c3,c4,c5,…},集合中的每一個元素表示資源的一個特征量。常見的特征量如表1所示。此外,根據不同情況的需要,還可以靈活選擇特征量。表1特征量表類型參數CPUCPU數量CPU處理速率CPU利用率內存空閑物理內存空閑虛擬內存硬盤磁盤利用率磁盤轉速I/O訪問速度其他Flag標識在計算資源效益度時,首先要對特征參量進行量化和歸一化處理,從而使得Ci∈[0,1]。 然后根據歸一化之后的特征量計算資源的效益度。

  1.png

  在特征量集中,由于有些特征量對于任務的執行影響占據主導地位,有的則相對較弱,所以有必要對每個特征量取其權值。改變不同的權值用以應對不同的情況。

  2.png

  此外,在效益度中,設置了變量Flag,它是一個布爾值。當資源空閑、沒有任務需要處理時,將其置為1。如果有任務正在處理時,則將其置為0。因此,將效益度的公式修改為:

  3.png

  另一方面,在實際的生產中,經常出現的一種情況就是,所需要完成的任務的輸入值是其他任務完成之后的輸出值。在DAG中,任務之間具有關聯性,即必須在完成一個任務之后才能繼續執行后續任務。基于這種特征,本文使用DAG用以模擬此情況[10]。DAG的示例如圖1所示。

 

001.jpg

  在任務調度的過程中,按照任務層對任務進行歸類。在每一層中,得到任務所要處理數據的元數據(metadata)。和資源的特征量類似,元數據也是一個集合,其內部常用的元素如表2所示。

002.jpg

元數據對算法非常重要,比如數據能否在本地、數據的大小、數據的權限等。它無法像資源的效益度一樣進行確切的量化分析,只能根據不同的情況在恰當的地方調用適合的元數據。

2優化算法

  在系統的整體調度策略中,其策略核心是根據任務的元數據和資源的效益度執行任務調度。本文所提出的DAG任務應用分布式異構系統的調度策略,其大致思想如下:

  首先,選擇需要處理的任務。在一個DAG任務中,先對第一層任務進行調度分配,即從DAG的入口開始。根據元數據,獲得需要處理數據的大小。需要處理數據量最大的任務擁有最高的優先處理權。

  在分布式系統中,同一份數據會在不同的資源上擁有備份,因此根據元數據獲取需要處理的任務數據的路徑。

  此外,判斷數據是否在本地資源上的變量是一個布爾值,記為L。為此,有必要把效益度公式再次修改為:

  4.png

  擁有任務所需要數據的資源的集合,稱為資源候選池。從上式可以知道,當本地資源沒有所需要的數據,或者當資源正在處理其他任務時,資源的效益度會設為0,也就是最低。這樣這個資源在資源候選池中就沒有了競爭力,這樣任務就會分配到其他候選資源上。

  在對資源進行篩選后,剩下的資源會繼續通過效益度競爭,并且仍然由效益度較高的資源獲得任務執行權。在獲得執行權后,將資源節點的Flag置為0,并在任務執行完畢之后將Flag重新置1,以此迭代,完成一層DAG任務。

  在DAG任務的第一層執行完畢后,執行第二層的任務集合。處理方法與第一層任務執行程序一樣。原則是將需要處理的最大數據分配給處于空閑狀態并且效益度最高的擁有本地數據的資源上,依次迭代。當最后一層的任務完成之后,到達DAG的出口,整個DAG任務則完成。算法流程圖如圖2所示。

002.jpg

  從流程圖中可以看出,算法會首先考慮當前DAG層是否還有任務需要執行。如果有尚未完成的任務,則獲取任務的元數據。通過元數據比較該層全部任務所擁有的優先級,選擇優先級最高的任務,通過效益度計算公式選擇效益度最高的資源節點,使用該節點執行任務。在完成任務之后,繼續考慮當前層有無任務需要執行,依次迭代,最后完成整個DAG層。在所有的DAG層都完成以后,該DAG任務完成。下面給出算法的偽代碼。

  while (layer.size() != 0){//判斷是否還有DAG層

  while (task.size() != 0){//判斷該層是否還有任務

  for all submitted tasks in layer of DAG;//遍歷所有需要執行的任務

  for all metadata in tasks;

  //確認執行任務的元數據

  search task T which has maximum data

  //找到數據量最大的任務,設為T

  for all resource;

  assign Ti to the resource Rj which has maximum performance with local data in leisure;

  set Flag of resource Rj to busy;

  //將運行任務的資源設定為busy狀態

  }

  }

3實驗與結果分析

  3.1實驗相關條件

  實驗使用的仿真平臺是CloudSim。它是一款由澳大利亞墨爾本大學的實驗室與Gridbus項目所宣布推出的云計算仿真軟件。

  CloudSim的功能可以分為兩大類:第一類是虛擬化引擎,其目的是在數據中建立和管理獨立的、協同的、多重的虛擬化服務。第二類是虛擬化服務分配處理核心,使其可以在時間共享和空間共享之間靈活地進行切換。

003.jpg

  實驗中搭建了一個數據中心用以模擬云計算集群。該集群擁有五臺虛擬機作為資源節點,分別稱之為Vm0,Vm1,Vm2,Vm3,Vm4。詳細數據如表3所示。因為集群中每臺計算機的性能指標復雜繁多,所以本次實驗中僅僅考慮與任務處理速度相關的兩個主要性能指標:MIPS(Million Instructions Per Second)和Ram。這兩項指標是任務處理中的關鍵指標。此外,所有的虛擬機都假定是單核處理器。在CloudSim中的具體實現則是從CondorVM類中分別實例化5個Vm,在實例化的過程中指定相應的性能參數。

  任務的輸入是DAG任務,有50個任務,分為9層。每層的任務數量如表4所示。

004.jpg

  在CloudSim中,DAG任務是通過一個xml文件引入的。利用Java的File類對文件進行解析,從而實現任務的輸入。

  另外,在比較資源效益度方面,因為CondorVM類繼承自VM類,所以可以使用VM類中的方法getCloudletMips()和getCloudletRAM()獲得本次試驗所需的資源節點的性能指標。每次分配任務時,算法都會自動刷新這些指標,把得到的最新性能指標代入上文所推出的節點效益度公式(4),從而實時地為算法提供每個節點的效益度指標。

  3.2實驗結果

  經過多次試驗,并對結果進行統計后,將其與FCFS(First Come First Server)算法以及Maxmin算法進行比較。FCFS算法是一種對DAG任務中的每一個任務逐個依次進行執行的經典算法。得到的試驗結果如下:

  (1)在網絡負載使用方面,因為優化后的算法是把任務分配到資源上,所以其對網絡環境的要求較低。而另外兩個算法則是把任務需要的數據傳輸到任務節點上,因此當網絡環境惡劣或者需要傳輸數據量非常大的時候,這兩個算法的性能會大幅下降,所以兩者對網絡環境的要求較高。

  

003.jpg

  (2)由圖3可以看出,優化后的算法平均任務完成時間為217.35 ms,MaxMin算法為205.21 ms, FCFS算法為210.04 ms。新算法的完成時間比Maxmin算法的完成時間延長了5.91%。這是因為新算法相比原本的算法增加了限制條件,從而造成任務完成時間的延長。不過,任務完成時間的增量在可以接受的范圍之內。如果處理的任務量不是非常大,那么可以近似認為新算法和Maxmin算法的完成時間相同。

  (3)在負載均衡能力方面,由于處理的DAG任務大多分布于第3層,所以主要從第3層分析算法的負載均衡能力。負載均衡能力主要觀察是否每個節點都被平均地分配到了任務。如果各個節點之間所獲得的任務數量相近,那么就可以認為算法的負載均衡能力較好。

  如圖4所示,在所有28個任務中,原來的Maxmin算法主要是把任務分配到了運算能力較為強大的Vm3和Vm4上,Vm0和Vm1所分配到的任務個數顯然偏少,算法的負載均衡能力不好。

  

004.jpg

  對于FCFS算法,它將大量的任務分配到了運算能力低下的節點Vm0和Vm1上。而能力相對強大的Vm3和Vm4的幾個節點相對而言幾乎沒有分配到任務,因此,該算法的負載均衡能力也不好。

  最后,對于本文提出的新算法,各節點獲得的任務數量較為平均,相對于另外兩個算法,負載均衡能力明顯有了提升。這是因為優化后的算法采用的策略是將任務放在本地數據上進行處理,即把任務分配到了數據所在資源上,而不是把數據傳輸到效益度較高的資源上進行處理。

4總結

  本文提出了資源效益度概念,用于量化系統中各個資源節點,以此作為選擇任務分配時的重要依據。對于資源效益度,用戶可以根據不同的任務情況,隨時改變它的量化標準,從而靈活調整任務分配的策略。文章通過DAG模擬了日常生產中所遇到的輸入任務情況,并提出了基于DAG任務的調度算法。通過加入效益度函數對原有算法進行了優化。

  實驗結果表明,新算法可以顯著降低網絡負載,并且在輸入DAG任務規模不太大的時候,通過犧牲部分任務完成時間顯著提高了云計算系統的任務負載均衡能力。為云計算環境下DAG任務調度策略的研究提出了新的解決思路。

參考文獻

  [1] ARMBRUST M, FOX O, GRIFFITH R, et al. Above the clouds: a view of cloud computing[J]. Eecs Department University of California Berkeley, 2009, 53(4):5058.

  [2] 梁鋼, 茅秋吟. 云計算IaaS平臺的信息安全和運維服務設計[J]. 電子技術應用, 2013, 39(7):6364.

  [3] 徐忠勝,沈蘇彬.一種云計算資源的多目標優化的調度方法[J].微型機與應用,2015,34(13):1720.

  [4] STANZANI S L, SATO L M, NETTO M A S. Scheduling workflows in multicluster environments[C].Advanced Information Networking and Applications Workshops (WAINA), 2013 27th International Conference on. IEEE, 2013: 560565.

  [5] CHOPRA N, SINGH S. HEFT based workflow scheduling algorithm for cost optimization within deadline in hybrid clouds[C].2013 Fourth International Conference on Computing, Communications and Networking Technologies (ICCCNT). IEEE, 2013: 16.

  [6] ELZEKI O M, RESHAD M Z, ELSOUD M A. Improved maxmin algorithm in cloud computing[J]. International Journal of Computer Applications, 2012, 50(12): 2227.

  [7] 田國忠. 多 DAG 共享資源調度的若干問題研究[D]. 北京: 北京工業大學, 2014.

  [8] KOKILAVANI T, GEORGE AMALARETHNAM D I. Load balanced MinMin algorithm for static Metatask scheduling in grid computing[J]. International Journal of Computer Applications, 2011,20(2):4349.

  [9] 程春玲, 張登銀, 徐玉,等. 一種面向云計算的分態式自適應負載均衡策略[J]. 南京郵電大學學報:自然科學版, 2012(4):5358.

  [10] 唐一韜, 黃晶, 肖球. 一種基于DAG的MapReduce任務調度算法[J]. 計算機科學, 2014, 41(S1):4246.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美sm重口味系列视频在线观看| 国产精品夜色7777狼人| 亚洲免费一区二区| 亚洲精品之草原avav久久| 久久精品久久99精品久久| 亚洲欧美在线另类| 亚洲欧美另类在线| 亚洲综合视频在线| 亚洲伊人网站| 亚洲欧美日韩综合一区| 亚洲一区二区三区在线播放| 亚洲午夜在线观看视频在线| 中文在线资源观看视频网站免费不卡| 日韩一级黄色片| av成人免费观看| 99这里只有精品| 99精品国产热久久91蜜凸| 一本色道久久| 亚洲综合精品一区二区| 午夜久久tv| 欧美一级网站| 亚洲高清视频中文字幕| 亚洲高清在线精品| 亚洲国产日韩综合一区| 亚洲日本欧美天堂| 中国亚洲黄色| 亚洲免费在线看| 午夜宅男欧美| 久久久久久久999| 美女黄网久久| 欧美日韩午夜精品| 国产精品久久久久9999吃药| 国产日韩欧美在线看| 国产一区二区无遮挡| 一区免费视频| 亚洲人成在线播放网站岛国| 日韩视频中午一区| 亚洲在线不卡| 亚洲第一综合天堂另类专| 亚洲精品国产品国语在线app | 久久国产精品一区二区三区四区 | 久久―日本道色综合久久| 免费成人毛片| 欧美日韩一区在线观看| 国产精品一区三区| 尤物精品在线| 亚洲免费观看高清在线观看| 亚洲主播在线播放| 亚洲国产日韩在线一区模特| 一区二区三区 在线观看视频| 亚洲中字黄色| 久久久久在线| 猛男gaygay欧美视频| 欧美三级午夜理伦三级中视频| 国产免费一区二区三区香蕉精| 亚洲电影专区| 亚洲一区二区三区精品视频| 久久精品国产99国产精品| 99视频在线精品国自产拍免费观看| 亚洲欧美一级二级三级| 久久一区二区精品| 欧美日韩精品一区二区在线播放| 国产嫩草一区二区三区在线观看| 亚洲国产精品国自产拍av秋霞| 一区二区三区精品视频在线观看| 性欧美xxxx大乳国产app| 亚洲九九九在线观看| 午夜亚洲福利在线老司机| 免费观看成人鲁鲁鲁鲁鲁视频 | 欧美色精品天天在线观看视频 | 亚洲一区二区成人| 久久青青草综合| 国产精品久久久999| 在线免费不卡视频| 亚洲一区在线播放| 亚洲人成久久| 久久久国产视频91| 国产精品九九久久久久久久| 亚洲国产成人久久综合一区| 午夜国产不卡在线观看视频| a91a精品视频在线观看| 久久精品一区中文字幕| 欧美日韩三区四区| 1000部国产精品成人观看| 亚洲欧美日韩电影| 一区二区三区精品视频| 欧美+日本+国产+在线a∨观看| 国产欧美视频一区二区| 99re热这里只有精品免费视频| 久久精品国产免费观看| 午夜久久99| 欧美日韩国产综合网| 1769国产精品| 久久精品免费看| 欧美一区午夜视频在线观看| 国产精品xxxav免费视频| 亚洲黄一区二区三区| 亚洲第一天堂av| 久久精品国产999大香线蕉| 欧美午夜女人视频在线| 亚洲精品男同| 最新高清无码专区| 久久久久久久久久看片| 国产欧美在线视频| 亚洲一二三四久久| 一区二区国产日产| 欧美精品1区| 在线免费观看日韩欧美| 久久精品国产69国产精品亚洲| 欧美在线综合视频| 国产欧美一区二区三区久久人妖 | 91久久中文| 免费日韩成人| 在线看视频不卡| 亚洲人成网在线播放| 美日韩在线观看| 亚洲成色www久久网站| 91久久久久久久久| 看片网站欧美日韩| 影音先锋亚洲视频| 亚洲欧洲精品一区二区精品久久久| 久久视频在线视频| 国产一区91| 久久国产精品网站| 久久五月婷婷丁香社区| 国外视频精品毛片| 久久精品一区中文字幕| 快播亚洲色图| 亚洲国产乱码最新视频| 亚洲免费精彩视频| 欧美日韩精品免费看| 99精品国产热久久91蜜凸| 亚洲天堂成人在线观看| 欧美三级网址| 亚洲尤物在线视频观看| 欧美在线视频一区二区三区| 国产视频亚洲精品| 欧美一区二区三区四区在线观看地址 | 美女日韩欧美| 在线播放视频一区| 亚洲精品一区二区三区av| 欧美精品在线观看91| 亚洲视频一区| 久久精品亚洲精品国产欧美kt∨| 黄色成人91| 亚洲精品九九| 欧美日韩中文| 亚洲综合成人婷婷小说| 久久久久女教师免费一区| 亚洲福利国产精品| 在线亚洲免费| 国产精品欧美经典| 久久成人精品视频| 欧美精品久久久久久久久老牛影院| 亚洲免费av网站| 午夜欧美大片免费观看| 国产主播喷水一区二区| 亚洲免费福利视频| 国产精品欧美一区喷水 | 欧美专区亚洲专区| 欧美韩日高清| 亚洲视频999| 久久久免费精品视频| 亚洲日本理论电影| 亚洲欧美视频一区二区三区| 激情久久久久久久久久久久久久久久| 99riav久久精品riav| 国产欧美日韩激情| 亚洲黄色视屏| 国产精品久久久免费| 久久精品日韩| 欧美视频你懂的| 亚洲成人自拍视频| 欧美视频在线不卡| 亚洲成色999久久网站| 欧美色图麻豆| 亚洲国产精品第一区二区| 欧美日韩中文精品| 亚洲国产成人av| 欧美午夜宅男影院| 最新成人在线| 国产欧美日本一区二区三区| 日韩午夜视频在线观看| 国产曰批免费观看久久久| 一区二区三区四区在线| 黄色精品在线看| 亚洲一区国产视频| 在线观看成人网| 亚洲欧美日本国产有色| 亚洲福利精品| 久久精品国产久精国产爱| 日韩手机在线导航| 你懂的视频一区二区| 亚洲一区二区黄色| 欧美日韩国产小视频| 亚洲福利av| 国产精品美女久久久免费| 亚洲精选一区| 精品999在线观看| 欧美专区在线|