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