徐勝超,宋 娟,潘 歡
(1.廣州華商學(xué)院數(shù)據(jù)科學(xué)學(xué)院,廣州511300;2.寧夏大學(xué)物理與電子電氣工程學(xué)院,銀川750021)
虛擬機遷移是綠色節(jié)能云數(shù)據(jù)中心構(gòu)造的關(guān)鍵技術(shù),它可以使云數(shù)據(jù)中心的物理資源充分利用起來,提高云服務(wù)提供商的服務(wù)質(zhì)量,降低企業(yè)的電力能量消耗,近年來得到了廣泛的研究[1-3]。
虛擬機遷移的過程非常復(fù)雜,以Cloudsim云模擬器工具包為代表的大部分文獻(xiàn)將其劃分為物理主機狀態(tài)檢測、虛擬機選擇和虛擬機放置等步驟[4]。物理主機狀態(tài)檢測可以通過物理資源使用邊界閾值管理算法等來進(jìn)行優(yōu)化[5-7];虛擬機選擇可以通過虛擬機尺寸與粒度、虛擬機映射和虛擬機遷移時間長短等算法進(jìn)行優(yōu)化[8-10];有些文獻(xiàn)將虛擬機放置稱為多目標(biāo)優(yōu)化問題或者裝箱問題[11],該過程有很多智能優(yōu)化算法,例如貪心算法[12]、粒子群優(yōu)化算法[13]、螢火蟲群優(yōu)化算法[14]、遺傳算法[15]、蟻群算法[16]和蛙跳算法[17]等。這3個步驟中的優(yōu)化算法還可以組合起來使用,但是最終要看的是虛擬機遷移后云數(shù)據(jù)中心的節(jié)能效果、物理資源利用效果和SLA違規(guī)率效果等指標(biāo)。
目前Anton Beloglazov博士的科研團(tuán)隊開發(fā)的Cloudsim項目在虛擬機遷移策略研究上處于世界領(lǐng)先地位,其不足之處往往都在研究虛擬機選擇算法本身和虛擬機放置算法本身等方面,很少研究兩者之間的密切關(guān)系。事實上虛擬機選擇可以影響到虛擬機放置,至少在私有云中虛擬機選擇和虛擬機放置都可以由一個機構(gòu)去控制。
另外虛擬機遷移中云數(shù)據(jù)中心的能量消耗模型的設(shè)計也是值得考慮的,必須設(shè)計適合現(xiàn)代云計算系統(tǒng)的考慮多物理資源維度的能量消耗模型,克服早期虛擬機遷移中單一維度資源(CPU利用率大小)的不足。
綜上,本文設(shè)計了一種融合虛擬機選擇和放置的虛擬機遷移模型INTER-VMM(Interrelation approach in virtual machine migration)。INTER-VMM是一種綜合考慮主機負(fù)載檢測、虛擬機選擇及放置的虛擬機遷移策略。它在虛擬機選擇中提出了考慮處理器主頻最高的方式來選擇虛擬機,以形成候選遷移虛擬機列表,將其作為虛擬機放置階段的輸入;在放置階段提出了考慮放置之后空余資源最小的目標(biāo)主機放置策略。
INTER-VMM策略考慮的物理資源的維度包括處理器、內(nèi)存、磁盤空間和網(wǎng)絡(luò)帶寬等,在整個虛擬機遷移過程中都有運用到。INTER-VMM虛擬機遷移模型通過Cloudsim4.0來實現(xiàn)和仿真,仿真結(jié)果表明,INTER-VMM虛擬機遷移模型比常見的BenchMark虛擬機遷移策略可以更好地節(jié)省云平臺的能量消耗,從而減少虛擬機遷移次數(shù)。
云數(shù)據(jù)中心主要由大量堆積在一起的物理主機組成,其能量消耗主要由物理主機所有部件的能量消耗組成。文獻(xiàn)[18]認(rèn)為,一個物理主機所消耗的能量由處理器、內(nèi)存、磁盤及網(wǎng)絡(luò)帶寬組成?;谠撍悸罚琁NTER-VMM設(shè)計的物理主機的能量消耗數(shù)學(xué)模型如式(1~6)所示,虛擬機遷移模型中的相關(guān)符號如表1所示。
表1 INTER?VMM虛擬機遷移策略的相關(guān)符號描述Table 1 Related character description of INTER?VMM
式 中:mipsj,b為 第i個虛 擬 機VMi的 第b個 處 理 單元的mips請 求 情 況;MIPSj,b為 第j個 物 理主機PMj的第b個處理單元的整體MIPS計算能力;PEj表示物理主機PMj處理單元的數(shù)量;rj(t)表示分配到物理主機PMj的虛擬機的索引集合。
一個虛擬機請求的MIPS數(shù)量隨著應(yīng)用程序的變化而變化,所以物理主機的資源使用率也隨著應(yīng)用程序的變化而變化,因此統(tǒng)計物理主機的能量消耗必須在一定的時間段內(nèi)。式(6)可以演化為
于是第j個物理主機在[t0,t1]時間段的總體能量消耗Ej可按照式(8)來計算。
整個云數(shù)據(jù)中心的能量消耗為
當(dāng)一個云客戶端提交作業(yè)到云數(shù)據(jù)中心的時候,資源缺少就會出現(xiàn)服務(wù)等級協(xié)議(Service level agreement,SLA)違規(guī)。在虛擬機遷移過程中,一個重要性能指標(biāo)就是每個物理主機的SLA在線時間(SLA violation time per active host,SLATAH),它體現(xiàn)了物理主機具有高服務(wù)質(zhì)量的在線時間情況,即
式中:m表示云數(shù)據(jù)中心的主機數(shù)量;Tsj為物理主機j的CPU利用率達(dá)到100%的時間;Taj為物理主機j處于在線活躍狀態(tài)的時間。
一般云數(shù)據(jù)中心采用兩種方法來評價SLA違規(guī):單活動主機SLA違規(guī)時間和虛擬機遷移后的性能降低情況。式(10)描述了單活動主機SLA違規(guī)時間,式(11)中虛擬機遷移后的性能降低(Performance degradation due to migrations,PDM)可表示為
式中:n表示云數(shù)據(jù)中心的虛擬機數(shù)量;Ddi為由于虛擬機VMi遷移導(dǎo)致的性能下降的估計值;Dri表示請求虛擬機VMi整個時間段內(nèi)總CPU的MIPS計算能力。
SLA違規(guī)率可通過將式(10)和式(11)相乘獲得,即
能量與SLA違規(guī)的聯(lián)合指標(biāo)ESV是體現(xiàn)云服務(wù)提供商的高服務(wù)質(zhì)量、低SLA違規(guī)比率和總體能量消耗平衡的指標(biāo),其值的大小至關(guān)重要,計算公式為
INTER-VMM屬于Cloudsim項目的后續(xù)研究,涉及的Cloudsim相關(guān)模塊主要包括:全局代理(Global broker)、本地代理(Local broker)和虛擬機管理器(Virtual machine manager)。在Cloudsim中每個物理主機上都運行有一個本地代理(Local broker),在此模塊中可以實現(xiàn)INTER-VMM虛擬機遷移策略,工作環(huán)境如圖1所示。
圖1 INTER-VMM虛擬機遷移模型的依托環(huán)境Fig.1 Working environment of INTER-VMM
本地代理根據(jù)物理主機處理器的利用率情況把其劃分為Pnormal、Pover和Punder,即正常主機、超負(fù)載主機和低負(fù)載主機。一般CPU的利用率低于或者高于一個閾值邊界都處于Pover或Punder狀態(tài),其他的為正常狀態(tài)Pnormal??梢酝ㄟ^各類閾值管理策略來測試并調(diào)整利用率閾值邊界的具體取值,例如設(shè)置高于90%或者低于10%是一種靜態(tài)的閾值策略,也有自適應(yīng)的動態(tài)閾值管理策略。
如果把圖1本地代理中的INTER-VMM策略進(jìn)一步展開,可把INTER-VMM劃分為4個組成部分:監(jiān)控模塊、主機檢測模塊、決策模塊和執(zhí)行模塊,如圖2所示。
圖2 INTER-VMM虛擬機遷移模型的模塊劃分Fig.2 Module division of INTER-VMM
在監(jiān)控模塊中,系統(tǒng)監(jiān)視信息包括物理主機的工作負(fù)載、資源利用率和能量消耗。在主機檢測與負(fù)載分析模塊中,客戶端的負(fù)載被搜集和評價分析,完成物理主機負(fù)載檢測的功能。目前的物理主機負(fù)載檢測策略可以分為主動法和被動法,其中被動法意味著在物理主機的資源已經(jīng)超過閾值邊界之后再采取動作;主動法是指通過觀察資源使用的樣本數(shù)據(jù)在前一階段的利用率情況,提前預(yù)測出可能出現(xiàn)狀態(tài)異常的物理主機,接著進(jìn)行虛擬機遷移的后續(xù)步驟。因為物理主機資源狀態(tài)隨著時間和應(yīng)用程序的訪問而不斷動態(tài)變化,這對物理主機負(fù)載檢測提出了新的要求,又可以分為靜態(tài)檢測法和動態(tài)檢測法。如果通過溫度感知法或者線性歸約法進(jìn)行預(yù)測優(yōu)化,這里應(yīng)該屬于動態(tài)的物理主機負(fù)載檢測法[19]。
在決策模塊中,INTER-VMM是根據(jù)監(jiān)控模塊中的物理主機信息來完成決策工作,需要決策的內(nèi)容主要包括物理主機上的虛擬機選擇問題和虛擬機放置問題,這些都是為了完成云數(shù)據(jù)中心的物理主機的負(fù)載均衡、利用率提高和能量消耗的節(jié)省。
在執(zhí)行模塊中,INTER-VMM主要是執(zhí)行虛擬機遷移過程的啟動與停止;在物理資源不夠的時候,啟動新的空余物理主機;或者在物理資源過剩的時候關(guān)閉已經(jīng)空余的物理主機。
在一個超負(fù)載Pover的物理主機的本地代理中,INTER-VMM遷移模型需要執(zhí)行3個步驟:(1)物理主機過載檢測;(2)虛擬機選擇步驟,形成候選遷移虛擬機列表;(3)虛擬機放置步驟,完成候選虛擬機到目標(biāo)物理主機的重新分配。在一個低負(fù)載Punder的物理主機的本地代理中,INTER-VMM遷移模型只需要執(zhí)行2個步驟,物理主機低負(fù)載檢測和虛擬機的重新放置,沒有虛擬機選擇步驟。
物理主機負(fù)載分析模塊周期性的檢測云數(shù)據(jù)中心的各個主機的負(fù)載情況,形成超負(fù)載物理列表,在完成虛擬機遷移過程后,這些物理主機都可以恢復(fù)到正常Pnormal狀態(tài)。虛擬機選擇策略的功能是針對超負(fù)載的物理主機列表中的每一個物理主機形成候選遷移虛擬機列表;然后將這個結(jié)果作為虛擬機放置階段的輸入,最后完成虛擬機到目標(biāo)物理主機的重新分配。物理主機負(fù)載檢測、虛擬機選擇和放置3個步驟循環(huán)執(zhí)行直到所有的物理主機變?yōu)檎顟B(tài)為止,或者指定的虛擬機遷移周期后結(jié)束(一般為24 h)。某些低負(fù)載物理主機上容納的虛擬機被遷移走后,即可關(guān)閉或者進(jìn)入睡眠模式,這樣的執(zhí)行行為即可完成電力能量消耗的節(jié)省。
INTER-VMM虛擬機遷移模型的整體算法偽代碼如算法1所示。算法1的復(fù)雜度為O(m),其中m為云數(shù)據(jù)中心的物理主機的數(shù)量。
在Cloudsim中已提出了一些物理主機負(fù)載檢測算法,比如局部歸約檢測方法(Local regression,LR)、魯棒局部歸約檢測方法(Local regression robust,LRR)、絕對中位差檢測方法(Median absolute deviation,MAD)、靜態(tài)資源使用效率閾值檢測法(Static threshold,ST)和四分位數(shù)區(qū)間檢測方法(Inter quartile range,IQR)。除此之外國內(nèi)也提出了其他一些物理主機檢測策略,在某些文獻(xiàn)上被稱為物理資源閾值邊界管理策略,例如K鄰近規(guī)約預(yù)測法[19]、線性回歸與最小二乘法預(yù)測法[7]、溫度感知管理法[10]和貪心閾值邊界管理法等自適應(yīng)的物理主機負(fù)載檢測技術(shù)[12]。只要物理主機被檢測到為超負(fù)載狀態(tài),它將進(jìn)入虛擬機選擇階段,在INTER-VMM虛擬機遷移模型中,繼續(xù)利用了Cloudsim自帶的魯棒局部歸約檢測方法。
LRR方法是一種自適應(yīng)的主機利用效率閾值檢測法,它通過檢測物理主機最近j次CPU的利用率作為評價方法,本文中j值設(shè)為10。
在Cloudsim中也提出了一些虛擬機選擇優(yōu)化算法,如最大關(guān)聯(lián)(Maximum correlation,MC)選擇方法、最小遷移時間(Minimum migration time,MMT)選擇方法、最小資源使用效率(Minimum utilization,MU)選擇辦法和隨機選擇策略(Random selection,RS)。除此之外國內(nèi)也提出了其他一些虛擬機選擇策略,如數(shù)據(jù)依賴選擇法[9]、穩(wěn)定匹配選擇法[10]、任務(wù)映射選擇法[8]、貪心算法選擇法[20]和相關(guān)系統(tǒng)選擇法等[21]。INTER-VMM虛擬機遷移模型中提出了自己的新型虛擬機選擇策略(High CPU utilization selection,HPS)選擇法。HPS方法是選擇超負(fù)載物理主機上CPU利用率最高的一個虛擬機,讓其進(jìn)入候選遷移虛擬機列表中。
即使擁有最高CPU利用率的虛擬機都被選擇出去,隨著超負(fù)載物理主機上的高CPU利用率虛擬機被遷移出,如果該主機還是處于超負(fù)載狀態(tài),那么INTER-VMM繼續(xù)執(zhí)行一次HPS虛擬機選擇操作。HPS的虛擬機選擇操作一直執(zhí)行直到物理主機恢復(fù)到正常狀態(tài)Pnormal。圖3顯示了HPS虛擬機選擇策略的過程。物理主機1上面正在運行5個虛擬機,其CPU利用率分別為90%、50%、40%、10%和5%。
圖3 INTER-VMM中的虛擬機選擇策略HPS Fig.3 HPS strategy in INTER-VMM
根據(jù)HPS算法的規(guī)則,CPU利用率為90%的虛擬機將首先被選擇出來,CPU利用率為50%的虛擬機2被第二次選擇出來,依次類推。該操作是為了快速降低物理主機1的負(fù)載,降低虛擬機遷移的次數(shù)。VM1和VM2將進(jìn)入候選遷移虛擬機列表VmToMigratedList中,作為后續(xù)虛擬機放置階段的輸入。
虛擬機放置策略是INTER-VMM遷移模型的最后一步,它是一種多目標(biāo)優(yōu)化問題,即把一定數(shù)量的候選遷移虛擬機重新分配到云數(shù)據(jù)中心的各個物理主機之上。多目標(biāo)優(yōu)化也可以稱為物品裝箱問題,把物理主機個數(shù)比作箱子個數(shù),虛擬機個數(shù)比作物品個數(shù),箱子尺寸等指標(biāo)都比作物理主機的內(nèi)存、處理器、磁盤空間和網(wǎng)絡(luò)帶寬等指標(biāo),箱子的價格可以比作物理主機的能量消耗。虛擬機放置的最終目標(biāo)是要用最少的物理主機個數(shù)和最小的能量消耗完成虛擬機到目標(biāo)主機的重新放置。
目前已經(jīng)有大量的智能算法完成虛擬機放置策略的優(yōu)化,例如強化學(xué)習(xí)算法[22]、花授粉算法[23]、螢火蟲群優(yōu)化算法[14]和遞減最好適用算法[4]等。INTER-VMM也提出了自己的優(yōu)化策略,被稱為空間感知分配(Space aware placement,SAP)方法。SAP是一種充分考慮利用物理主機空間使用效率的方法。首先根據(jù)虛擬機選擇階段HPS的輸出VmToMigratedList,把這些虛擬機按照MIPS利用率遞減的方式排序,對于那些負(fù)載正常的物理主機,陸續(xù)把這些虛擬機遷移到上面去。遷移的原則是每個物理主機再容納了新虛擬機之后,其物理主機CPU的可用MIPS值和其他物理主機比較起來最小,直到所有的候選遷移虛擬機被重新放置完成為止。INTER-VMM的SAP策略可以使物理主機負(fù)載均衡、降低虛擬機遷移次數(shù),并間接地減少云數(shù)據(jù)中心的能量消耗。
例如圖4,假設(shè)云數(shù)據(jù)中心有4臺物理主機,物理主機1處于超負(fù)載狀態(tài),其上運行的VM1的處理器利用率為90%,VM1通過HPS被選擇出來,再通過SAP被放置到物理主機2之上,箭頭實線表示實際放置方式,虛線表示可能的放置方式。VM1之所有把物理主機2作為目標(biāo)主機,是因為物理主機2再容納了VM1之后,其可用的MIPS在物理主機2、3、4中最小。
圖4 INTER-VMM中的虛擬機放置策略SAP Fig.4 SAP strategy in INTER-VMM
SAP虛擬機放置策略的整體算法偽代碼如算法2所示,算法2的復(fù)雜度為O(m*n),其中m為云數(shù)據(jù)中心物理主機的數(shù)量,n為云數(shù)據(jù)中心虛擬機的數(shù)量。
3.1.1 創(chuàng)建物理主機
云數(shù)據(jù)中心的能量消耗模型是在實驗中經(jīng)常采用的CoMon project,正如前文所描述,它是由planetlab實驗室開發(fā)的一個項目,也是目前云數(shù)據(jù)中心模擬器的典型BenchMark模型。測試指標(biāo)均參考了第2節(jié)中提到的虛擬機遷移次數(shù)、SLA違規(guī)率和能量消耗情況。
在Cloudsim項目中設(shè)置的云數(shù)據(jù)中心主要由4類物理服務(wù)器組成,物理主機總數(shù)為800,物理主機配置如表2所示。
表2 云數(shù)據(jù)中心物理主機硬件配置Table 2 Hardware configuration of physical host in cloud data centers
3.1.2 創(chuàng)建虛擬機
參考普通網(wǎng)絡(luò)客戶端的應(yīng)用程序訪問類型創(chuàng)建了虛擬機,不同的是每個虛擬機的CPU能力不同,并且內(nèi)存也有所改變??偣矂?chuàng)建了4種虛擬機類型,配置參數(shù)如表3所示。
表3 INTER?VMM虛擬機遷移模型配置參數(shù)表Table 3 Configuration parameters of INTER?VMM
虛擬機初始化放置策略使用的是首次適應(yīng)的方法,即首次為虛擬機尋找宿主機的時候,如果找到了一個擁有足夠資源創(chuàng)建這個虛擬機的物理主機,就立即分配給它,而不再考慮后面的主機,即使有更合適的選擇。這樣做的好處就是在為虛擬機首次尋找目標(biāo)主機的過程中節(jié)約了時間。一周內(nèi)每天虛擬機請求的個數(shù)如表4所示。
表4 INTER?VMM虛擬機遷移模型運行時間Table 4 Running time of INTER?VMM
在Cloudsim云模擬器中的虛擬機遷移模型稱之為LRR-MMT-BFD策略,其實現(xiàn)結(jié)果在Anton Beloglazov博士的相關(guān)文獻(xiàn)[4]中都有發(fā)表,因此作為本文INTER-VMM策略的首要比較對象。
本文還與近年來的其他虛擬機遷移模型進(jìn)行了比較,例如粒子群優(yōu)化的虛擬機遷移(Particle swarm optimization-virtual machine migration,PSO-VMM)、遺傳算法的虛擬機遷移策略(Genetic algorithm-virtual machine migration,GA-VMM)、穩(wěn)定匹配(Stable-matching)、考慮關(guān)聯(lián)性(Correlation-based)、蟻群優(yōu)化的虛擬機遷移(Ant colony solution-virtual machine migration,ACS-VMM)和螢火蟲群優(yōu)化的虛擬機遷移(Glowworm swarm optimization-virtual machine migration,GSO-VMM)等,分析這些智能計算優(yōu)化方法對云數(shù)據(jù)中心的性能改變情況。本實驗共涉及的8個虛擬機遷移模型及相關(guān)說明如表5所示。
表5 INTER?VMM虛擬機遷移策略性能比較對象Table 5 INTER-VMM performance comparison objects
根據(jù)前文物理主機和虛擬機的設(shè)置情況,給云數(shù)據(jù)中心分配了1 000個虛擬機,然后讓這些虛擬機執(zhí)行2 000個云任務(wù),每個任務(wù)的長度是216 000 000 MI,給CloudSim設(shè)定的模擬時間是24 h(86 400 s)。最后,每次保持上述設(shè)置不變,在CloudSim模擬器中測試了包括本文算法在內(nèi)的8種虛擬機遷移模型。
3.3.1 云數(shù)據(jù)中心的總體能量消耗
基于INTER-VMM的虛擬機遷移模型1周之內(nèi)的總體能量消耗比較如表6所示。從表6可以看出,有了虛擬機選擇及放置階段融合優(yōu)化后,INTER-VMM遷 移 模 型 比Cloudsim中 的LRR-MMT-BFD遷移策略在總體能量消耗上要節(jié)約25%到30%,比其他遷移模型能耗都低。分析原因是通過INTER-VMM在整個虛擬機遷移階段都有優(yōu)化,反復(fù)迭代后,反復(fù)提高物理主機的利用效率,所有物理服務(wù)器的總體能量消耗自然減少。
表6 云數(shù)據(jù)中心總體能量消耗性能比較Table 6 Total energy consumption comparison in cloud data centers kWh
3.3.2 虛擬機遷移次數(shù)
表7 顯示了在1周5天之內(nèi)INTER-VMM虛擬機遷移次數(shù)都低于其他策略。原因是INTER-VMM策略中設(shè)計了HPS選擇策略和SAP放置策略,考慮的資源維度包括處理器、內(nèi)存、磁盤和網(wǎng)絡(luò)帶寬,這樣使得負(fù)載基本均衡,因此虛擬機遷移次數(shù)隨之降低。
表7 各類虛擬機遷移策略的遷移次數(shù)比較Table 7 Migration times of different virtual machine migration strategies 次
3.3.3 SLA違規(guī)率分析
從表8可以看出,從周一到周五,INTER-VMM遷移策略的SLA違規(guī)率比LRR-MMT-BFD遷移策略要低,其原因是SAP策略比遞減裝箱辦法的優(yōu)化能力要強。其他策略采用另外的優(yōu)化算法,其SLA違規(guī)率在某些時候還優(yōu)于INTER-VMM策略。
表8 各類虛擬機遷移策略的SLA違規(guī)率比較Table 8 SLA violation comparison of different virtual machine migration strategies %
3.3.4 能量與SLA違規(guī)的聯(lián)合指標(biāo)ESV
從表9可以看出,INTER-VMM遷移策略的ESV也要低于LRR-MMT-BFD遷移策略,表明在虛擬機放置階段中智能算法優(yōu)化對云數(shù)據(jù)中心的物理資源利用效率提高的重要性,ACS-VMM遷移策略的ESV最低,在綜合性能上最好,但是它是以犧牲其他方面的指標(biāo)為代價的,而INTER-VMM在能量消耗上性能上最好。
表9 各類虛擬機遷移策略的聯(lián)合指標(biāo)ESVTable 9 Joint indicator ESV of different virtual machine migration strategies
低能量消耗與高服務(wù)質(zhì)量是云數(shù)據(jù)中心的構(gòu)造的主要目標(biāo),目前國內(nèi)外的研究主要采用虛擬機遷移技術(shù)來達(dá)到這兩個目標(biāo)。在物理主機負(fù)載檢測過程,虛擬機選擇過程,虛擬機放置過程都可以提出相對應(yīng)的優(yōu)化策略,但是最終要把它們放到云數(shù)據(jù)中心的各個指標(biāo)中測試。本文提出了一種融合虛擬機選擇和放置的遷移模型INTER-VMM。INTER-VMM可以運用到私用云中,采用HPS虛擬機選擇算法和SAP虛擬機放置算法互相融合,仿真實驗表明,INTER-VMM比近幾年來常見的大部分虛擬機遷移策略具有更好的性能指標(biāo)。本文采用的HPS和SAP是比較簡單的優(yōu)化策略,下一步將針對虛擬機選擇和放置中采用更加先進(jìn)的智能算法來完成優(yōu)化,例如花授粉算法和強化學(xué)習(xí)法等,以最終提高云數(shù)據(jù)中心的物理資源利用效率。