李孝天+梁后健+胡賀軍
【摘要】 近幾年來我國的經濟水平與科技水平在飛速提升,云計算技術獲得了迅猛的發展,將IT資源轉換為動態化的虛擬資源,從而為人們提供更加優質、快速的服務?;谠骗h境中的虛擬機資源分配算法可提升服務器運行的可靠性與安全性,還可將資源進行優化,降低各種因素形成的風險。綜上所述,本文將基于云環境對虛擬資源分配算法展開分析與研究,以期增強算法的準確性,并對資源進行更加合理、高效的分配。
【關鍵詞】 云環境 虛擬機 資源分配算法 研究
前言:云環境作為構建智慧城市采用的主要技術,會將互聯網作為主要的媒介,將分布式結構、網格技術等互相結合。相比于傳統的服務模式來說,這種服務模式更具商業價值,還能將資源更加合理地進行配置。而基于云環境的基礎上,對虛擬機資源進行分配的技術是將云計算技術大規模應用的主要技術,從而將資源進行更好的調度。
一、云環境中影響虛擬機資源分配算法的相關因素
1.1多目標優化模型的差異
多目標優化模型在此方面可以發揮很好的作用,然而此方面在發展過程中已經由傳統模型進化為新模型,兩者之間存在著一定的差異,如在傳統模型中,目標函數的權重較大,但此項特點在如今的云計算中卻并不十分適用,如今更多的是針對減少數據能耗方面采取措施,因此第一個目標函數是最重要的,也是最大的權重,模型的差異使得此方面建設難以得到完善,如在邏輯意義上,需要將虛擬主機集中在盡可能少的物理服務器上運行,但人工干預模式在多目標優化模型差異下難以得到實現。
1.2 NSGA-II算法的作用難以發揮
在此方面,限制函數的存在是很有必要的,其可以將一個虛擬主機調到另外一臺物理服務器上運行的,但具有針對性,而正是因為此限制條件,使得NSGA-II算法在進化過程中難以通過變異來提高遺傳算法對于局部空間的搜索能力。另外,在應用變異算法時,很多情況下均會出現得到的新染色體存在不滿足限制條件的可能性。
1.3傳統虛擬機部署的局限性
根據對傳統部署方法的研究可以知道,該方法在應用時會有一定的局限性,具體表現在如下幾個方面:一、一般來講,若虛擬機中有著操作系統,同時又擁有大量業務應用軟件,其所包含的模板映像容量往往很大,幾個GB,甚至是幾十個GB的情況均十分常見,若要對其進行傳輸,往往需要較長時間,導致部署效率下降;二、當出現集群現象時,往往會出現較高的網絡傳輸開銷;三、目前來看很多虛擬機均會存在相似的情況,即以集中式存儲形式為主,然而此種方式總會帶來數據吞吐問題,進而造成運行不暢現象。
二、云環境中虛擬機優化方案
用戶在應用云計算一定形式之后,虛擬機在應用內會產生一定數額費用,并且需要一段計算時間。本文對虛擬機資源分配進行分析研究,主要目的就是借助云計算形式,優化運行計算手段,最大程度減少用戶在規定時間內所承擔的經濟成本。云計算虛擬機優化內,用戶一同具有兩種優化方案,第一種優化方案暫時忽略時間因素,僅對虛擬機費用進行優化,最大程度降低虛擬機成本,但是時間因素在忽略之后,所涉及到的用戶計算時間較短;第二種優化方案就是綜合時間及費用影響因素,方案在設定默認時間之后,在約束條件控制之下,完成云計算虛擬機費用優化操作。用戶如果對處理時間要求十分嚴苛,還可以按照自身實際需求,設置針對性限制時間,進而完成費用優化。
三、系統模型的構建
將分布在不同地理區域的數據中心構成的云計算平臺,各個數據中心的容量、延時性能以及虛擬機的資源價格都不一致?;谠骗h境提供的服務會將用戶的要求作為基礎,對相應的虛擬機資源合理分配,云用戶在業務運行的過程中,可通過虛擬機的數據中心將相關信息充分掌握[1],可以將其定義為以下幾點內容:第一,資源的調度器。將云用戶的相關要求以及云計算數據中心的運行狀態作為基礎,為用戶提供有效的虛擬機資源,資源調度器自身還會在云計算的平臺中某個數據中心上進行運行。第二,數據中心所實施狀態監控的具體進程,會運行于各個數據中心之上,還會對數據提供實施的監控,將其運行狀態充分掌握,其中還包含數據中心剩余的資源量以及虛擬機資源價格等方面的信息,還會向資源的調度器將相關狀態信息發送至數據中心中[2]。第三,數據中心形成的狀態表。資源調度器中還將各種中心狀態信息的模塊進行存儲,還會將數據的中心狀態進行實時監控,以確保狀態信息可以獲得實時的更新,其中主要包含數據中心的剩余資源量、延時以及資源價格等方面的相關信息。
通過對上述三種定義進行分析,可以生成系統的架構示意圖。
四、模型構建方式與問題的描述
基于云用戶的層面來說,會將業務的主要特征作為基礎對虛擬機中的各項資源進行合理分配,主要是對云用戶具備的業務特征進行描述,還會將資源調度器中的數據中心狀態表實時更新,這兩種信息的準確性都會對最終資源分配的收益產生重要影響。
4.1業務特征的描述方式
從系統的架構示意圖可以看出,可利Ri(li,ni,ci)對云用戶的i資源請求進行表述,其中的ci是指云用戶的業務特征,其中會包含虛擬機部署的策略[3]、延時敏感度以及價格敏感度。對于不同類型的云用戶來說,會具備不同的業務特征,因此需要采取不同的虛擬機部署策略,通過這樣的方式可以將云用戶的成本大幅降低,還可增加額外獲得的收益。之后本文利用si對用戶i的虛擬機部署策略進行表示,并將其分成兩種類型即集中式與分布式。對于集中式的部署策略來說,需要將用戶需要的全部虛擬機部署在相同的數據中心中。另一方面,對于分布式部署策略來說,需要將云用戶的各方面需求共同部署在v個數據中心當中,在本文中的數據中心個數超過v 的量。
不同類型云用戶業務會對延時與資源的價格存在不同程度的敏感度,技術人員利用αi與βi分別對云用戶i的延時因子與價格因子進行表示,不同類型的業務中,兩種因子也會各不相同。endprint
對于具體的業務來說,例如在大型的多人同時在線游戲業務來說,由于其內部存在大量的交互信息,在利用虛擬機將資源進行分配的過程中,便需要采用集中式的部署方式,其也不會造成高度敏感的問題,也不會對資源的價格產生較為嚴重的影響。再如微博等相關的社交業務來說,由于其具備較強的區域特性,在業務內部的信息交互程度較弱,在虛擬機對資源進行部署的過程中,便可采用分布式的部署方式。還由于這種類型的業務不會存在過高的延時敏感度,但其具備較高的價格敏感度。由于云用戶業務中存在一定程度的差異性,使得其他業務的特征也不盡相同,還會將虛擬機部署的要求、兩種因子作為基礎,可利用以下公式對云用戶i的業務特征進行描述:ci=(si,αi,βi)。
4.2數據中心的狀態更新
將上文敘述的系統模型作為基礎,在數據中心的狀態信息,時由數據中心實施的狀態監控進程實時監控,從而為資源調度器傳送相應的數據信息,資源調度器會將數據中心狀態監控進程的信息作為基礎,制成相應的數據中心狀態表。對于數據中心的狀態信息來說,會包含資源的剩余量Lk,t、資源的價格[4]Pk,t,還包含相應的數據中心延時估計Dk,t。另外還會包含數據中心的CPU計算資源,內外存儲器。
在數據中心提供的資源價格與云服務的供應商定價模型之間存在密切的聯系,在對相關系統模型進行描述的過程中,會將各個數據中心負載的需求進行綜合考慮,在本文中主要講剩余的資源量動態價格模型作為基礎。通常來說,要想得出數據中心的資源價格,可利用以下公式計算得出:Pk,t=γ1Pk,0+γ2f(Lk,t)。在公式當中,k是指數據中心的編號,t指目前的時刻,指權重因子,將數據中心的k作為基礎的資源價格,還可將其作為定值,f(Lk,t)與剩余的資源量互相關聯,呈現函數的表達形式。
在數據中心出現的延時可作為主要的更新過程:資源調度期會以周期性的方式對云計算的數據中心發送相應的延時測試信號,還會將測試信號的應答延時進行記錄,將測試的信號發送周期設置為td,如果資源調度器接收到來源于數據中心的狀態信息時,會對數據中心發送實驗需要的測試信號。
4.3問題描述
為了將數據中心的延時與資源價格對業務產生的影響更加直觀、完整的進行描述,本文將業務的成本指數概念進行了描述,通過資源調度器將云用戶業務成本作為基礎,對相應的業務進行合理分配[5]。
五、業務特征基礎的資源分配算法
將本文描述的系統模型以及相應的問題分析作為基礎,本文將提出基于云用戶業務特征的虛擬機資源分配的算法,其主要的算法操作步驟流程如下:第一,云用戶會對資源調度器提出資源請求:Ri(li,ni,ci);第二,需要將云用戶的虛擬機部署策略作為基礎,便會執行下一個步驟,如果si=v,(v>1),便可執行下一個步驟。第三,利用集中式的處理方式,對云用戶i將虛擬機的資源進行分配,可采用以下幾種方法:1.在資源調度器對數據中心的狀態表進行查詢,將充分滿足云用戶資源需求的數據進行正確選擇,從而構成數據的中心集合。2.將云用戶的候選數據中心集合看作為空集,便可以將其看作為云計算平臺中并不具備足夠的資源為用戶進行分配,資源的調度器會拒絕云用戶的相關請求,之后便可執行下一個步驟。第四,利用分布式的方式對云用戶的虛擬機進行部署。
結語:將云環境作為基礎,實施的虛擬機資源分配算法,可將資源實施合理、科學的分配,從而將用戶花費的成本降低,將云端資源所提供的收益最大化,從根本上為用戶的服務質量提供保障。
參 考 文 獻
[1]陳小嬌,陳世平,方芳. 云計算中虛擬機資源分配算法[J]. 計算機應用研究,2014,09:2584-2587+2616.
[2]蔣茜,何嘉. 基于聚類蟻群算法的虛擬機資源分配算法研究[J]. 四川文理學院學報,2014,05:80-84.
[3]劉強. 基于收益的云環境虛擬機資源動態分配方法研究[D].東北大學,2012.endprint