?

云計算虛擬資源差分進化分配方法仿真

2023-10-29 01:48馬賀男劉曉菲
計算機仿真 2023年9期
關鍵詞:資源分配差分能耗

高 楊,馬賀男,劉曉菲

(1. 中國刑事警察學院公安信息技術與情報學院,遼寧 沈陽 110034;2. 沈陽航空航天大學,遼寧 沈陽 110136)

1 引言

云計算為并行計算、分布式計算、虛擬化等技術的演變,作為一種全新的商業計算模型,可以把大量的軟件資源、存儲資源匯集在一起,給用戶提供了更為方便與安全的網絡服務[1-2]。但云平臺集群規模較大,集群節點之間存在一定的差異性,在此背景下,用戶的服務請求各不相同,資源類別的科學劃分和云計算虛擬資源的高效率分配成為云計算領域研究的重點課題[3]。

相關學者從不同角度,就上述內容給出如下解決方案:倪思源[4]等把不同類別的資源擬作不同維度矢量,利用計算裝箱問題達到負載均衡,給各虛擬機設置駐留時長,輪換計算服務器負載情況,實現資源分配工作。王鎮道[5]等構建涵蓋時間、功耗和負載均衡的適應度函數,運用混沌優化生成初始化粒子,代入高斯變異更新勝利粒子方位,找出最優資源分配模式。但上述方法在處理海量云計算虛擬資源分配時無法達到預期效果,且對外部環境影響因素考慮較為單一,導致資源分配極易產生偏差。

為此,本文提出一種云計算虛擬資源差分進化分配方法。構建云計算虛擬資源分配模型,引入差分進化算法進行全局最優搜索,并在仿真實驗中也進一步驗證了方法的可行性,獲得科學合理的虛擬資源分配方案。

2 云計算虛擬資源分配模型

用戶向云服務中心遞交服務請求時,資源分配中心會把描述的服務請求變換成云任務需求[6-7],為資源任務類型的準確分類,從分配能耗與時間兩方面入手,通過動態能量感知技術構建云計算虛擬資源分配模型。

考慮動態能量損耗[8],資源分配問題被定義成:存在相同類型資源分配需求(涵蓋帶寬分配需求、可信度分配需求等)的n個不具備相互關聯的獨立資源A={a1,a2,…,an}和滿足上述資源分配需求對應服務器內m個分配資源B={b1,b2,…,bm}。虛擬資源分配任務要同時符合最短時間跨度和最小能耗總值條件,這樣能在提高資源分配速率的同時,減少資源分配運行成本。

在虛擬映射原則下,考慮服務器電路能耗,通過調節服務器電壓與分配頻率來降低全局能耗[9]。服務器電壓與分配頻率增大的情況下,能耗會慢慢降低。K={kj,1

全部資源分配最短時間跨度Tmin的運算解析式為

Tmin=Cj-Di

(1)

式中,Cj代表資源實現調度的總時長,Di代表實現資源分配的總時長。

資源分配的空閑分配時間Tfree的運算解析式為

Tfree=Tmin-Di

(2)

計算時,若以最短時間跨度Tmin實現服務器虛擬資源分配,則Tfree值等于0。將全部資源分配生成的能耗總值G表示為

(3)

式中,Gi代表分配資源時耗損的動態能量。

考慮到資源分配時間和資源分配能量具有一定的內在關聯,為了方便研究資源分配時序規律,引入能量消耗時間變換因子,把實現資源分配需要的能量值均變換為時間參數[10],將能量消耗時間變換因子定義為

c=[c1,c2,…ci]

(4)

式中,ci代表實現資源分配時能量消耗和時間之間的變換因子。

由此,將實現資源分配產生能量消耗變換的時間向量GAi與資源分配時間矩陣GAL分別定義成

GAi=ci×Gi

(5)

GAL=[GAL[i,j]]n×m

(6)

式中,GAL[i,j]代表實現資源分配需要的執行時間。

云計算虛擬資源分配模型的關鍵是處理云計算資源分配過程中的工作負載問題。使用二元組H={A,B}描述云計算資源分配模型,并將資源分配模型表示成圖1。

圖1 云計算虛擬資源分配模型示意圖

3 云計算虛擬資源分配實現

差分進化算法作為一種種群進化優化方法[11],具有穩定性與實用性特點,涵蓋三個基礎步驟:變異操作、交叉操作與選擇操作,在諸多領域得到了大量應用。本文將差分進化算法引入云計算虛擬資源分配模型,運用其強大的搜索能力,找出最符合當下環境的虛擬資源分配策略,完成資源合理調度。

(7)

使用式(7)的選擇操作判斷個體最優解,利用變異概率自主調節完善差分進化算法性能,運算步驟為:

第一,染色體編碼。融合云計算虛擬資源分配特征,運用資源-任務的間接編碼模式[14],用戶虛擬任務總值為染色體長度,基因代表虛擬任務,基因位的位值表示虛擬任務被分配至對應資源編碼。假設pi是任務編碼,uj是資源編碼,則相應的染色體解碼為p1:{u1},p2:{u2},…,pn:{un}。由此看出,每條染色體均對應一種資源分配方案。

第二,初始化最高迭代數量、迭代終止條件、種群規模等參數,并設置云計算虛擬機適應度函數[15]。倘若在第l臺虛擬機上分配了v個任務,那么第l臺虛擬機實現任務分配的迭代周期為

(8)

第三,種群評估,推算全部個體適應度,分析每個個體的優劣水平,保存當代種群的最優個體。將虛擬資源集合的負載均值LB與負載均衡標準差LCT依次記作:

(9)

(10)

式中,o代表虛擬機個數。

將個體適應度函數進一步表示成

(11)

式中,Qb代表全部虛擬資源分配的迭代周期。

第四,評估是否滿足迭代終止條件,若不滿足則使用輪盤賭選擇策略挑選優良個體,并把優質基因傳遞至下一代,采取精英保存措施[16],防止優良個體在進化過程中丟失。

第五,多點交叉操作當前種群個體,更改基因排列模式,產生全新個體,保證種群多樣化。交叉操作計算過程為:

(12)

式中,rand[0,1]代表[0,1]區間內挑選的隨機值,CR代表[0,1]區間中的常數,命名為交叉因子,CR值越高,交叉概率越高,j_rand代表在[0,1]區間內隨機挑選的整數。

第六,隨機擇取若干個體,依照變異概率自主調節進行變異操作。變異概率可自主調整臨界值,任意挑選個體基因實施小范圍變異。

隨機迭代過程自主調節的變異概率Ro為

(13)

式中,g代表自主調節時間。

第七,評估種群狀態,推算全部個體的適應度值,找出最優個體,如果新個體適應度高于原始最優個體適應度,則用新個體替換舊個體。

第八,確認是否滿足循環終止條件,若滿足就輸出最終結果,反之跳轉至第四步繼續計算,直至搜索到最優云計算虛擬資源分配方法為止。

4 仿真實驗

為證明本文方法的實用性,對其進行仿真實驗,把文獻[4]輪換策略法與文獻[5]競爭粒子群算法擬作對比目標,實驗所用數據來自data.gov數據庫(http:∥www.data.gov/),實驗仿真平臺為MATLAB 7.0。通過更改任務參數值檢驗不同計算任務數量下不同方法的性能,創建2個實驗模式:

1)使用Sphere測試函數分析方法的尋優性能。

2)通過負載均衡、執行能耗等指標驗證三種方法在虛擬資源分配方面的可靠性。

4.1 資源分配方法尋優測驗

Sphere測試函數下三種方法云計算虛擬資源分配尋優運行結果如圖2所示。

圖2 三種方法尋優收斂曲線圖

觀察圖2結果可知,本文方法僅需迭代35次即可完成尋優,輪換策略法和競爭粒子群算法分別在83、112次完成尋優。由此證明,本文方法在迭代周期內展現出了良好運算性能,目標函數曲線下降速率快,尋優正確率高,進一步避免方法陷入局部最優,由此可以從側面反映出本文方法的云計算虛擬資源分配效率更高。

4.2 資源分配性能測驗

一個好的資源分配方法需要使用更少的服務器完成對應的任務調度工作,節省云計算服務運行成本。設定某云計算平臺包含50臺物理服務器,需要創建的虛擬主機總數為120,驗證不同方法下服務器個數伴隨虛擬主機數量增多的變化情況,實驗結果如圖3所示。

圖3 服務器伴隨虛擬主機數量的變化趨勢

由圖3可以看出,伴隨需要創建的虛擬主機個數的增多,三種方法使用的服務器數量均呈現出上升趨勢,相較于輪換策略法與競爭粒子群算法,本文方法在同樣實驗環境下,需要投入使用的物理服務器數量最少,說明其能夠最大程度上節省投資開銷,降低資源分配成本。原因在于該方法充分考慮資源分配時間和資源分配能量具有一定的內在關聯,引入能量消耗時間變換因子,將實現資源分配需要的能量值均變換為時間參數,降低能耗,使資源分配成本得到降低。

以負載均衡標準差作為衡量標準,標準差越小,證明云計算虛擬資源分配處理能力越好,方法的靈活性與魯棒性越強。設定虛擬機為100臺,任務數以50個為基礎疊加,實驗對比結果如圖4所示。

圖4 三種方法資源分配負載均衡情況對比

由圖4可以看出,虛擬機數量一定時,本文方法在負載均衡方面得到較優的運算結果。伴隨任務數量不斷上升,本文方法負載均衡標準差保持在10以內,輪換策略法與競爭粒子群算法的負載均衡標準差均高于本文方法。

設定待分配虛擬資源數量為700,在相同虛擬主機個數下,三種方法資源分配時間與能耗的實驗結果如圖5、6所示。

圖5 不同任務數量下資源分配時間對比

從圖5看出,計算資源不變的狀態下,任務數量較少時,三種方法資源分配耗時差距較小,但隨著任務個數的增多,資源分配復雜度逐步提升,兩個文獻方法需要消耗大量時間完成資源分配任務,本文方法優勢越發顯著,仍舊能以較短時間實現用戶預期服務請求。這是由于本文方法采用差分進化算法中變異與選擇等操作,實現高精度全局搜索尋優,自適應獲取最合理的資源分配策略,大幅縮減分配耗時。

從圖6看出,本文方法的資源分配能耗控制水平遠遠高于兩個文獻方法,相同虛擬主機下具備更少能耗,能耗增幅比較為平緩,擁有更好的節能性,可以最大限度延長云平臺數據中心服務器壽命。

圖6 不同任務數量下資源分配能耗對比

綜合實驗結果能得到以下結論:本文方法在任務數量龐大、復雜度高的環境下依舊具備極強的資源分配能力。

5 結論

為探究怎樣在確保計算性能的基礎上減少云計算數據中心能耗這一問題,提出一種云計算虛擬資源差分進化分配方法。差分進化算法具備優秀的全局搜索能力,能很好地應用于云計算虛擬資源分配中。使用動態能量感知技術創建云計算虛擬資源分配模型,確定虛擬資源類型,通過選擇、變異、交叉三種操作得到資源分配策略。在仿真實驗中,利用不同驗證指標驗證了該方法的有效性。在今后工作中會深入考慮服務器開關機代價等更復雜的因素,提升方法適用性,為增強云計算服務水平提供參考借鑒。

猜你喜歡
資源分配差分能耗
120t轉爐降低工序能耗生產實踐
能耗雙控下,漲價潮再度來襲!
數列與差分
探討如何設計零能耗住宅
新研究揭示新冠疫情對資源分配的影響 精讀
一種基于價格競爭的D2D通信資源分配算法
日本先進的“零能耗住宅”
云環境下公平性優化的資源分配方法
基于差分隱私的大數據隱私保護
相對差分單項測距△DOR
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合