王 晶,何利力
(浙江理工大學 信息學院,杭州 310018)
數(shù)據(jù)中心的負載均衡問題一直是數(shù)據(jù)中心研究的熱點問題,追根究底,主要原因是資源配置問題[1],即資源利用不均衡問題.面對由大量異構(gòu)設備組成的數(shù)據(jù)中心,如何實現(xiàn)其負載均衡成為研究熱點問題.虛擬機遷移技術(shù)是解決數(shù)據(jù)中心資源分配問題的有效解決方法,其在提供平臺有效服務的情況下對節(jié)點虛擬機資源進行調(diào)整,以提高平臺資源利用率,保證服務質(zhì)量,是實現(xiàn)數(shù)據(jù)中心負載均衡的有效手段之一[2–4].
基于虛擬機遷移技術(shù)的負載均衡策略,即將負載過高或過低的節(jié)點服務器進行相應的虛擬機遷移操作,通過調(diào)整節(jié)點服務器負載,達到整個平臺的負載均衡[3].由于任務到達具有隨機性,節(jié)點的負載也是不斷變化的,若想實現(xiàn)數(shù)據(jù)中心的負載均衡,則需一套虛擬機動態(tài)遷移策略,通過監(jiān)測數(shù)據(jù)中心節(jié)點的負載狀況,動態(tài)地進行虛擬機遷移調(diào)整[4],從而提高節(jié)點資源利用率,改善數(shù)據(jù)中心的負載均衡.
虛擬機遷移過程可以分為兩大模塊:遷移觸發(fā)時機與遷移選擇策略.遷移時機觸發(fā)策略即根據(jù)節(jié)點資源使用狀態(tài)判斷是否達到遷移條件,從而觸發(fā)下一模塊;遷移選擇策略包括選擇待遷移虛擬機和目標節(jié)點,即確定待遷移虛擬機至其遷移目的節(jié)點的最佳方案.
遷移時機觸發(fā)策略通常使用狀態(tài)閾值法,將每種狀態(tài)設定閾值進行劃分,但在判斷遷移時機時需要避免負載瞬時值影響時機判斷的準確性,從而避免由遷移時機不準確導致的過遷移現(xiàn)象.狀態(tài)閾值法分為靜態(tài)閾值法與動態(tài)閾值法,由于靜態(tài)閾值法一經(jīng)設定后不能根據(jù)資源使用狀態(tài)動態(tài)調(diào)整,故而存在適應性差和靈活度低問題.文獻[5]提供了一種根據(jù)數(shù)據(jù)中心整體負載量調(diào)整閾值窗口的遷移時機判決算法方法,有效解決了由靜態(tài)閾值造成的虛擬機頻繁遷移問題.文獻[6]使用以調(diào)度頻率和負載率作為反饋值的動態(tài)閾值法判定觸發(fā)時機可以有效根據(jù)資源動態(tài)變化開啟調(diào)度時機,但是未考慮數(shù)據(jù)中心整體的負載度,當數(shù)據(jù)中心接受大量任務時可能導致數(shù)據(jù)中心的整體負載度過高.文獻[7]使用負載預測的方法對未來幾期的負載進行預測,進而減少負載瞬時值的影響,但觸發(fā)時機的合理性由預測方法的準確性來決定,雖復雜算法可以提高預測的準確性,但是會增加計算資源的消耗.
遷移選擇策略旨在快速解除節(jié)點過載狀態(tài),即如何選擇需遷移的虛擬機與目的節(jié)點,在最少遷移代價與最少遷移時間的條件下將待遷移虛擬機遷移至目的節(jié)點,調(diào)整節(jié)點資源狀態(tài),使得數(shù)據(jù)中心回到負載均衡范圍.文獻[8]使用采用最大相關(guān)性虛擬機選擇算法(RRVMS)和多資源相關(guān)匹配目的主機選擇算法(RMRHS)對虛擬機進行遷移,即選擇最大相關(guān)虛擬機遷移到資源最小相關(guān)的目的主機上,可以有效減少遷移次數(shù)從而降低能耗,但未考慮到遷移代價和負載均衡問題.文獻[9]根據(jù)虛擬機與服務器資源的相關(guān)性與資源權(quán)重比選擇相關(guān)性大但帶寬資源利用率低的虛擬機,并考慮遷移數(shù)量以及資源匹配程度選擇目標主機,可以有效減少遷移代價.但是該方法的遷移開銷僅考慮了遷移次數(shù),具有一定的局限性.
針對以上問題,本文設計了一種基于虛擬機動態(tài)遷移的負載均衡策略,通過監(jiān)控全局負載度與高低負載節(jié)點占比動態(tài)調(diào)整閾值從而實現(xiàn)對節(jié)點資源的狀態(tài)評估與遷移時機判定;使用基于負載類型感知的選擇策略,即通過考慮虛擬機與節(jié)點資源的依賴度和虛擬機貢獻度選擇待遷移虛擬機,并根據(jù)虛擬機與目的節(jié)點的資源匹配度與遷移代價選擇目的節(jié)點,實現(xiàn)對高負載與低負載節(jié)點的虛擬機動態(tài)調(diào)整,從而優(yōu)化節(jié)點資源配置并改善數(shù)據(jù)中心負載均衡.
本文考慮到異構(gòu)節(jié)點的資源配置差異,選取CPU使用率、內(nèi)存使用率和帶寬使用率作為負載指標,并將過載情況分為三種類型:CPU 過載型、內(nèi)存過載型和帶寬過載型[10],從而對節(jié)點負載情況進行評估,相關(guān)定義如下:
定義1.數(shù)據(jù)中心有n個節(jié)點,第i個節(jié)點的資源配置為:ri=(cpui,rami,bandi),記節(jié)點i的CPU 利用率為CUi、內(nèi)存利用率為RUi、帶寬利用率為BUi,則節(jié)點i的負載向量Ni為:
若各負載指標的權(quán)值為Ki=[k1k2k3],其中k1+k2+k3=1.則節(jié)點i的負載度為:
那么,數(shù)據(jù)中心負載度即全局負載度可由數(shù)據(jù)中心所有開啟的節(jié)點負載度的平均值表示,公式如下:
定義2.設節(jié)點負載超過高位閾值Thrh為重載;負載低于低位閾值Thrl為輕載;負載位于兩個閾值之間為適載.則表示如下:
其中,Thrcpu、Thrram、Thrband和分別為CPU、內(nèi)存和帶寬的高位閾值,分別根據(jù)各自的利用率設定.Thrl則根據(jù)節(jié)點負載度進行設定.
定義3.低于低位閾值的節(jié)點集合為L;將超過高位閾值的節(jié)點組成高負載節(jié)點矩陣H,根據(jù)其過載類型使用節(jié)點狀態(tài)標記進行區(qū)分,表示如下:
其中,第i行為第i個節(jié)點的各參數(shù)值;第一行為節(jié)點的負載指標向量的轉(zhuǎn)置;第二列為節(jié)點狀態(tài)標記,值為1 表示CPU 利用率高,值為2 表示內(nèi)存利用率高,值為3 表示帶寬利用率高.最后一位Num表示節(jié)點編號.
虛擬機遷移觸發(fā)時機的選擇至關(guān)重要,針對現(xiàn)有的靜態(tài)閾值的適應性差和靈活度低問題,本文通過分析數(shù)據(jù)中心全局負載度、高負載比率和低負載比率對實現(xiàn)對閾值的動態(tài)調(diào)整,從而增加遷移觸發(fā)策略的靈活性與觸發(fā)時機的合理性.
(1)考慮因素
本文閾值動態(tài)調(diào)整方案考慮因素共有3 個:數(shù)據(jù)中心負載度(全局負載度)、高負載比率和低負載比率.下面介紹3 種因素的求解方法及對其數(shù)據(jù)中心的影響.
① 全局負載度
全局負載度是評價數(shù)據(jù)中心整體負載情況的有效方法之一.當全局負載度過高時,數(shù)據(jù)中心整體接收大量的負載任務,此時需增加可用資源承接負載任務以均衡全局負載;當全局負載度過低時,數(shù)據(jù)中心接收的負載任務減少,此時需縮減可用資源范圍.全局負載度計算方法如下:
取t時段內(nèi)的負載信息并根據(jù)公式(3)得到此時段內(nèi)負載度集合{Lddc(1),Lddc(2),···,Lddc(t)};為了減小負載瞬時值的影響,剔除該集合中的m個孤立點,此時負載度集合為 {Lddc(1),Lddc(2),···,Lddc(t?m)},再采用權(quán)重法計算全局負載度,如下:
其中,l1+l2+···+lt?m=1,權(quán)重系數(shù)li按指數(shù)遞增,公式為:
為保持數(shù)據(jù)中心負載均衡度,需為數(shù)據(jù)中心設置負載均衡范圍(ωl,ωh),此范圍內(nèi)數(shù)據(jù)中心負載度為適宜的,此范圍取值依據(jù)為數(shù)據(jù)中心此時段歷史負載度.
② 高負載比率與低負載比率
高低負載節(jié)點比率表現(xiàn)出數(shù)據(jù)中心節(jié)點利用率情況.當高負載節(jié)點數(shù)量過多時,會多次觸發(fā)遷移操作,造成虛擬機頻繁遷移,造成資源浪費,此時需要適量調(diào)高高位閾值或開啟新的節(jié)點服務器;低負載節(jié)點比率過多時,此時數(shù)據(jù)中心過多服務器資源處于未充分利用狀態(tài),故調(diào)低低位閾值并關(guān)閉部分節(jié)點服務器.設高負載比率、低負載比率分別為Lrh和Lrl,權(quán)重系數(shù)li計算見式(9),在t時間段內(nèi),計算公式如下:
設置高負載比率(minLrh,maxLrh)和低負載比率范圍(minLrl,maxLrl)以判斷調(diào)整閾值和開啟或關(guān)閉節(jié)點的時機.
(2)調(diào)整流程
通過全局負載度與高低負載節(jié)點比率實現(xiàn)對狀態(tài)閾值的動態(tài)調(diào)控流程如下:
當Lddc≠(ωl,ωh)時,若m inLrl 其中,Thrh′、Thrl′分別表示調(diào)整前的高位閾值和低位閾值,τh和τl分別為高位和低位閾值的調(diào)節(jié)因子,當Lddc<ωl時,τh和τl皆為正數(shù),當Lddc>ωh時,τh和τl皆為負數(shù). 當Lddc<ωl且Lrl>maxLrl時,數(shù)據(jù)中心負載度偏低,此時需要選擇需要進行遷移操作的部分輕載節(jié)點,在輕載節(jié)點完成遷移操作后會關(guān)閉該節(jié)點.確定待遷移(關(guān)閉)輕載節(jié)點列表方法如下: 首先將輕載節(jié)點按負載度進行升序,此時輕載節(jié)點列表 {NL1,NL2,···,NLs},則對應節(jié)點負載值列表為{Ld1,Ld2,···,Lds},Lddc為此時的全局負載度,n為正在使用的節(jié)點總數(shù),設需要關(guān)閉的節(jié)點為k個,則k應該滿足如下條件的最小正整數(shù): 當Lddc>ωl且Lrh>maxLrh時,數(shù)據(jù)中心負載度偏高,此時開啟一個新的節(jié)點. 本文采用的動態(tài)閾值調(diào)整具體流程如圖1所示. 圖1 狀態(tài)閾值動態(tài)調(diào)整流程圖 由狀態(tài)閾值可以對節(jié)點負載狀態(tài)進行評估,是判斷節(jié)點是否需要進行遷移調(diào)整的重要步驟,其評估結(jié)果是遷移觸發(fā)時機判定的重要依據(jù).但是節(jié)點負載變化時會出現(xiàn)短時間內(nèi)的負載抖動現(xiàn)象產(chǎn)生負載瞬時值,進而影響遷移觸發(fā)時機的判斷,降低虛擬機遷移的有效性.本文采用乘積指數(shù)加權(quán)法[11]對m期內(nèi)的負載進行評估,乘積指數(shù)加權(quán)公式如下: 其中,wt為第t期權(quán)重系數(shù).若此時為負載過載評估,則T1為 負載超過高位閾值的期數(shù),T2為負載低于高位閾值的期數(shù);若為負載輕載評估,則T1為負載值低于低位閾值的期數(shù),T2為負載值高于低位閾值的期數(shù). 根據(jù)以上狀態(tài)閾值動態(tài)調(diào)整方法結(jié)合負載值評估方法,設計了虛擬機的遷移時機判決算法,內(nèi)容如算法1. 算法1.基于動態(tài)閾值的遷移時機判決算法1)收集各節(jié)點負載信息,計算監(jiān)測時間內(nèi)全局負載度與高低負載節(jié)點占比,判斷是否需要更新閾值,是則轉(zhuǎn)第2)步,否則轉(zhuǎn)第3)步.2)分析全局負載度與高低負載占比,調(diào)整并更新狀態(tài)閾值.3)根據(jù)狀態(tài)閾值,分別判斷各節(jié)點負載狀態(tài).若節(jié)點負載指標高于高位負載,開啟該節(jié)點該負載指標過載評估,轉(zhuǎn)第4)步;若節(jié)點負載度低于低位負載,開啟該節(jié)點負載度輕載評估,轉(zhuǎn)第5)步;均未達到高低閾值要求為適載節(jié)點,則轉(zhuǎn)第7)步.4)對節(jié)點超過高位閾值的負載指標進行m 期的查詢并計算其評估值,若評估值達到過載要求,則判斷此節(jié)點為該指標類型過載,根據(jù)定義3,更新高負載節(jié)點矩陣H.轉(zhuǎn)第3)步,繼續(xù)循環(huán).5)對負載度低于低位閾值的節(jié)點進行m 期的負載度查詢并計算其評估值.若m 期內(nèi)評估值均達到輕載要求,則判斷此節(jié)點輕載節(jié)點,加入低負載節(jié)點列表.轉(zhuǎn)第3)步,繼續(xù)循環(huán).6)將低負載節(jié)點列表按負載度升序,結(jié)合全局負載度,判斷是否在負載均衡范圍 中,若,則根據(jù)式(11)計算得到待遷移操作的輕載節(jié)點集合L,若 且,則啟用一個節(jié)點.7)輸出高負載節(jié)點矩陣H 與低負載節(jié)點矩陣L.(ωl,ωh)Lddc<ωl Lddc>ωl Lrh>maxLrh 上述算法可以通過動態(tài)閾值判斷遷移時機并得到高負載與低負載節(jié)點列表,即確定需進行遷移選擇策略的節(jié)點. 基于動態(tài)閾值的遷移時機判決算法確定了需進行虛擬機遷移操作的高負載與低負載節(jié)點列表,本節(jié)的遷移選擇算法包含兩個方面:待遷移虛擬機的選擇算法和目的節(jié)點的選擇算法,旨在選擇合適的待遷移虛擬機與目的節(jié)點,解除節(jié)點過載與輕載狀態(tài). 根據(jù)過載節(jié)點內(nèi)所有虛擬機使用資源情況,選擇合適的待遷移在虛擬機遷移過程中至關(guān)重要.本文將過載情況根據(jù)過載資源類型進行劃分,以最少遷移次數(shù)為目標,那么待遷移虛擬機的選擇即可描述為節(jié)點遷移走后某虛擬機后過載資源回到適載范圍(即不超過此資源類型的高位閾值),使用以下公式描述: 其中,Ntype為節(jié)點資源為type類型的指標,為虛擬機在n時段所使用的平均資源利用率向量.除了滿足此條件,還需考慮其他方面因素,如下: (1)虛擬機與節(jié)點的資源依賴度 考慮到最快解決過載狀態(tài),引入虛擬機與節(jié)點的資源依賴度來評價虛擬機使用節(jié)點的資源情況,按過載類型尋找該類型資源依賴度高的虛擬機.虛擬機與節(jié)點的資源的依賴度Rtype定義如下: 其中,Vi為虛擬機在i時刻的某指標資源利用率,Ni為節(jié)點在i時刻的該指標資源利用率,Rtype越大則表示該虛擬機與此節(jié)點的該指標類型資源的依賴越高. (2)虛擬機當前內(nèi)存帶寬比 虛擬機遷移的核心考慮因素是虛擬機內(nèi)存頁的遷移,此外還易受到節(jié)點帶寬因素的影響,故而在遷移開銷最小化的目的下選取虛擬機當前內(nèi)存帶寬較小的虛擬機,公式如下: 其中,Ri為此節(jié)點i的可用內(nèi)存;Bi為此節(jié)點i可用帶寬;vramj為虛擬機j的內(nèi)存. (3)虛擬機負載貢獻度 虛擬機負載貢獻度表現(xiàn)出此虛擬機使用此節(jié)點資源情況,此值越大則表示該虛擬機使用的資源越多.已知虛擬機在n時段所使用的平均資源利用率向量為V,該節(jié)點的負載指標的權(quán)值為K,則該虛擬機在此節(jié)點上的負載貢獻度用式(16)描述: 若限定了某種資源類型Lc的值越大則代表另外虛擬機使用的兩種資源越多. 由式(13)至式(16)可以得到影響虛擬機選擇的3 個指標值,為了獲得較少的遷移時間與遷移開銷,使用式(17)對這3 個指標值進行處理. 選擇待遷移虛擬機時將虛擬機按照此參考值升序排列,選取此參考值小的虛擬機可獲得最少的遷移次數(shù)、較少遷移時間與遷移代價. 為了方便為待遷移虛擬機選擇目的節(jié)點(即下一小節(jié)),為待遷移虛擬機計算資源比,即以下公式: 由虛擬機使用資源比可以得到此虛擬機的資源偏向類型. 考慮到以上問題,本文以最快解決節(jié)點過載問題為目的,選取遷移時間最短的虛擬機,算法表達如算法2. 算法2.待遷移虛擬機選擇算法1)根據(jù)節(jié)點評估得到的高負載節(jié)點列表,獲取高負載節(jié)點信息.2)根據(jù)此節(jié)點過載類型,根據(jù)式(13)計算一次遷移可使得該節(jié)點解除過載情況的待篩選虛擬機集合.3)根據(jù)式(14)計算待篩選虛擬機集合中各虛擬機的此類資源依賴度,并按遞減排序.4)根據(jù)式(15)計算各虛擬機的內(nèi)存帶寬比;根據(jù)式(16)計算虛擬機的負載貢獻度.5)根據(jù)式(17)選擇虛擬機作為待遷移虛擬機并計算其資源比,加入待遷移虛擬機列表. 若節(jié)點是由于輕載需進行遷移,則直接獲取其上運行的虛擬機,計算其資源偏向比并加入待遷移虛擬機列表. 目的節(jié)點的選取即為虛擬機選取合適的目的節(jié)點,即虛擬機安置問題,高效的目的節(jié)點選擇算法有利于提高整個平臺的穩(wěn)定性和資源的高效利用.要考慮的因素主要有虛擬機與目的節(jié)點的資源匹配度以及遷移代價. 虛擬機與目標節(jié)點的資源匹配度主要用來度量節(jié)點剩余資源與待虛擬機所需資源的承接情況.考慮到資源利用的均衡性,依據(jù)虛擬機資源偏向優(yōu)先為其配置該資源剩余度高的節(jié)點.匹配度描述如下: 其中,m表示當前有m個虛擬機正在遷移到該臺服務器上,Tbest為設定的節(jié)點承載虛擬機遷移的最大數(shù)目;Lci為第i個虛擬機的資源需求量; 選擇目的節(jié)點必須要考慮的一個問題就是虛擬機的遷移代價,這代表者虛擬機遷移過程中的資源損耗,若是遷移代價過高,則會造成資源浪費.虛擬機到目的節(jié)點的遷移代價與兩者距離有關(guān),其遷移代價由式(20)定義: 其中,Nitarget指Vi的目的節(jié)點,Njsrc為Vi的源節(jié)點;為V(i到目)的節(jié)點和源節(jié)點上剩余虛擬機Vj的 通信距離;為虛擬機之間的通信量. 根據(jù)以上內(nèi)容,設計目標節(jié)點選擇算法表達可見算法3. 算法3.目標節(jié)點選擇算法1)根據(jù)節(jié)點評估得到的適載節(jié)點列表,由負載度遞增排序,得到待選節(jié)點列表.2)根據(jù)式(19)計算待選節(jié)點列表計算虛擬機與節(jié)點的匹配度,并按遞減排序.3)按照匹配度順序根據(jù)式(20)分別計算遷移代價.4)選取匹配度高且遷移代價最小的節(jié)點為目的節(jié)點. 為了驗證基于虛擬機動態(tài)遷移的負載均衡策略的有效性,采用CloudSim 仿真平臺進行仿真驗證.建立含有異構(gòu)節(jié)點的數(shù)據(jù)中心,并配置多規(guī)格虛擬機,為使仿真使用的物理機和虛擬機負載更接近現(xiàn)實情況,使用PlanetLab 項目中提供的虛擬機監(jiān)測數(shù)據(jù)作為實驗負載,模擬數(shù)據(jù)中心進行虛擬機遷移的仿真實驗,實驗配置如表1. 表1 實驗配置表 為了比較本文策略的仿真效果,使用以下指標對遷移策略的性能進行分析: 1)虛擬機遷移次數(shù).實驗中,由于虛擬機個數(shù)、負載和位置的變化,導致節(jié)點的負載動態(tài)變化,虛擬機遷移策略影響著虛擬機的遷移次數(shù),故獲取指定時間內(nèi)的虛擬機遷移次數(shù),用來觀測系統(tǒng)的虛擬機的遷移頻率,是判斷虛擬機遷移策略性能的重要指標. 2)數(shù)據(jù)中心平均負載度.數(shù)據(jù)中心負載度是衡量數(shù)據(jù)中心負載情況與資源分配情況的有效指標,若負載度保持較低水平則說明較多節(jié)點存在過多的空閑資源,即資源分配不均衡,若此指標數(shù)值過高,則說明存在大量過載節(jié)點. 3)平均SLAV (Service Level Agreement Violation,SLAV).平均 SLAV 即平均服務等級協(xié)議違例率,用來評價用戶服務質(zhì)量水平的常用指標之一,該值越低則表示用戶服務質(zhì)量越高.由于本文算法綜合考慮了節(jié)點的CPU 資源、內(nèi)存資源和帶寬資源,使用多維度平均SLAV 計算方法,如式(21): 其中,表示虛擬機需求的type類型資源量,為虛擬機type類型資源的實際使用量.K為一個周期內(nèi)的違約次數(shù). 為了比較本文算法的仿真效果,將使用兩個對比方案進行實驗對比.對比方案分別為:瞬時遷移觸發(fā)策略搭配最大相關(guān)性選擇策略的虛擬機遷移策略(以下稱策略1)與文獻[9]中的基于雙門限與資源需求相關(guān)性匹配的虛擬機遷移算法(以下稱策略2).針對虛擬機遷移的兩個模塊進行兩組實驗,第一組為遷移觸發(fā)策略比較實驗,用以分析本策略中基于動態(tài)閾值的負載評估算法觸發(fā)遷移時機的合理性;第二組實驗為遷移策略性能比對實驗,分析比較3 種不同的遷移策略效果,并對本文策略進行綜合評價. 實驗一.遷移觸發(fā)策略對比組 合理的遷移觸發(fā)策略可以有效判斷虛擬機遷移時機,并通過觸發(fā)時機的合理性減少由于節(jié)點負載不均衡導致的服務效率問題.通常通過觀測虛擬機遷移次數(shù),從而分析遷移觸發(fā)策略的性能. 本實驗組使用3 種觸發(fā)策略并在同一種選擇策略的條件下進行實驗,通過收集一段時間內(nèi)不同虛擬機數(shù)量下的虛擬機遷移次數(shù)進行可視化分析.3 種觸發(fā)策略分別為:策略1 中的瞬時觸發(fā)方式、策略2 中的雙門限觸發(fā)方式和本文動態(tài)閾值觸發(fā)方式.實驗結(jié)果如圖2所示. 圖2 虛擬機遷移次數(shù)對比圖 由圖2可見,隨著虛擬機數(shù)目的增加,3 種觸發(fā)策略下的虛擬機遷移次數(shù)也逐漸增加.其中,由瞬間觸發(fā)策略下的虛擬機遷移頻率曲線斜率最大且增長速度明顯高于其他兩種策略,動態(tài)閾值觸發(fā)策略下的虛擬機遷移頻率最為平緩,由此可見使用基于動態(tài)閾值的負載評估算法進行遷移時機判斷更能有效減少由瞬時峰值導致的虛擬機遷移,更有效解決由于虛擬機頻繁遷移導致的資源浪費問題. 實驗二.遷移策略性能比對組 將本文遷移策略、策略1 和策略2 的實驗效果進行分析比較,主要從數(shù)據(jù)中心的負載度和平均SLAV進行比較.不同虛擬機數(shù)量下的數(shù)據(jù)中心的負載度對比圖如圖3所示. 圖3 數(shù)據(jù)中心負載度對比圖 隨著虛擬機數(shù)目的增加,3 種遷移策略下的數(shù)據(jù)中心負載度逐漸增加,由策略1 下的數(shù)據(jù)中心負載度曲線增長最快且波動最明顯,本文遷移策略下的數(shù)據(jù)中心負載度增長最慢且趨勢平緩,可見本文考慮虛擬機和節(jié)點過載資源的依賴關(guān)系和虛擬機負載貢獻度的虛擬機選擇算法配合根據(jù)虛擬機與目的節(jié)點資源匹配度和遷移代價的目的節(jié)點選擇算法在保持數(shù)據(jù)中心負載均衡方面是有效的. 保證數(shù)據(jù)中心處于較高水平的服務質(zhì)量也是評價虛擬機遷移策略效果的必要的指標.本文通過分析平均SLAV 對3 種遷移策略下的服務質(zhì)量進行評價,不同虛擬機數(shù)量下的平均SLAV 比較圖如圖4所示. 圖4 數(shù)據(jù)中心平均SLAV 對比圖 由圖4可見,隨著虛擬機數(shù)目的增加,3 種遷移策略下的數(shù)據(jù)中心平均SLAV 呈現(xiàn)不同程度的波動趨勢,策略1 的平均SLAV 曲線波動明顯,策略2 其次,本文策略具有最平穩(wěn)的變化趨勢,由此可見,本文策略可以有效地保證數(shù)據(jù)中心的SLAV 的違背率,并提供較為穩(wěn)定的服務質(zhì)量. 綜上所述,本文基于動態(tài)閾值的負載評估算法可以有效合理地對遷移時機進行判斷并有效減少負載瞬時變化引起的遷移問題;基于負載類型感知的選擇策略包括根據(jù)虛擬機與節(jié)點過載資源的依賴關(guān)系與虛擬機負載貢獻度的虛擬機選擇算法與根據(jù)待遷移虛擬機與目的節(jié)點的資源匹配度與遷移代價的目的節(jié)點選擇算法在保證服務質(zhì)量與數(shù)據(jù)中心負載均衡方面是有效的. 本文針對數(shù)據(jù)中心異構(gòu)節(jié)點設計了一種基于虛擬機動態(tài)遷移的負載均衡策略,旨在通過解決異構(gòu)節(jié)點鐘各資源利用率不均衡問題達到數(shù)據(jù)中心負載均衡.設計了基于動態(tài)閾值的負載評估算法用于判斷遷移時機與基于負載類型感知的選擇策略.實驗證明,本文遷移策略可以有效減少虛擬機遷移頻率,保證服務質(zhì)量并改善數(shù)據(jù)中心的負載均衡能力.2.2 遷移觸發(fā)算法
3 基于負載類型感知的遷移選擇算法
3.1 虛擬機選擇算法
3.2 目的節(jié)點選擇算法
4 實驗驗證與分析
4.1 實驗準備
4.2 實驗分析
5 結(jié)論與展望