【技術實現步驟摘要】
云計算環境下基于VHAM-R模型的虛擬機放置遺傳優化方法
本專利技術涉及云計算環境中的虛擬機放置領域,具體使用在VHAM-R模型上通過遺傳算法的編碼、選擇操作、交叉操作和變異操作對虛擬機放置進行優化改進。
技術介紹
云計算源于分布式計算、網格計算,是一種完全基于互聯網的計算方式,其遵循“按需付費”的模式為用戶提供低成本、高可靠性、可伸縮的計算資源及服務。云計算的基本思想是通過分布各地的龐大的數據中心提供物理設備支持,基于虛擬化技術以較廉價的價格通過互聯網為用戶提供計算及存儲的高質量服務。虛擬機放置(VirtualMachinePlacement)問題是云數據中心虛擬機與物理主機之間的一個裝箱問題,是云計算環境中資源管理和分配的重要組成部分。該問題的實質是通過合理的分配方法將虛擬機放置到較優的物理節點之上,同時,需要滿足虛擬機運行的資源需求和特定的約束條件,是一個NP-hard問題。良好的虛擬機放置策略能夠有效提高云數據中心各物理主機的資源利用率、降低云數據中心總體能耗、保證用戶需求的可用性等。ZZhang、CCHsu等考慮數據中心規模、主機工作負載及計算資源需求變化,提出一種虛擬機放置到主機的節能框架,有效的解決了資源配置虛擬機的達到最少資源浪費和最低能耗的問題。XLi和ZQian等人研究在運行時選擇合適的物理主機來部署虛擬機的問題。由于物理主機資源存在多維性,多維資源的使用不平衡會導致資源的浪費,因此他們提出一種多維資源劃分模型,用于平衡多維資源的利用率,減少運行的物理主機數量,從而降低數據中心的能耗。國內李強等人針對云計算環境下的虛擬機放置問題提出了一 ...
【技術保護點】
1.一種云計算環境下基于VHAM?R模型的虛擬機放置遺傳優化方法,其特征在于,所述方法包括以下步驟:第一步:對于虛擬機放置問題提出以下的形式化描述,過程如下:1.1定義放置環境,數據中心存在物理主機集合PM={pm1,pm2,...,pmn},其中主機數量為n,需要放置的虛擬機集合VM={vm1,vm2,...,vmm},其中虛擬機數量為m,假設虛擬機數量m大于或等于主機n,定義虛擬機放置組集合P={p1,p2,...,ph},h為放置組的數量;1.2定義資源狀態,對于給定的虛擬機vmi,定義
【技術特征摘要】
1.一種云計算環境下基于VHAM-R模型的虛擬機放置遺傳優化方法,其特征在于,所述方法包括以下步驟:第一步:對于虛擬機放置問題提出以下的形式化描述,過程如下:1.1定義放置環境,數據中心存在物理主機集合PM={pm1,pm2,...,pmn},其中主機數量為n,需要放置的虛擬機集合VM={vm1,vm2,...,vmm},其中虛擬機數量為m,假設虛擬機數量m大于或等于主機n,定義虛擬機放置組集合P={p1,p2,...,ph},h為放置組的數量;1.2定義資源狀態,對于給定的虛擬機vmi,定義為虛擬機vmi所需的CPU資源,為虛擬機vmi所需的內存資源,Vi-pes為虛擬機vmi的CPU利用率,Wi-ram為虛擬機vmi的內存利用率,對于給定的主機pmj,定義為主機pmj當前的CPU空閑資源,為主機pmj的內存空閑資源,Uj-pes為主機pmj的CPU利用率,Uj-ram為主機pmj的內存利用率,則定義主機pmj的資源利用率Uj為:Uj=αUj-pes+βUj-ram0<α<1,0<β<1,且α+β=1;定義Tagij為當前時刻t,主機pmj能否滿足虛擬機vmi的資源要求,即1.3主機可用性,一個節點的可用性是指節點在整個服務時間內任意時刻的工作概率,對于任意網絡組件i,其可用性Ai通過以下公式計算獲得:其中MTTF代表平均故障時間,MTTR代表平均修復時間,假定服務器可用性的值是已知的,且各服務器之間的可用性是相互獨立互不相關的;1.4計算電能消耗,在一個擁有n臺運行的物理主機的云數據中心,對于任意物理主機pmj∈PM,在某一時刻t的電源能耗如下公式所示:其中cj為靜態能耗標記,fj(t)為t時刻主機pmj的CPU頻率,CPU利用率為Uj-pes(t),k為常量系數,即電源能耗在一定程度上是基于CPU利用率的線性模型,1.5定義虛擬機放置,VM集合通過放置組pk∈P,選擇對應的物理主機集合中的主機完成放置映射,并且需要盡可能滿足放置過程中的多種約束條件,定義虛擬機放置矩陣Mk[i][j],若Mk[i][j]=1則表示放置組pk將虛擬機j放置在物理主機i上,反之,若Mk[i][j]=0,表示放置組pk中,虛擬機j未放置在物理主機i上;第二步:對虛擬機放置設定約束條件及優化目標,過程如下:2.1對于云環境下的虛擬機放置問題,既要考慮滿足虛擬機資源的需求,又要考慮如何減少數據中心的能耗、資源的高效利用,此外還要考慮放置請求的可用性問題;因此,需要在考慮范圍內的約束有:服務器節點的最大使用數量最少、能耗最低、負載較均衡和放置請求的可用性較高,提出以下約束條件:2.1.1放置約束,任意虛擬機vmi,在同一放置組下,其能且只能放置在一個服務器節點上;約束表示:對于其中放置組pk∈P;同一放置組內,都認為單個虛擬機只能在一個服務器節點上進行部署運行;2.1.2資源約束,對于任何服務器節點來說,其各個資源類型的消耗應不能超過上限,定義服務器pmj的CPU和內存容量分別為和表示;約束表示:對于有參數為常量系數,服務器節點需要預留一部分的資源保證其自身的正常運轉,r≤1;2.1.3可達性約束,定義函數F(m,n,D)用于表示節點間通信的可達性,對于任意鏈接(m,n)∈L,如果點m和n的通信延遲至多為D,則函數F(m,n,D)返回1,否則返回0;2.2虛擬機放置問題的優化目標眾多,選取可用性及能耗兩方面對虛擬機放置問題進行優化研究;2.2.1可用性優化假設用戶請求由具有相關通信要求的n個不同的VM對之間的虛擬機組成,將其放置在同一個服務器節點pmj不止一次不能提高放置的可用性,因為當pmj失敗時,所有放置在pmj上的虛擬機將同時失敗,因而,需要盡量將vmi放置在不同的節點上以增加可用性;用Hi來表示放置虛擬機vmi的最大節點數,即Hi表示vmi可以放置的最大服務器節點數量;定義用于表示該n個虛擬機中,單個虛擬機所需節點數最大為H;虛擬機放置的可用性定義和計算可以分成三種:單一放置、完全保護放置和部分受保護放置;2.2.1.1單一放置單一放置指每個虛擬機都只放在一個服務器節點上,即H=1,在單一放置的情況下,如果n個服務器節點的可用性分別為A1,A2,...,An,k個虛擬機(n≤k)放置于此n個節點之上,則此虛擬機放置方案的可用性可用Ap表示,定義如下:由于請求包含k個虛擬機,因此計算可用性時需要考慮k個虛擬機均在運行的概率;2.2.1.2完全保護放置完全保護放置指對于任意虛擬機均由放置組pi(1≤i≤H)放置在H個不同節點上;因此,可以認為一個完全保護放置方案P可由H個單一放置方案構成,且在各個單一放置方案內,虛擬機對之間都應該滿足放置、資源和通信可達性約束;完全保護放置方案的可用性為在服務的生命周期內,存在至少一個放置組工作的概率,可用性計算如下式所示:2.2.1.3部分保護放置部分保護放置指存在虛擬機vmi∈VM,被放置在少于H個不同節點上,即兩個或者更多個放置組將虛擬機vmi放置在相同的節點上,且存在某個虛擬機vmj∈VM,使得H>1,在部分保護的放置情況下,若一個虛擬機放置在少于H個節點上,可以認為這個虛擬機由多個放置組共同放置;無法直接通過2.2.1.2中的公式計算其可用性,因為放置了共享的虛擬機的服務器節點的可用性會被計算兩次;為了處理該類放置情況,重新定義操作符;假設存在n個節點pm1,pm2,...,pmn,它們的可用性分別為A1,A2,...,An;對于可用性為Ax的節點pmx,給出如下關于操作符的定義:則根據上述中的公式,定義II為不同集合間的操作,保護放置的可用性通過如下公式計算獲得:2.2.2能耗優化根據1.4中的公式,在T時間段內,物理主機pmj的總耗能表示為:因此,由以下公式得,在T時間段內,數據中心的服務器總能耗ET為各運行的服各器的能耗之和:第三步:創建模型基于第二步中給出的虛擬機放置的約束條件和優化目標,建立基于Rendezvous哈希算法的虛擬分層結構模型VHAM-R,用于優化和決策虛擬機對主機的選擇過程,步驟如下:3.1初始化主機集合PM,虛擬機集合VM,虛擬機最多放置組數量H,主機節點的可用性集合A,若主機數量n小于4進入步驟3.2,否則進入步驟3.3;3.2主機數量n小于4,即無法滿足構建最小雙層虛擬結構的數量2*2時,定義其對應每個主機具有一個分配權重得分集合Wi={wi1,wi2,...,wik}其中,k≥n,定義wij為虛...
【專利技術屬性】
技術研發人員:陸佳煒,趙偉,李杰,吳涵,肖剛,高燕煦,
申請(專利權)人:浙江工業大學,
類型:發明
國別省市:浙江,33
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。