穆瑞輝
(新鄉(xiāng)學院計算機與信息工程學院,河南新鄉(xiāng)453003)
改進的在線遷移算法在云計算環(huán)境中的應用
穆瑞輝
(新鄉(xiāng)學院計算機與信息工程學院,河南新鄉(xiāng)453003)
針對當前虛擬機遷移算法易造成物理節(jié)點負載不均衡、能耗高和SLA違反率高等問題,提出了一種基于云計算的在線遷移算法。通過構建在線遷移算法模型和虛擬機負載評估向量,依據各物理節(jié)點的帶寬占用率、內存占用率和CPU占用率來確定遷移時機和需要遷移的源物理節(jié)點;同時,依據各節(jié)點的CPU占有率、ROM使用效率和帶寬的利用率來確定目標物理節(jié)點。通過仿真模擬試驗得出,該算法能在虛擬機在線遷移中大幅度提高物理節(jié)點的負載均衡,且其SLA違反率和云計算數據中心能耗都最小。
違反率;虛擬機;物理節(jié)點;遷移算法
云計算[1](Cloud Computing)是一種系統運算平臺,客戶端不需要知道工作原理,只需通過Internet將各種SERVICE和為這些SERVICE服務的各種資源鏈接起來,就可以使用這些資源??梢?,云計算的一個重要特點[2]就是資源的虛擬化和服務的虛擬化。
基于云計算的虛擬機在線遷移可以描述為:在不影響云計算中心提供服務的前提下,在規(guī)定的時間范圍內,將虛擬機從源物理節(jié)點遷移到目標節(jié)點上,以均衡節(jié)點負載和節(jié)約云計算數據中心能耗。目前已經應用的有VMware企業(yè)的VMotion虛擬機產品[3]和Xen企業(yè)的Live Migration虛擬機產品[4]。
基于虛擬機的遷移算法主要體現在遷移物理節(jié)點時,需選擇恰當的遷移時間、等待遷移的虛擬機和恰當的目標物理節(jié)點。
本文在原有算法的基礎上,提出了基于云計算的遷移算法,并驗證了該算法的可靠性和有效性。
圖1 在線遷移算法模型
圖1為在線遷移算法模型。在此算法模型中,客戶端把數據計算任務上傳到云計算中心,云計算平臺根據各服務器的數據計算負載狀況,把數據計算任務分配給負載較輕的服務器,再用相應的虛擬機來進行云計算。
2.1 虛擬機負載度量評估
可以通過檢測CPU、帶寬流量和內存利用率來確定相應物理節(jié)點的負載。
CPU的平均占有率為
其中,Vcpuk表示虛擬機vk中單個CPU的利用率,k為虛擬機對應的物理節(jié)點擁有CPU的數目。
物理節(jié)點上內存的占用率為
式中,m為物理節(jié)點上的vk的個數,Vusek表示vk正在使用的內存大小,Vswapk表示vk交換頁面實際需要的內存大小,M表示該物理節(jié)點總的內存大小。
物理節(jié)點帶寬的占用率為
其中,Vbandk表示帶寬在vk上被占用的情況,Tb表示該物理節(jié)點上最大的帶寬流量。
物理節(jié)點的負載情況為
2.2 確定源物理節(jié)點和選擇遷移時機
數據計算中心設置一個閥值向量 Sth=(Ucputh,Umemoth,Ubandth),同時采集每一個物理節(jié)點在采集周期Tc中的節(jié)點負載向量S。如果在連續(xù)三個周期Tc內,該物理節(jié)點采集的負載向量的某個分量都大于Sth相應的分量,就激活相應的遷移算法,即:如果在連續(xù)三個數據采集周期Tc中,Ucpu都大于Ucputh,則CPU激發(fā)遷移;如果Umemo都大于Umemoth時,則內存激發(fā)遷移;如果Uband都大于Ubandth時,則帶寬激發(fā)遷移。確定源物理節(jié)點和選擇遷移時機的流程如圖2所示。
圖2 遙感服務模擬器的交互映射機制
2.3 確定和選擇高效的在線遷移算法
以前的遷移算法[5]只遷移CPU占有率高的虛擬機。為了高效利用虛擬機,本文不僅考慮CPU的占用率,也考慮帶寬和內存的占用率:CPU在虛擬機中的占用率越高,就表示CPU占用的資源越多;內存在虛擬機中的占用率越高,就表示內存遷移需要的能量消耗越大;帶寬流量在虛擬機中越大,則表示需要發(fā)送和接受的資源越多。筆者選擇CPU占用率、帶寬占用率和內存占用率都比較高的虛擬機進行遷移,用V=(Vcpuk,Vusek,Vbandk)來表示,其中的三個分量分別表示CPU占用率、帶寬占用率和內存占用率。
如果選擇的是CPU激發(fā)遷移的物理節(jié)點,那么就要對該物理節(jié)點所對應的虛擬機向量V進行占用率排序,以確定遷移具有最大Vcpuk值的虛擬機,類似地,可選擇遷移最大Vusek和最大Vbandk的虛擬機。
2.4 選擇目標物理節(jié)點
一旦確定了集合,即等待遷移的虛擬機,那么就要選擇恰當的目標物理節(jié)點了。選擇步驟如下。
1)依據源物理節(jié)點激發(fā)的類別,也就是根據帶寬、CPU和內存激發(fā)的類別,把源物理節(jié)點對應的虛擬機分成三個等待隊列Qband、Qcpu和Qmemo。
2)依據帶寬、CPU和內存的占用率由小到大對各物理節(jié)點排序,由此得到Qnodeband、Qnodecpu和Qnodememo三個等待隊列,其中的節(jié)點分別為物理節(jié)點中帶寬、CPU和內存占用率較大的節(jié)點。
3)把Qnodeband等待隊列中的首元素取出,把該元素作為目標物理節(jié)點Qband隊列的首元素,同時,把Qnodeband等待隊列中的首元素從Qnodecpu和Qnodememo等待隊列中刪除。
4)把Qnodecpu等待隊列中的首元素取出,把該元素作為目標物理節(jié)點中Qcpu隊列的首元素,同時把該元素從Qnodememo和Qnodeband等待隊列中刪除。
5)把Qnodememo等待隊列中的首元素取出,把該元素作為目標物理節(jié)點Qmemo隊列的首元素,同時,把Qnodememo等待隊列中的首元素從Qnodecpu和Qnodeband等待隊列中刪除。
6)重復步驟3)~5),直到Qband、Qcpu和Qmemo等待隊列中都為空時結束。
2.5 基于云計算的在線遷移算法表述
基于云計算的在線遷移算法可以表述如下。
輸入:基于云計算的各個源物理節(jié)點。
輸出:需要遷移的等待隊列<s,v,g>,也就是需要把虛擬機v從源物理節(jié)點s中遷移到目標物理節(jié)點g上。
步驟1:依據(1)式計算物理節(jié)點上CPU的占用率,依據(2)式計算物理節(jié)點上內存的占用率,依據(3)式計算物理節(jié)點上帶寬的占用率,從而得出物理節(jié)點上的S向量。
步驟2:根據Sth閥值,采集在連續(xù)三個Tc周期內S的分量值都大于Sth向量值的源物理節(jié)點,同時把S的分量記錄為對應的帶寬激發(fā)節(jié)點、CPU激發(fā)節(jié)點和內存激發(fā)節(jié)點,得到源物理節(jié)點集合。
步驟3:依據激發(fā)類型,遷移物理節(jié)點上對應值最大的虛擬機,比如該物理節(jié)點是內存激發(fā)節(jié)點,那么就在該物理節(jié)點上選擇內存占用率最高的虛擬機遷移,從而得到表示等待遷移的虛擬機的集合。
步驟4:依據2.4中步驟1)、2)得到等待隊列Q band、Q cpu、Q memo和Q nodeband、Q nodecpu、Q nodememo。
步驟5:將Qband、Qcpu和Qmemo中的虛擬機根據2.4中步驟3)~6),分別遷移到物理節(jié)點隊列Qnodeband、Qnodecpu和Qnodememo。
本文利用基于云計算的仿真模擬工具Cloudsim[6]來構建實驗環(huán)境,表1是基于云計算環(huán)境中的實驗參數。在模擬環(huán)境中仿真與文中算法的結果比較如表2所示。
表1 云計算環(huán)境實驗參數
表2 實驗結果比較
通過表2可以看出,因為文中算法從帶寬占用率、內存占用率和CPU占用率來進行分析,所以在選擇目標物理節(jié)點、等待遷移的虛擬機和源物理節(jié)點上的效率更高,從而使遷移效率更高。因此,在等待遷移的數量不為最小值的情形下,該算法SLA違反率較低,能耗最小。另外,通過以犧牲用戶的QoS作為代價來提高負載均衡和節(jié)能的方法,具很高的SLA違反率。
本文算法對傳統算法中確定目標物理節(jié)點、選擇等待遷移的虛擬機和選擇源物理節(jié)點等遷移的各個關鍵點進行了優(yōu)化,通過動態(tài)分配遷移虛擬機來實現云計算環(huán)境下的節(jié)能和負載均衡。仿真結果顯示,虛擬機在線遷移中,能夠提高物理節(jié)點的負載均衡,同時能耗最低。以后還需要研究如何解決在用戶QoS需求越來越高的情況下,在云計算環(huán)境中實現高效的虛擬機遷移的問題。
[1]VAQUERO L,RODERO M L,CACERCE J,et al.A Break in theClouds:TowardsaCloudDefinition[J].SIGCOMM Computer Communication Review,2009(1):50-55.
[2] 張彬彬,羅英偉,汪小林,等.虛擬機全系統在線遷移[J].電子學報,2009(4):894-899.
[3] 徐志紅,劉進軍,趙生慧.適應廣域網的虛擬機在線遷移模型[J].計算機應用,2012(7):1929-1931.
[4] 王得發(fā),王麗芳,蔣澤軍.云計算環(huán)境中虛擬機智遷移關鍵技術研究[J].計算機測量與控制,2012(5):1389-1391.
[5] 方義秋,唐道紅,葛君偉.云環(huán)境下基于虛擬機動態(tài)遷移的調度算法研究[J].微電子學與計算機,2012(4):45-48.
[6] 胡志剛,歐陽晟,閻朝坤.云環(huán)境下面向能耗降低的資源負載均衡方法[J].計算機工程,2012(5):53-55.
【責任編輯 梅欣麗】
Live M igration Algorithm Based on Cloud Com puting
MU Ruihui
(College of Computer and Information Engineering,Xinxiang University,Xinxiang 453003,China)
As current virtualmachinemigration algorithm is likely to cause physical node load imbalance,high energy consumption, SLA violation rate and other issues,this paper proposed a new algorithm based on onlinemigration of cloud computing.By building models and virtualmachine load assessment vector,through bandwidth usage based on each physical node,memory usage and CPU utilization,this paper determined migration timing and source physical nodes;meanwhile,according to the CPU usage of each node, the efficient use of ROM,and bandwidth utilization,it determined the target physical node.Finally,the simulation of environmental testing proved that the proposed algorithm in a virtualmachine live migration could greatly improve load balancing of the physical nodes,minimize the SLA violation rate and the power consumption in cloud computing data center.
violation rate;virtualmachine;physical node;migration algorithm
TP393
A
2095-7726(2015)06-0036-03
2014-11-12
穆瑞輝(1980-),男,河南輝縣人,講師,碩士,研究方向:軟件設計與開發(fā)。