聶清彬 蔡婷 曹耀欽



摘 要: 傳統(tǒng)的蟻群算法(ACO)在云計算資源調(diào)度的應(yīng)用中,存在一些資源節(jié)點無法滿足任務(wù)運行所需的硬件配置條件,從而在任務(wù)調(diào)度算法中造成了大量的浪費以及整體資源調(diào)度效率低下等問題。據(jù)此提出一種基于最小資源矩陣(ACO?MRM)的改進蟻群算法,拋棄大量不滿足任務(wù)運行條件的資源節(jié)點,減少大量對無效資源節(jié)點的計算,加速算法收斂。仿真實驗表明,改進的蟻群算法不僅能夠提高云計算調(diào)度的有效性,而且能縮短任務(wù)執(zhí)行時間和減少運行成本來獲取全局最優(yōu)調(diào)度方案。
關(guān)鍵詞: 云計算; 蟻群算法; 任務(wù)調(diào)度; 最小資源矩陣
中圖分類號: TN911?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2016)05?0010?04
0 引 言
云計算機是由并行計算,網(wǎng)絡(luò)計算和分布式計算發(fā)展而來的一種新型計算模式。它把云計算中各種資源通過虛擬化技術(shù)進行統(tǒng)一的分配和管理,并對外提供服務(wù),形成以用戶為中心,實行“按需使用,按量付費”的商業(yè)服務(wù)模式?;谠撋虡I(yè)模式,用戶必然關(guān)心任務(wù)的執(zhí)行成本以及所花的時間,因此必須要對云中的資源進行合理的分配,最大化的提高資源利用率;用戶提交的任務(wù)執(zhí)行成本低,執(zhí)行的時間短同時讓整個系統(tǒng)的負載始終處于一個相對均衡的水平是需要解決的難題。
目前,基于云計算的資源調(diào)度算法很多,文獻[1]提出了基于改進的TC_LABCO算法,優(yōu)化了任務(wù)執(zhí)行的時間和成本,在這些改進的蟻群算法調(diào)度策略中,任務(wù)調(diào)度就是在資源和任務(wù)之間建立起一個映射關(guān)系的過程,讓任務(wù)合理地分配到資源上來達到優(yōu)化的目的;但是有一點因為每個任務(wù)運行所要求的硬件資源不一致,并非每個資源都能滿足每個任務(wù)的要求,有的資源節(jié)點由于剩余的CPU處理能力不足,無法提供完成任務(wù)所需要的最低配置。然而以往的資源調(diào)度策略算法依然要對其預(yù)測計算,這樣就造成了大量的、無效和重復(fù)的搜素計算,浪費了時間和資源,降低了整個系統(tǒng)的效率。因此本文以目前相對成熟并被廣泛應(yīng)用的蟻群算法作為基礎(chǔ),結(jié)合資源矩陣特點,提出最小資源矩陣算法(ACO?MRM)對目前的蟻群算法進行改進。通過實驗證明,改進以后的蟻群算法不僅能節(jié)約大量的調(diào)度時間,同時降低了任務(wù)執(zhí)行的成本。
1 蟻群算法的基本原理
蟻群算法(Ant Colony Optimization,ACO)是由Dorigo Macro在1992年在其發(fā)表的博士論文中提出的一種模擬螞蟻群體在通過尋找食物過程中去發(fā)現(xiàn)路徑行為的算法,螞蟻在覓食過程中,當一只螞蟻找到食物后,就會在它經(jīng)過的路徑環(huán)境中釋放一些揮發(fā)性的分泌物,稱之為信息素,螞蟻在覓食過程中主要是根據(jù)所處的環(huán)境中的信息素決定其前進的方向,那么在較短的路徑上的信息素的數(shù)量就會比較多,這樣螞蟻選擇的概率自然就更大,隨著最短路徑上的信息素的數(shù)量越來越多,最終螞蟻會選擇最短的路徑。常見的旅行商算法就是通過模擬蟻群算法來獲取全局最優(yōu)解的。
5 算法流程
(1) 初始化云資源中所有虛擬機的信息素的值。
(2) 將n個任務(wù)隨機地放在m個節(jié)點上,也就是把螞蟻隨機地分派到各個虛擬機上,構(gòu)造資源任務(wù)矩陣式(6),在該資源矩陣中,資源與任務(wù)形成映射關(guān)系,如果該對應(yīng)的虛擬機無法滿足對應(yīng)任務(wù)運行最低要求如式(4),那么將矩陣中[xmn]的值賦給啟發(fā)因子[η=0,]則說明不會選中該虛擬機來執(zhí)行該任務(wù);如果對某一個任務(wù),虛擬機節(jié)點能夠滿足任務(wù)運行的最低要求,如式(5),那么將[xmn]值賦給啟發(fā)因子[η=1],通過該方式,可以為任務(wù)[Tj]挑選出那些有能力執(zhí)行的虛擬機。
(3) 每只螞蟻根據(jù)選擇下一跳的式(1)來為下一個子任務(wù)選擇全局最優(yōu)的資源節(jié)點。
(4) 當某只螞蟻結(jié)束它的路徑遍歷任務(wù)后,通過文獻[1]中的TC_LABCO算法找到一種基于時間?成本最優(yōu)的資源節(jié)點后,所有資源節(jié)點按照式(9)進行局部更新。
(5) 當所有螞蟻都完成了路徑遍歷任務(wù),執(zhí)行第(6)步,并且找出這次遍歷中的最優(yōu)路徑,然后對路徑上的所有資源節(jié)點進行全局信息素更新,否則的話跳到第(3)步。
(6) 迭代次數(shù)[Nc]累加1,統(tǒng)計出最優(yōu)的方案,保存。
(7) 如果[Nc>Ncmax]([Ncmax]為最大迭代次數(shù))則算法停止優(yōu)化,并把結(jié)果輸出;否則,跳轉(zhuǎn)到步驟(2)繼續(xù)執(zhí)行,直到算法停止。
6 實驗仿真以及結(jié)果分析
為了驗證最小資源矩陣以及時間成本控制算法的有效性,通過云仿真工具CloudsSim進行試驗測試,在試驗中,設(shè)置10個虛擬機,迭代次數(shù)設(shè)置為100,信息素初始值為1,設(shè)置任務(wù)數(shù)從50,100,150,200依次遞增,將本文改進蟻群算法和傳統(tǒng)的CAO算法以及文獻[1]中提出的基于改進的TC_LABCO算法策略進行對比,如圖1,圖2所示。
從圖1可以看出,相比較而言,隨著任務(wù)數(shù)的增加,加入最小資源矩陣算法以后的蟻群算法收斂速度明顯比傳統(tǒng)的蟻群算法更快,改進以后的蟻群算法在同等條件下執(zhí)行同樣的任務(wù)執(zhí)行時間更短。從圖2可以看出,在同等條件下,改進算法執(zhí)行的費用更低。實驗表明,在原始的蟻群算法中,存在大量的無效搜素,導(dǎo)致搜索任務(wù)的時間更短,而經(jīng)過最小資源矩陣改進以后的蟻群算法適應(yīng)度最小。
7 結(jié) 語
本文主要研究了基于蟻群算法在云計算資源調(diào)度中的運用,發(fā)現(xiàn)以往的蟻群調(diào)度算法在資源搜索過程中存在大量的不能滿足任務(wù)運行的無效資源,從而浪費了大量的時間和成本,使得在云計算環(huán)境中任務(wù)調(diào)度算法效率不高,因此提出了最小資源矩陣算法(ACO?MRM),該算法在適應(yīng)云計算資源調(diào)度算法的前提下,排除了不能滿足任務(wù)運行的無效資源,使得能夠參與運算的都是有效資源,這樣的結(jié)果使得迭代次數(shù)更優(yōu),同時具有收斂更快的優(yōu)勢,并使用仿真軟件驗證了最小資源矩陣算法的有效性。實踐證明通過加入該算法,可以使得執(zhí)行的時間縮短,成本降低以及資源節(jié)點負載更均衡,在未來的研究中,還將進一步挖掘加強螞蟻之間的交流,同時考慮用戶的QoS需求,最大限度地提高云計算機中資源調(diào)度的合理性和高效性。
參考文獻
[1] 李坤.云環(huán)境下的任務(wù)調(diào)度算法研究與實現(xiàn)[D].長春:吉林大學(xué),2012.
[2] 劉萬軍,張孟華,郭文越.基于MPSO算法的云計算資源調(diào)度策略[J].計算機工程,2011,37(11):43?44.
[3] 張春艷,劉清林,孟珂.基于蟻群優(yōu)化算法的云計算任務(wù)分配[J].計算機應(yīng)用,2012,32(5):1418?1420.
[4] 王登科.云計算任務(wù)調(diào)度算法的研究與實現(xiàn)[D].蘭州:西北師范大學(xué),2013.
[5] 姜華杰.基于QoS的云計算資源分配算法[D].太原:太原理工大學(xué),2012.
[6] 王娟,李飛,張路橋.限制解空間的PSO云存儲任務(wù)調(diào)度算法[J].計算機應(yīng)用研究,2013,30(1):127?130.
[7] DORIGO M, CARO G D. The ant colony optimization meta?heuristic [J]. New ideas in optimization, 1999, 28(3): 11?32.
[8] KUN Li, XU Gaochao, ZHAO Guangyu, et al. Cloud task scheduling based on load balancing ant colony optimization [C]// Proceedings of 2011 Sixth China Grid Conference on Annual. Liaoning: IEEE, 2011: 3?9.
[9] DORIGO M. Optimization, learning and natural algorithms [D]. Milano: Politecnico Di Milano, 1992.
[10] 王永貴,韓瑞蓮.基于改進蟻群算法的云環(huán)境任務(wù)調(diào)度研究[J].計算機測量與控制,2011,19(5):1203?1211.
[11] 吳慶洪,張紀會,徐心和.具有變異特征的蟻群算法[J].計算機研究與發(fā)展,1999,36(10):1240?1245.
[12] 李建峰,彭艦.云計算環(huán)境下基于改進遺傳算法的任務(wù)調(diào)度算法[J].計算機應(yīng)用,2011,31(1):184?186.