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