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