本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方法及系統(tǒng)。
背景技術(shù):
目前基于大型服務(wù)器集群的云服務(wù)中心、數(shù)據(jù)中心的能耗問題日益突出,虛擬機(jī)技術(shù)是提高數(shù)據(jù)中心資源利用率、實(shí)現(xiàn)節(jié)能減排的有效途徑,而通過管理虛擬機(jī)技術(shù)實(shí)現(xiàn)節(jié)能最有效的途徑就是制定合理的虛擬機(jī)放置策略。
由于服務(wù)器資源、虛擬機(jī)需求、用戶請求的動(dòng)態(tài)變化,能夠隨著相關(guān)變化自動(dòng)調(diào)整虛擬機(jī)動(dòng)態(tài)放置是合理放置虛擬機(jī)的重要手段。虛擬機(jī)動(dòng)態(tài)放置是指在系統(tǒng)運(yùn)行過程中,根據(jù)各類變化,選擇合適的時(shí)刻,不斷對虛擬機(jī)安置在哪個(gè)服務(wù)器上的策略進(jìn)行動(dòng)態(tài)調(diào)整,在滿足SLA(Service-Level Agreement,服務(wù)等級協(xié)議)的前提下,達(dá)到優(yōu)化目標(biāo)。
現(xiàn)有技術(shù)可以分為三類:
第一類將虛擬機(jī)動(dòng)態(tài)放置的優(yōu)化劃分成兩個(gè)階段,第一階段計(jì)算支持當(dāng)前虛擬機(jī)運(yùn)行所需的最少的服務(wù)器數(shù)量,第二階段再將虛擬機(jī)逐一分配到服務(wù)器上,此類方法通常是逐個(gè)放置虛擬機(jī),因此只能實(shí)現(xiàn)局部優(yōu)化而很難到達(dá)全局最優(yōu);
第二類通過簡單啟發(fā)式優(yōu)化規(guī)則或線性規(guī)劃等方法實(shí)現(xiàn)虛擬機(jī)動(dòng)態(tài)放置優(yōu)化,此類方法從整體上進(jìn)行虛擬機(jī)放置的優(yōu)化,且一般來說求解速度較快,但由于虛擬機(jī)放置問題是一個(gè)NP難題,當(dāng)問題規(guī)模較大時(shí),此類方法同樣只能到達(dá)局部優(yōu)化,而很難達(dá)到或接近最優(yōu)解;
第三類則引入在求解NP難題方面有著良好求解效果的智能優(yōu)化算法,對虛擬機(jī)動(dòng)態(tài)放置優(yōu)化問題進(jìn)行求解,與第二類研究類似,此類研究也試圖整體優(yōu)化虛擬機(jī)放置方案,實(shí)現(xiàn)虛擬機(jī)放置的全局優(yōu)化,但此類方法或者只能取得局部優(yōu)化效果,或者無法保證方案的可行性,當(dāng)方案不可行,需要重啟系統(tǒng),將初始狀態(tài)清零后,再進(jìn)行放置,這將影響系統(tǒng)性能并增加額外能耗。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方法及系統(tǒng),旨在解決現(xiàn)有技術(shù)中只能實(shí)現(xiàn)局部優(yōu)化而很難到達(dá)全局優(yōu)化的問題。
一方面,本發(fā)明提供了一種服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方法,所述方法包括下述步驟:
分別建立服務(wù)器狀態(tài)能耗模型、虛擬機(jī)遷移能耗模型及服務(wù)器狀態(tài)切換能耗模型,并根據(jù)所述服務(wù)器狀態(tài)能耗模型、所述虛擬機(jī)遷移能耗模型及所述服務(wù)器狀態(tài)切換能耗模型,建立服務(wù)器集群能耗模型;
根據(jù)服務(wù)器處于各狀態(tài)的概率、當(dāng)前用戶請求服務(wù)器數(shù)量以及處于各狀態(tài)服務(wù)器的數(shù)量,計(jì)算用戶請求平均等待時(shí)間;
在預(yù)設(shè)條件下,依據(jù)服務(wù)器集群能耗模型,將服務(wù)器集群能耗的最小值作為優(yōu)化目標(biāo),得到虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案,所述預(yù)設(shè)條件包括:
運(yùn)行在當(dāng)前服務(wù)器上的所有虛擬機(jī)所需資源總和小于所述當(dāng)前服務(wù)器所擁有的資源數(shù)量;
一臺(tái)虛擬機(jī)只運(yùn)行在一臺(tái)服務(wù)器上;以及
滿足所述用戶請求平均等待時(shí)間。
另一方面,本發(fā)明提供了一種服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化系統(tǒng),所述系統(tǒng)包括:
服務(wù)器集群能耗模型建立單元,用于分別建立服務(wù)器狀態(tài)能耗模型、虛擬機(jī)遷移能耗模型及服務(wù)器狀態(tài)切換能耗模型,并根據(jù)所述服務(wù)器狀態(tài)能耗模型、所述虛擬機(jī)遷移能耗模型及所述服務(wù)器狀態(tài)切換能耗模型,建立服務(wù)器集群能耗模型;
用戶請求平均等待時(shí)間計(jì)算單元,用于根據(jù)服務(wù)器處于各狀態(tài)的概率、當(dāng)前用戶請求服務(wù)器數(shù)量以及處于各狀態(tài)服務(wù)器的數(shù)量,計(jì)算用戶請求平均等待時(shí)間;以及
虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案獲取單元,用于在預(yù)設(shè)條件下,依據(jù)服務(wù)器集群能耗模型,將服務(wù)器集群能耗的最小值作為優(yōu)化目標(biāo),得到虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案,所述預(yù)設(shè)條件包括:
運(yùn)行在當(dāng)前服務(wù)器上的所有虛擬機(jī)所需資源總和小于所述當(dāng)前服務(wù)器所擁有的資源數(shù)量;
一臺(tái)虛擬機(jī)只運(yùn)行在一臺(tái)服務(wù)器上;以及
滿足所述用戶請求平均等待時(shí)間。
在本發(fā)明實(shí)施例中,對服務(wù)器集群的負(fù)載和狀態(tài)的動(dòng)態(tài)變化過程進(jìn)行建模,并在此基礎(chǔ)上建立服務(wù)器集群能耗模型和用戶請求平均等待時(shí)間計(jì)算模型,依據(jù)服務(wù)器集群能耗模型,將服務(wù)器集群能耗的最小值作為優(yōu)化目標(biāo),得到虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案,實(shí)現(xiàn)全局優(yōu)化。
附圖說明
圖1是本發(fā)明實(shí)施例一提供的服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方法的實(shí)現(xiàn)流程圖;
圖2是本發(fā)明實(shí)施例一提供的基于Petri網(wǎng)建立用戶請求響應(yīng)模型的示意圖;
圖3是本發(fā)明實(shí)施例一提供的用戶請求響應(yīng)模型的狀態(tài)分析圖;
圖4是本發(fā)明實(shí)施例一提供的求解虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案的實(shí)現(xiàn)流程圖;以及
圖5是本發(fā)明實(shí)施例二提供的服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化系統(tǒng)的結(jié)構(gòu)圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
以下結(jié)合具體實(shí)施例對本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述:
實(shí)施例一:
圖1示出了本發(fā)明實(shí)施例一提供的服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方法的實(shí)現(xiàn)流程圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,詳述如下:
在步驟S101中,分別建立服務(wù)器狀態(tài)能耗模型、虛擬機(jī)遷移能耗模型及服務(wù)器狀態(tài)切換能耗模型,并根據(jù)服務(wù)器狀態(tài)能耗模型、虛擬機(jī)遷移能耗模型及服務(wù)器狀態(tài)切換能耗模型,建立服務(wù)器集群能耗模型。
在本發(fā)明實(shí)施例中,建立由服務(wù)器狀態(tài)能耗模型、虛擬機(jī)遷移能耗模型及服務(wù)器狀態(tài)切換能耗模型三個(gè)部分組成的服務(wù)器集群能耗模型,對服務(wù)器集群的負(fù)載和狀態(tài)的動(dòng)態(tài)變化過程進(jìn)行建模。
服務(wù)器狀態(tài)能耗模型是將資源使用率轉(zhuǎn)換成能耗,建立與服務(wù)器負(fù)載相關(guān)聯(lián)的狀態(tài)能耗模型,利用輕量級監(jiān)測工具測量每個(gè)虛擬機(jī)運(yùn)行時(shí)的不同資源的利用率,并對服務(wù)器能耗進(jìn)行監(jiān)測,利用收集到的數(shù)據(jù),采用模型學(xué)習(xí)和修正技術(shù),建立狀態(tài)能耗模型。
虛擬機(jī)遷移能耗模型是綜合考慮遷移虛擬機(jī)的大小和資源種類,遷入遷出服務(wù)器的負(fù)載和資源配備,及起始服務(wù)器間的網(wǎng)絡(luò)狀態(tài)等情況,建立對遷出服務(wù)器能耗的影響、對遷入服務(wù)器能耗的影響、遷移過程中對中間網(wǎng)絡(luò)能耗的影響三個(gè)部分能耗的計(jì)算模型,再進(jìn)行綜合建立完整的虛擬機(jī)遷移能耗模型。
服務(wù)器狀態(tài)切換能耗模型是通過定期對服務(wù)器的能耗監(jiān)測,獲得各服務(wù)器在不同狀態(tài)下進(jìn)行狀態(tài)切換的能耗值。
具體地,建立服務(wù)器狀態(tài)能耗模型的步驟,包括:
根據(jù)第i臺(tái)服務(wù)器的固定能耗以及負(fù)載能耗,得到第i臺(tái)服務(wù)器的狀態(tài)能耗Erui(t);
將所有的服務(wù)器的狀態(tài)能耗進(jìn)行求和,得到所述服務(wù)器狀態(tài)能耗ERU(s)。
該建立服務(wù)器狀態(tài)能耗模型的計(jì)算公式如下:
其中,Erui(t)是第i臺(tái)服務(wù)器在時(shí)間段t內(nèi)的狀態(tài)能耗,i=1,2…,M,所述第i臺(tái)服務(wù)器的狀態(tài)能耗Erui(t)由固定能耗和負(fù)載能耗兩部分組成,計(jì)算公式如下:
其中,F(xiàn)i(PSi)是第i臺(tái)服務(wù)器在狀態(tài)為PSi時(shí)的單位固定能耗,PSi=1,2,3,具體地,1代表運(yùn)行、2代表休眠、3代表關(guān)閉;
是第i臺(tái)服務(wù)器在時(shí)間段t內(nèi)的負(fù)載能耗,Ri(t)是第i臺(tái)服務(wù)器在時(shí)間段t內(nèi)的負(fù)載,ai和bi為能耗系數(shù)。
具體地,建立虛擬機(jī)遷移能耗模型的步驟,包括:
分別建立對遷出服務(wù)器能耗的影響、對遷入服務(wù)器能耗的影響以及遷移過程中對中間網(wǎng)絡(luò)能耗的影響的計(jì)算模型;
將對遷出服務(wù)器能耗的影響、對遷入服務(wù)器能耗的影響以及遷移過程中對中間網(wǎng)絡(luò)能耗的影響進(jìn)行求和,得到虛擬機(jī)遷移能耗EVI(s)。
該建立虛擬機(jī)遷移能耗模型的計(jì)算公式如下:
其中,Evuij是將第j個(gè)虛擬機(jī)從第i臺(tái)服務(wù)器遷出時(shí),j=1,2…,N,對第i臺(tái)服務(wù)器能耗的影響,VS是虛擬機(jī)遷出矩陣,當(dāng)VSij為1時(shí),代表第j個(gè)虛擬機(jī)從第i臺(tái)服務(wù)器遷出,否則為0;Evuij的計(jì)算公式如下:
Evuij=αi*Sj+βi
其中,Sj是第j個(gè)虛擬機(jī)的大小,αi和βi為調(diào)整系數(shù);
Evdkj是將第j個(gè)虛擬機(jī)遷入到第k臺(tái)服務(wù)器時(shí),j=1,2…,N,對第k臺(tái)服務(wù)器能耗的影響,VE是虛擬機(jī)遷入矩陣,當(dāng)VEkj為1時(shí),代表第j個(gè)虛擬機(jī)遷移到第k臺(tái)服務(wù)器上,否則為0;Evdkj的計(jì)算公式如下:
Evdkj=αk*Sj+βk
其中,Sj是第j個(gè)虛擬機(jī)的大小,αk和βk為調(diào)整系數(shù);
Evnikj是將第j個(gè)虛擬機(jī)從第i臺(tái)服務(wù)器遷到第k臺(tái)服務(wù)器時(shí),對中間網(wǎng)絡(luò)能耗的影響,VC是虛擬機(jī)遷移矩陣,當(dāng)VCikj為1時(shí),代表第j個(gè)虛擬機(jī)從第i臺(tái)服務(wù)器遷移到第k個(gè)服務(wù)器上,否則為0;Evnikj的計(jì)算公式如下:
Evnikj=γik*Sj
其中,Sj是第j個(gè)虛擬機(jī)的大小,γik為調(diào)整系數(shù)。
具體地,建立服務(wù)器狀態(tài)切換能耗模型的步驟,包括:
通過獲取各服務(wù)器在不同狀態(tài)下進(jìn)行狀態(tài)切換的能耗值,得到服務(wù)器狀態(tài)切換能耗ECH(s);
該服務(wù)器狀態(tài)切換能耗模型的計(jì)算公式如下:
其中,Epq是服務(wù)器狀態(tài)改變能耗矩陣,Epqi1代表開啟處于關(guān)閉狀態(tài)第i臺(tái)服務(wù)器的能耗,Epqi2代表喚醒處于休眠狀態(tài)第i臺(tái)服務(wù)器的能耗,Epqi3代表休眠處于運(yùn)行狀態(tài)第i臺(tái)服務(wù)器的能耗,Epqi4代表關(guān)閉處于運(yùn)行狀態(tài)第i臺(tái)服務(wù)器的能耗;PC是服務(wù)器狀態(tài)改變矩陣,PC1i代表第i臺(tái)服務(wù)器將從關(guān)閉狀態(tài)調(diào)整為運(yùn)行狀態(tài),PC2i代表第i臺(tái)服務(wù)器將從休眠狀態(tài)調(diào)整為運(yùn)行狀態(tài),PC3i代表第i臺(tái)服務(wù)器將從運(yùn)行狀態(tài)調(diào)整為休眠狀態(tài),PC4i代表第i臺(tái)服務(wù)器將從運(yùn)行狀態(tài)調(diào)整為關(guān)閉狀態(tài)。
具體地,建立服務(wù)器集群能耗模型的計(jì)算公式為:
EC(s)=[ERU(s)-ERU(s0)]+EVI(s)+ECH(s)
其中,EC(s)是將放置方案調(diào)整為s時(shí)服務(wù)器集群能耗,ERU(s)是在放置方案s下的服務(wù)器狀態(tài)能耗,ERU(s0)是在初始放置方案s0下的服務(wù)器狀態(tài)能耗,EVI(s)是將放置方案調(diào)整為s時(shí)虛擬機(jī)遷移能耗,ECH(s)是將放置方案調(diào)整為s時(shí)服務(wù)器狀態(tài)切換能耗。
在步驟S102中,根據(jù)服務(wù)器處于各狀態(tài)的概率、當(dāng)前用戶請求服務(wù)器數(shù)量以及處于各狀態(tài)服務(wù)器的數(shù)量,計(jì)算用戶請求平均等待時(shí)間。
在本發(fā)明實(shí)施例中,根據(jù)服務(wù)器處于各狀態(tài)的概率、當(dāng)前用戶請求服務(wù)器數(shù)量以及處于各狀態(tài)服務(wù)器的數(shù)量,以用戶請求平均等待時(shí)間作為評價(jià)指標(biāo)建立性能模型。
進(jìn)一步地,基于Petri網(wǎng)建立用戶請求響應(yīng)模型;
對用戶請求響應(yīng)模型進(jìn)行狀態(tài)分析,以計(jì)算出所述服務(wù)器處于各狀態(tài)的概率。
具體地,圖2為本發(fā)明實(shí)施例一提供的基于Petri網(wǎng)建立用戶請求響應(yīng)模型的示意圖,詳述如下,基于Petri網(wǎng)建立用戶請求響應(yīng)模型,p0為模擬用戶請求的到達(dá)而引入的輔助庫所;p1和p2為選擇庫所,根據(jù)條件選擇將服務(wù)器置于何種狀態(tài);t0模擬用戶請求的到達(dá)滿足參數(shù)為λ的泊松分布;t2模擬處理用戶請求的時(shí)間服從參數(shù)為μ的負(fù)指數(shù)分布;t1、t3、t4、t5、t6和t7為瞬時(shí)變遷,輔助進(jìn)行狀態(tài)切換;f為將服務(wù)器從運(yùn)行狀態(tài)切換到休眠狀態(tài)的閾值。
虛線框模擬用戶請求的到達(dá),用戶請求到達(dá)時(shí)向req(請求)庫所添加一個(gè)代表該用戶請求的token(令牌),當(dāng)run(運(yùn)行)庫有代表可用服務(wù)器的token時(shí),該服務(wù)器將從req庫所選取一個(gè)token進(jìn)行處理;處理完后,若req庫所仍有未處理token,則該服務(wù)器回到run庫所;否則,根據(jù)閾值判斷是否將該服務(wù)器的狀態(tài)切換為空閑或休眠,從而進(jìn)入idle(空閑)或sleep(休眠)庫所;若req庫所的用戶請求數(shù)量較多,則根據(jù)閾值喚醒處于sleep狀態(tài)的服務(wù)器。
進(jìn)一步地,圖3為本發(fā)明實(shí)施例一提供的用戶請求響應(yīng)模型的狀態(tài)分析圖,詳述如下,對所述用戶請求響應(yīng)模型進(jìn)行狀態(tài)分析,圖3中每個(gè)虛線框?yàn)榉?wù)器集群的一個(gè)狀態(tài),處于M1狀態(tài)時(shí),無等待的用戶請求;當(dāng)用戶請求數(shù)量大于當(dāng)前可用服務(wù)器個(gè)數(shù)r時(shí),進(jìn)入狀態(tài)M2,部分用戶請求需排隊(duì)等待;當(dāng)排隊(duì)的請求數(shù)量超出閾值a1,進(jìn)入狀態(tài)M3時(shí),喚醒1個(gè)處于休眠狀態(tài)的服務(wù)器,為用戶提供服務(wù);當(dāng)排隊(duì)的請求數(shù)量下降,跌至閾值a1以下時(shí),并不是立即讓額外喚醒的服務(wù)器進(jìn)入休眠狀態(tài),而是繼續(xù)為排隊(duì)等待的用戶請求提供服務(wù),系統(tǒng)進(jìn)入狀態(tài)M4,直到?jīng)]有等待的請求,額外喚醒的服務(wù)器才再次進(jìn)入休眠狀態(tài)。系統(tǒng)設(shè)置多個(gè)增加服務(wù)器的閾值,從而根據(jù)用戶請求情況,逐一喚醒服務(wù)器。
進(jìn)一步地,根據(jù)服務(wù)器處于各狀態(tài)的概率、當(dāng)前用戶請求服務(wù)器數(shù)量以及處于各狀態(tài)服務(wù)器的數(shù)量,計(jì)算用戶請求平均等待時(shí)間的計(jì)算公式為:
其中,Wq為用戶請求平均等待時(shí)間,pj為服務(wù)器處于各狀態(tài)的概率,j為當(dāng)前用戶請求服務(wù)器的數(shù)量,c為服務(wù)器總數(shù)量,r為處于運(yùn)行狀態(tài)服務(wù)器的數(shù)量,s為處于休眠狀態(tài)服務(wù)器的數(shù)量,k為欲增加服務(wù)器的數(shù)量,ak為增加服務(wù)器的閾值,μ為負(fù)指數(shù)分布的參數(shù)。
在步驟S103中,在預(yù)設(shè)條件下,依據(jù)服務(wù)器集群能耗模型,將服務(wù)器集群能耗的最小值作為優(yōu)化目標(biāo),得到虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案,所述預(yù)設(shè)條件包括:
運(yùn)行在當(dāng)前服務(wù)器上的所有虛擬機(jī)所需資源總和小于所述當(dāng)前服務(wù)器所擁有的資源數(shù)量;
一臺(tái)虛擬機(jī)只運(yùn)行在一臺(tái)服務(wù)器上;以及
滿足所述用戶請求平均等待時(shí)間。
在本發(fā)明實(shí)施例中,將服務(wù)器集群能耗作為優(yōu)化目標(biāo),使其滿足于運(yùn)行在當(dāng)前服務(wù)器上的所有虛擬機(jī)所需資源總和小于所述當(dāng)前服務(wù)器所擁有的資源數(shù)量;一臺(tái)虛擬機(jī)只運(yùn)行在一臺(tái)服務(wù)器上;以及滿足所述用戶請求平均等待時(shí)間。
具體地,給定系統(tǒng)中有M臺(tái)服務(wù)器,矩陣PS表示服務(wù)器所處的狀態(tài),PSi是第i臺(tái)服務(wù)器的狀態(tài),PSi的取值為1、2和3,1代表運(yùn)行、2代表休眠、3代表關(guān)閉,矩陣PR表示服務(wù)器的資源數(shù)量,L是資源種類數(shù),PRli表示第i臺(tái)機(jī)器的所擁有的第l(l=1,2,…,L)類資源的數(shù)量,系統(tǒng)中運(yùn)行著N種虛擬機(jī),矩陣VR表示對各虛擬機(jī)未來一段時(shí)間的資源需求預(yù)測結(jié)果,VRlj表示第j個(gè)虛擬機(jī)對第l(l=1,2,…,L)類資源的需求數(shù)量,矩陣sij表示當(dāng)前虛擬機(jī)與設(shè)備的對應(yīng)情況,即當(dāng)前虛擬機(jī)的放置方案,一個(gè)虛擬機(jī)只能運(yùn)行在一個(gè)機(jī)器上,需對虛擬機(jī)的放置情況進(jìn)行調(diào)整,得到一個(gè)新的虛擬機(jī)放置方案s,使得目標(biāo)得以實(shí)現(xiàn),該問題的優(yōu)化目標(biāo)主要在于兩個(gè)方面:從收益的角度說,應(yīng)當(dāng)盡量滿足用戶的需求,達(dá)到用戶要求的SLA水平;從成本的角度說,則主要是能耗。
其用公式表達(dá)為:
minEC(s)
s.t.RWki≤PRki
(RW=VR*PS;k=1,2,…,K;i=1,2,…,M)
Wq(s)≤Wq
其中,minEC(s)將服務(wù)器集群能耗作為優(yōu)化目標(biāo),即最小化能耗;預(yù)設(shè)條件,包括:RWki≤PRki是代表運(yùn)行在一臺(tái)服務(wù)器上的所有虛擬機(jī)所需資源總和應(yīng)小于該服務(wù)器所擁有的資源數(shù)量;表示一臺(tái)虛擬機(jī)只能運(yùn)行在一臺(tái)服務(wù)器上;式(13)是指用戶的性能要求得到滿足,Wq(s)是放置方案s下系統(tǒng)的性能,即放置方案s下用戶請求平均等待時(shí)間,Wq是用戶的性能要求,即用戶請求平均等待時(shí)間。
進(jìn)一步地,圖4是本發(fā)明實(shí)施例一提供的求解虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案的實(shí)現(xiàn)流程圖,在求解虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案時(shí),將虛擬機(jī)映射為博弈理論中的決策者參與博弈,每個(gè)虛擬機(jī)可放置的所有服務(wù)器則形成決策者的決策空間,在每一輪的博弈過程中,每個(gè)決策者都將選擇其最好的且可行的策略,經(jīng)過多輪博弈后,將到達(dá)一個(gè)納什均衡點(diǎn),這將是一個(gè)可行的改進(jìn)解,為避免博弈過程陷入局部優(yōu)化,在每一輪博弈過程中,以一定的概率讓部分決策者使用隨機(jī)選擇策略。將多人隨機(jī)演化博弈理論應(yīng)用于虛擬機(jī)放置方案優(yōu)化全局優(yōu)化問題的求解,提出的多人隨機(jī)演化博弈算法能在考慮虛擬機(jī)初始放置方案的前提下,求得最優(yōu)的虛擬機(jī)放置調(diào)整方案,同時(shí)給出從初始方案到目標(biāo)方案的可行的虛擬機(jī)遷移序列。
在本發(fā)明實(shí)施例中,對服務(wù)器集群的負(fù)載和狀態(tài)的動(dòng)態(tài)變化過程進(jìn)行建模,并在此基礎(chǔ)上建立服務(wù)器集群能耗模型和用戶請求平均等待時(shí)間計(jì)算模型,依據(jù)服務(wù)器集群能耗模型,將服務(wù)器集群能耗的最小值作為優(yōu)化目標(biāo),得到虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案,實(shí)現(xiàn)全局優(yōu)化。
實(shí)施例二:
圖5是本發(fā)明實(shí)施例二提供的服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化系統(tǒng)的結(jié)構(gòu)圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。該服務(wù)器集群上的虛擬機(jī)動(dòng)態(tài)放置優(yōu)化系統(tǒng)包括:服務(wù)器集群能耗模型建立單元51、用戶請求平均等待時(shí)間計(jì)算單元52以及虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案獲取單元53,其中:
服務(wù)器集群能耗模型建立單元51,用于分別建立服務(wù)器狀態(tài)能耗模型、虛擬機(jī)遷移能耗模型及服務(wù)器狀態(tài)切換能耗模型,并根據(jù)所述服務(wù)器狀態(tài)能耗模型、所述虛擬機(jī)遷移能耗模型及所述服務(wù)器狀態(tài)切換能耗模型,建立服務(wù)器集群能耗模型。
在本發(fā)明實(shí)施例中,建立由服務(wù)器狀態(tài)能耗模型、虛擬機(jī)遷移能耗模型及服務(wù)器狀態(tài)切換能耗模型三個(gè)部分組成的服務(wù)器集群能耗模型,對服務(wù)器集群的負(fù)載和狀態(tài)的動(dòng)態(tài)變化過程進(jìn)行建模。
進(jìn)一步地,服務(wù)器集群能耗模型建立單元51包括:
服務(wù)器狀態(tài)能耗模型建立單元511,用于根據(jù)第i臺(tái)服務(wù)器的固定能耗以及負(fù)載能耗,得到第i臺(tái)服務(wù)器的狀態(tài)能耗Erui(t);將所有的服務(wù)器的狀態(tài)能耗進(jìn)行求和,得到所述服務(wù)器狀態(tài)能耗ERU(s)。
虛擬機(jī)遷移能耗模型建立單元512,用于分別建立對遷出服務(wù)器能耗的影響、對遷入服務(wù)器能耗的影響以及遷移過程中對中間網(wǎng)絡(luò)能耗的影響的計(jì)算模型;將所述對遷出服務(wù)器能耗的影響、所述對遷入服務(wù)器能耗的影響以及所述遷移過程中對中間網(wǎng)絡(luò)能耗的影響進(jìn)行求和,得到所述虛擬機(jī)遷移能耗EVI(s)。
服務(wù)器狀態(tài)切換能耗模型建立單元513,用于通過獲取各服務(wù)器在不同狀態(tài)下進(jìn)行狀態(tài)切換的能耗值,得到服務(wù)器狀態(tài)切換能耗ECH(s)。
其中,服務(wù)器狀態(tài)能耗模型是將資源使用率轉(zhuǎn)換成能耗,建立與服務(wù)器負(fù)載相關(guān)聯(lián)的狀態(tài)能耗模型,利用輕量級監(jiān)測工具測量每個(gè)虛擬機(jī)運(yùn)行時(shí)的不同資源的利用率,并對服務(wù)器能耗進(jìn)行監(jiān)測,利用收集到的數(shù)據(jù),采用模型學(xué)習(xí)和修正技術(shù),建立狀態(tài)能耗模型。
虛擬機(jī)遷移能耗模型是綜合考慮遷移虛擬機(jī)的大小和資源種類,遷入遷出服務(wù)器的負(fù)載和資源配備,及起始服務(wù)器間的網(wǎng)絡(luò)狀態(tài)等情況,建立對遷出服務(wù)器能耗的影響、對遷入服務(wù)器能耗的影響、遷移過程中對中間網(wǎng)絡(luò)能耗的影響三個(gè)部分能耗的計(jì)算模型,再進(jìn)行綜合建立完整的虛擬機(jī)遷移能耗模型。
服務(wù)器狀態(tài)切換能耗模型是通過定期對服務(wù)器的能耗監(jiān)測,獲得各服務(wù)器在不同狀態(tài)下進(jìn)行狀態(tài)切換的能耗值。
用戶請求平均等待時(shí)間計(jì)算單元52,用于根據(jù)服務(wù)器處于各狀態(tài)的概率、當(dāng)前用戶請求服務(wù)器數(shù)量以及處于各狀態(tài)服務(wù)器的數(shù)量,計(jì)算用戶請求平均等待時(shí)間。
在本發(fā)明實(shí)施例中,根據(jù)服務(wù)器處于各狀態(tài)的概率、當(dāng)前用戶請求服務(wù)器數(shù)量以及處于各狀態(tài)服務(wù)器的數(shù)量,以用戶請求平均等待時(shí)間作為評價(jià)指標(biāo)建立性能模型。
該用戶請求平均等待時(shí)間計(jì)算單元52包括:
用戶請求響應(yīng)模型建立單元521,用于基于Petri網(wǎng)建立用戶請求響應(yīng)模型。
概率計(jì)算單元522,用于對用戶請求響應(yīng)模型進(jìn)行狀態(tài)分析,以計(jì)算出服務(wù)器處于各狀態(tài)的概率。
虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案獲取單元53,用于在預(yù)設(shè)條件下,依據(jù)服務(wù)器集群能耗模型,將服務(wù)器集群能耗的最小值作為優(yōu)化目標(biāo),得到虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案,所述預(yù)設(shè)條件包括:
運(yùn)行在當(dāng)前服務(wù)器上的所有虛擬機(jī)所需資源總和小于所述當(dāng)前服務(wù)器所擁有的資源數(shù)量;
一臺(tái)虛擬機(jī)只運(yùn)行在一臺(tái)服務(wù)器上;以及
滿足所述用戶請求平均等待時(shí)間。
在本發(fā)明實(shí)施例中,將服務(wù)器集群能耗作為優(yōu)化目標(biāo),使其滿足于運(yùn)行在當(dāng)前服務(wù)器上的所有虛擬機(jī)所需資源總和小于所述當(dāng)前服務(wù)器所擁有的資源數(shù)量;一臺(tái)虛擬機(jī)只運(yùn)行在一臺(tái)服務(wù)器上;以及滿足所述用戶請求平均等待時(shí)間。
進(jìn)一步地,在求解虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案時(shí),將虛擬機(jī)映射為博弈理論中的決策者參與博弈,每個(gè)虛擬機(jī)可放置的所有服務(wù)器則形成決策者的決策空間,在每一輪的博弈過程中,每個(gè)決策者都將選擇其最好的且可行的策略,經(jīng)過多輪博弈后,將到達(dá)一個(gè)納什均衡點(diǎn),這將是一個(gè)可行的改進(jìn)解,為避免博弈過程陷入局部優(yōu)化,在每一輪博弈過程中,以一定的概率讓部分決策者使用隨機(jī)選擇策略。將多人隨機(jī)演化博弈理論應(yīng)用于虛擬機(jī)放置方案優(yōu)化全局優(yōu)化問題的求解,提出的多人隨機(jī)演化博弈算法能在考慮虛擬機(jī)初始放置方案的前提下,求得最優(yōu)的虛擬機(jī)放置調(diào)整方案,同時(shí)給出從初始方案到目標(biāo)方案的可行的虛擬機(jī)遷移序列。
在本發(fā)明實(shí)施例中,對服務(wù)器集群的負(fù)載和狀態(tài)的動(dòng)態(tài)變化過程進(jìn)行建模,并在此基礎(chǔ)上建立服務(wù)器集群能耗模型和用戶請求平均等待時(shí)間計(jì)算模型,依據(jù)服務(wù)器集群能耗模型,將服務(wù)器集群能耗的最小值作為優(yōu)化目標(biāo),得到虛擬機(jī)動(dòng)態(tài)放置優(yōu)化方案,實(shí)現(xiàn)全局優(yōu)化。
在本發(fā)明實(shí)施例中,各單元可由相應(yīng)的硬件或軟件單元實(shí)現(xiàn),各單元可以為獨(dú)立的軟、硬件單元,也可以集成為一個(gè)軟、硬件單元,在此不用以限制本發(fā)明。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。