蔡程宇,婁淵勝
(河海大學 ,南京210000)
近年來,云計算環(huán)境下的應用在計算機領域已經(jīng)提到了最前沿,高性能服務器[1-2]在大型的企業(yè)已大量普及,而網(wǎng)絡時代的發(fā)展,隨著帶寬的提高,用戶的數(shù)量也隨之加大,即對服務器的質量[3-5]的要求也日益加大,因此,云計算[6]下一個獨立的服務器已經(jīng)再也無法滿足膨脹網(wǎng)絡時代的需求了,而負載均衡[7-9]正是能解決此類問題的關鍵所在,它的思想是通過對所有節(jié)點資源的實時觀測,進行數(shù)據(jù)的收集和整合,通過計算得到節(jié)點的負載率,然后通過閾值判斷集群的狀況看情況分配,最終使得所有的節(jié)點負載均衡,從而達到資源的有效利用,可以有效的降低成本,實現(xiàn)網(wǎng)絡帶寬[10]的優(yōu)化.
通過CloudSim進行仿真實驗,證明了結果的有效性,能更好地提高系統(tǒng)資源的利用率.
在LVS中,傳統(tǒng)的服務器集群中節(jié)點的權值是通過人為的設置給予初值,這對后期的負載率計算帶來了一定的誤差,那么對實驗的結果的產(chǎn)生有一定的影響.而如何實時的去監(jiān)控權值和負載的變化正是我們要做的事情,因此引入了周期性信息采集,那么在周期性采集過程中也會產(chǎn)生一個周期結束到下一個周期開始的時間段內(nèi)產(chǎn)生用戶量暴增的情況出現(xiàn),我們又如何解決呢?通過以下幾個方面進行定義模型并進行實驗比較.
動態(tài)負載均衡的思想涉及兩方面,節(jié)點的性能及當前的負載,通過計算來對系統(tǒng)進行綜合考慮,實現(xiàn)任務的調度和虛擬機的遷移.本文對經(jīng)典調度算法中的加權最小連接數(shù)算法的優(yōu)缺點分析,通過對節(jié)點信息的實時收集以及負載量的變化建立模型,并按照負載情況來合理有效分配資源,這對加權最小連接數(shù)調度算法的研究有著更好的補充和改進,使得集群的性能進一步改善.
本文對算法的改進中,涉及到的參數(shù)并不是很多,因為參數(shù)的收集本身對系統(tǒng)開銷有一定的影響,因此過多的參數(shù)涉入反而達不到資源的有效利用.在這里,我們主要對CPU,內(nèi)存,帶寬,硬盤四個指標進行評價,在單位時間內(nèi)綜合的計算節(jié)點權值.見圖1.
圖1 節(jié)點資源模型
通過圖1所示模型可以得到對應的表達式,用Xi來表示單個服務器節(jié)點可用的資源量.見圖2.
服務器節(jié)點執(zhí)行任務的同時產(chǎn)生資源能耗,因此相應的有任務能耗模型圖.
圖2 任務能耗模型
通過圖2所示模型可以得到對應的表達式,用Yi來表示單個服務器節(jié)點在單位時間內(nèi)能耗量
對CPU、內(nèi)存、網(wǎng)絡、硬盤的權重和用T表示,四個參數(shù)總和為1
則對節(jié)點向量加權求和,可得到節(jié)點權值代表其單個節(jié)點的整體性能.用Mi表示
對任務能耗向量加權求和,可以得到任務大小值,用Ni表示
單個節(jié)點負載率描述:單個服務器i負載率用Zi表示
根據(jù)之前提出的在周期性采集過程中,也會產(chǎn)生一個周期結束到下一個周期開始的時間段內(nèi)產(chǎn)生用戶量暴增的情況,該如何解決,我們可以通過以下幾點去做.
1)通過負載均衡器收集各個節(jié)點的信息,通過計算得到每個負載率并將其劃分為三個等級分別給他們設置閾值,負載率大于等于80%為A類負載密集區(qū)、負載率小于等于20%為B類負載稀疏區(qū)、負載率處于期間的為B類負載均衡區(qū).
2)根據(jù)到來的任務選擇負載稀疏區(qū),這樣確保在一個信息采集周期內(nèi)不會因為大量的任務而導致服務器奔潰,而組內(nèi)我們采用隨機分配策略.
見圖3.
圖3 算法工作流程
通過負載均衡器收集節(jié)點信息后,計算加權求和得到四個參數(shù)及負載,按照之前給出的閾值對比,在符合條件的情況下分別賦予不同的組內(nèi),而組內(nèi)采用隨機分配的策略來進行負載平衡.
本文通過使用一種模擬成千上萬用戶同時訪問服務器并且能實時監(jiān)控的負載測試工具LOADRUNNER進行測試,分別進行五次測試并取平均值,每次8 min,得到系統(tǒng)平均響應時間和系統(tǒng)每秒點擊率在算法改進前后的對比如圖4、5.
由以上實驗圖對比可見,先前的最小連接數(shù)算法顯然不夠理想,通過改進后的算法能直觀的看出系統(tǒng)平均響應時間得到了有效的提高,在5次實驗中,平均值提高了170.6 ms,同時系統(tǒng)每秒點擊率也顯著增加7~8次,因此改進后的算法在系統(tǒng)平均響應時間和系統(tǒng)每秒點擊率上都得到了明顯的優(yōu)勢,使得整個集群系統(tǒng)的性能在之前得到有效的提高,在用戶量暴增的時代,該改進后的算法更能體現(xiàn)它的優(yōu)越之處,所以,該算法能適用于某一時刻龐大的用戶訪問量.
圖4 系統(tǒng)平均響應時間
圖5 系統(tǒng)每秒點擊率
綜上可見改進后的加權最小連接數(shù)調度算法是在原有的算法上進行缺點的補足,它是一種動態(tài)負載均衡機制,它解決了負載不均衡,提高系統(tǒng)平均響應時間及系統(tǒng)每秒點擊率一系列的重要參數(shù)指標,使得整個集群系統(tǒng)得到了較大的改善,達到了集群優(yōu)化平衡的目的.
[1]童瑞霞.基于動態(tài)反饋機制的集群負載均衡算法研究[D].武漢:武漢理工大學,2011.
[2]陳俊麗.基于云計算服務的彈性負載均衡機制的研究與實現(xiàn)[D].成都:成都理工大學,2013.
[3]田紹亮,左 明,吳紹偉.一種改進的基于動態(tài)反饋的負載均衡算法[J].計算機工程與設計,2007,28(3):572-573.
[4]向建軍,白 欣,左繼章.一種用于實時集群的多任務負載均衡算法[J].計算機工程,2003,29(12):36-38.
[5]趙春燕.云環(huán)境下作業(yè)調度算法研究與實現(xiàn)[D].北京:北京交通大學,2009.
[6]汪國安,楊 煥.基于負載均衡的云計算任務調度算法的研究[J].福建電腦,2012,28(12):8-10.
[7]胡麗聰,徐雅靜,徐惠民.基于動態(tài)反饋的一致性哈希負載均衡算法[J].微電子學與計算機,2012,29(001):177-180.
[8]張玉芳,魏欽磊,趙 膺.基于負載權值的負載均衡算法[J].計算機應用研究,2012,29(12):4711-4713.
[9]劉 健,徐 磊,張維明.基于動態(tài)反饋的負載均衡算法[J].計算機工程與科學,2003,25(5):65-68.
[10]劉 敏,房至一,王紅斌,等.一種新的處理能力優(yōu)先的權值分配調度算法[J].吉林大學學報:理學版,2011,6:32.
[11]徐 偉.基于OPT的生產(chǎn)計劃系統(tǒng)設計[J].哈爾濱商業(yè)大學學報:自然科學版,2014,30(2):253 -256.