摘 要:為實現(xiàn)虛擬機層的負載均衡,論文提出一種基于雙加權最小連接的資源調(diào)度算法。傳統(tǒng)的加權最小連接算法對服務器的權值是事先根據(jù)服務器節(jié)點的配置情況和管理員的經(jīng)驗設定的,以連接數(shù)來表示節(jié)點負載。本文在加權最小連接算法的基礎上,綜合考慮服務器的實時負載情況,實現(xiàn)對服務器的動態(tài)賦權值。同時根據(jù)任務類型的復雜度,對任務類型也進行了加權計算,給出了雙加權最小連接算法的設計思想、基本流程及實現(xiàn)過程。通過在CloudSim平臺上的仿真結(jié)果表明,與加權最小連接算法相比,雙加權最小連接算法能夠得到更高的負載均衡度和更好的系統(tǒng)效率。
關鍵詞:云計算;資源調(diào)度;負載均衡;加權最小連接算法;雙加權最小連接算法
中圖分類號:TP18
計算機技術和互聯(lián)網(wǎng)技術催生了互聯(lián)網(wǎng)應用的迅猛發(fā)展,用戶通過網(wǎng)絡共享計算機資源演變至云計算商業(yè)模式劃時代的誕生,其計算能力近乎無限,信息服務豐富多樣,用戶對計算資源和服務隨時可得、易于擴展、按需計費。在云計算商業(yè)模式下,構建的云數(shù)據(jù)中心已成為一個高性能計算機集中地,物理服務器和網(wǎng)絡設備規(guī)模大,但由于用戶需求的多樣、動態(tài)變化以及服務器的資源異構性會導致數(shù)據(jù)中心出現(xiàn)負載不均衡的情況,致使一部分物理機的負載過重,效率降低,而另一些則負載較輕處于空閑狀態(tài)。因此如何通過合適的資源調(diào)度算法來平衡物理機之間的負載以提高云數(shù)據(jù)中心資源利用率和整體性能是目前云計算領域的一大關鍵問題。
1 負載均衡及研究現(xiàn)狀
負載均衡是實現(xiàn)資源有效利用和共享的一個重要手段,分為基于任務的負載均衡和基于資源的負載均衡?;谌蝿盏呢撦d均衡是指把任務在多個計算、磁盤、進程或者其他資源間進行分配以獲得最優(yōu)的資源利用率,用來降低計算時間[1]?;谫Y源的負載均衡就是通過對資源的分配以及再分配來實現(xiàn)各個節(jié)點負載的大致平衡,從而提高整個系統(tǒng)的性能。
目前常用的負載均衡算法包括兩大類:(1)靜態(tài)的負載均衡算法,比如輪詢算法(RR)、加權輪詢算法(Weighted Round Robin,WRR)、隨機放置算法等,它不考慮服務器的實時負載情況,只是按照預先設定好的決策來分配任務;(2)動態(tài)負載均衡算法,如最小鏈接算法(Least-Connection,LC)和加權最小鏈接算法(Weighted Least-Connection Scheduling,WLC),它根據(jù)系統(tǒng)的實時負載情況動態(tài)來分發(fā)請求。
文獻[2]介紹了Eucalyptus平臺采用RR調(diào)度算法將虛擬機按照順序分配到不同的物理機上,實現(xiàn)負載均衡。WRR算法用相應的權值表示服務器的處理能力,權值較大的會被分配給較多的請求。該算法在Vmware資源負載均衡中得到了采用。隨機算法就是將虛擬機請求隨機分配到合適的物理機上。
2 雙加權最小連接算法的負載均衡算法研究設計
2.1 加權最小連接調(diào)度算法
加權最小連接調(diào)度算法是在做少連接數(shù)調(diào)度算法的基礎上,根據(jù)服務器的不同處理能力,給每個服務器分配不同的權值,使其能夠接受相應權值數(shù)的服務請求,是在最少連接數(shù)調(diào)度算法的基礎上的改進。它是最小連接調(diào)度的超集,各個服務器用相應的權值表示其處理性能。服務器的缺省權值為1,系統(tǒng)管理員可以動態(tài)地設置服務器的權值。加權最小連接調(diào)度在調(diào)度新連接時盡可能使服務器的已建立連接數(shù)和其權值成比例。調(diào)度器可以自動問詢真實服務器的負載情況,并動態(tài)地調(diào)整其權值。
加權最少連接調(diào)度算法流程如下:
(1)對服務器性能權值的設置不能準確地反映節(jié)點真實的實時處理能力,造成整個系統(tǒng)的負載不均衡,影響系統(tǒng)的性能。
(2)僅僅以連接數(shù)來表示節(jié)點負載,沒有考慮請求所需的服務時間和系統(tǒng)資源的差異,并不能很準確的表示服務節(jié)點的實時的負載情況。
2.2 基于任務類型的加權最小連接算法的負載均衡調(diào)度算法改進
2.2.1 設計思想
為了實現(xiàn)更好的負載均衡,有必要改進上述的算法,將服務器的性能進行綜合的考慮,實現(xiàn)動態(tài)賦值;同時根據(jù)任務的復雜程度,確定每個任務的權值。從而使負載均衡器能夠更為準確地了解各個服務器節(jié)點的實時處理性能和負載情況,選取一個最合適的服務節(jié)點。改進后的算法設計思想如下:
(1)采用實時信息動態(tài)地表示服務器性能的權值,從而充分評估和利用各個節(jié)點服務器的剩余處理能力。
(2)根據(jù)任務中文件的類型為任務賦予相對應的權值。任務中文件的擴展名可確定文件的類型,從而確定任務的權值。為簡化處理,本文根據(jù)任務中不同類型所需要的資源不同,講任務分為四個類型,任務中文件所需資源越多,任務權值越高。服務器節(jié)點的實時負載就是服務器所有任務的權值之和。在每次分配任務之前,調(diào)度器將計算出每個服務器上所有任務的權值之和。
(3)為了保證系統(tǒng)在長時間運行狀態(tài)下各個節(jié)點的負載不發(fā)生較大的傾斜,每次分配任務之前,調(diào)度器將計算出每個服務器上所有任務的權值之和和服務器性能的權值之比,將新任務分配給比值最小的服務器。
2.2.2 核心設計
算法流程設計如下:
(1)對每臺服務器進行編號1-N。
(2)根據(jù)服務器的處理能力設定服務器權值。
(3)根據(jù)任務類型的復雜度設定任務權值。
(4)對于每臺服務器,計算出服務器上所有的任務權值之和與服務器權值之比。
(5)將任務分配給比值最小的服務器。服務器上已有的任務越簡單,其任務權值越??;且服務器的處理能力越強,其權值越大。故當有新的請求到達時,總是將任務分配到服務器上已有的任務權值之和與服務器性能權值之比最小的服務器上。即當且僅當服務器Sm滿足下面公式時,新的請求會被發(fā)送至服務器Sm:
在實際運行時,為簡化處理,根據(jù)任務中不同文件類型所需資源不同,將任務分為四種類型,即將任務中的文件分為四個大類,對應四種任務,表示如下:
3 仿真及其結(jié)果分析
3.1 仿真實驗設計
為了驗證雙加權最小連接調(diào)度算法的性能,在CloudSim平臺上進行了仿真,在實驗中模擬一個云數(shù)據(jù)中心,比較在使用幾種不同負載均衡調(diào)度算法時數(shù)據(jù)中心系統(tǒng)的負載均衡度,系統(tǒng)效率。實驗分為3組,每組服務器數(shù)目相同,均為15個;但任務數(shù)不同,分別為150個,1500個和15000個。每個任務均隨機產(chǎn)生且大小不同。每組實驗數(shù)據(jù)都使用了3種調(diào)度算法,即最小連接算法、加權最小連接算法與本文提出的雙加權最小連接算法。
3.2 仿真結(jié)果與分析
3.2.1 150個任務時
4 結(jié)束語
針對云計算中的資源調(diào)度問題,以及如何協(xié)調(diào)服務器之間的負載以提高云計算平臺和云數(shù)據(jù)中資源利用率和系統(tǒng)性能,本文提出了一種基于雙加權最小連接的資源調(diào)度算法。傳統(tǒng)的加權最小連接算法對服務器的權值是事先根據(jù)服務器節(jié)點的配置情況和管理員的經(jīng)驗設定的,以連接數(shù)來表示節(jié)點負載。在加權最小連接算法的基礎上,綜合考慮服務器的實時負載情況,實現(xiàn)對服務器的動態(tài)賦權值;同時根據(jù)任務類型的復雜度,對任務類型也進行了加權計算;給出了雙加權最小連接算法的設計思想、基本流程及實現(xiàn)過程。通過在CloudSim平臺上的仿真結(jié)果表明,與加權最小連接算法相比,雙加權最小連接算法能夠得到更高的負載均衡度和更好的系統(tǒng)效率。
參考文獻:
[1]李坤,王百杰.服務器集群負載均衡技術研究及算法比較[J].計算機與現(xiàn)代化,2009(08):7-10.
[2]Berral J L,Goiri í,Nou R.Towards energy-aware scheduling in data centers using machine learning[A].Proceedings of the 1st International Conference on energy-Efficient Computing and Networking[C].ACM,2010:215-224.
[3]鄧維,劉方明,金海.云計算數(shù)據(jù)中心的新能源應用:研究現(xiàn)狀與趨勢[J].計算機學報,2013(36):582-598.
[4]葉可江,吳朝暉,姜曉紅.虛擬化云計算平臺的能耗管理[J].計算機學報,2012(06):1262-1285.
[5]羅軍舟,金嘉暉,宋愛波.云計算—體系架構與關鍵技術[J].通信學報,2011(32):3-21.
[6]潘飛,蔣從鋒,徐向華.負載相關的虛擬機放置策略[J].小型微型計算機系統(tǒng),2013(34):520-524.
[7]高宏卿,邢穎.基于經(jīng)濟學的云資源管理模型研究[J].計算機工程與設計,2010(19):4139-4142.
[8]田文洪,趙勇.云計算—資源調(diào)度管理[M].北京:國防工業(yè)出版社,2011:81-88,7-10.
作者簡介:彭紅姣(1975-),女,湖南祁東人,實驗師,碩士,博士研究生,研究方向:網(wǎng)絡虛擬化、云計算、網(wǎng)絡與通信、計算機應用。
基金項目:江蘇省高校研究生科研創(chuàng)新計劃項目(項目編號:CXZZ13_0494)江蘇省高校自然科學研究計劃資助項目(項目編號:12KJB520007);江蘇省自然科學基金項目(No.BK2011754)。
作者單位:南京郵電大學計算機學院,南京 210023