解志君
(常州信息職業(yè)技術(shù)學(xué)院 軟件學(xué)院, 常州 213164)
傅里葉變換和支持向量機(jī)的云計算資源分配策略
解志君
(常州信息職業(yè)技術(shù)學(xué)院 軟件學(xué)院, 常州 213164)
針對當(dāng)前云計算資源調(diào)算法的資源利用率低,資源變化預(yù)測精度低的缺陷,提出了傅里葉變換和支持向量機(jī)的云計算資源分配算法。根據(jù)云服務(wù)資源需求的變化特點(diǎn),將其劃分為周期性和非周期性兩類服務(wù),采用傅里葉變換分析服務(wù)資源需求的周期性,并采用支持向量機(jī)預(yù)測非周期性的服務(wù)資源需求,根據(jù)預(yù)測結(jié)果實(shí)現(xiàn)虛擬機(jī)的資源分配,并通過對比實(shí)驗測試可行性和優(yōu)越性。結(jié)果表明,算法提高了虛擬機(jī)資源的利用率,避免了出現(xiàn)違反SLA的現(xiàn)象,而且性能要優(yōu)于對比算法。
云計算系統(tǒng); 資源分配; 傅里葉變換; 支持向量機(jī)
隨著科學(xué)技術(shù)的不斷發(fā)展,傳統(tǒng)云計算模式快已經(jīng)難以適合用戶的實(shí)際需求,而按需付費(fèi)資源配置模式受到專家和學(xué)者的重視[1]。當(dāng)前云服務(wù)商主要采用粗粒度的資源分配技術(shù),包括Google、Amazon等,其分配的基本單位是虛擬機(jī)(Virtual Machine,VM),根據(jù)負(fù)載變化狀況和用戶需要實(shí)時改變虛擬機(jī)的數(shù)量,從而實(shí)現(xiàn)負(fù)載自適應(yīng)目的[2,3]。然而在實(shí)際應(yīng)用中,當(dāng)前粗粒度的資源分配技術(shù)還存在虛擬機(jī)分散配置、資源浪費(fèi)等缺陷,并且隨著云端用戶數(shù)量的增加,缺陷越來越明顯,導(dǎo)致資源利用率低和運(yùn)營成本高[4-6]。
為了解決虛擬機(jī)分配問題,有學(xué)者采用啟發(fā)式算法找到資源的最優(yōu)分配方案,并通過虛擬機(jī)遷移方法解決虛擬機(jī)分散問題[7],但只考慮RAM和CPU等參數(shù),在參數(shù)增加情況下,計算的復(fù)雜度急劇增加[8]。在此基礎(chǔ)上,有學(xué)者綜合考慮CPU、RAM、帶寬等條件,采用啟發(fā)式算法進(jìn)行求解[9];文獻(xiàn)[10]兼顧用戶偏好與任務(wù)特點(diǎn),構(gòu)建了面向任務(wù)的資源分配算法,文獻(xiàn)[11]提出了在線預(yù)測的資源分配算法技術(shù),根據(jù)預(yù)測結(jié)果對虛擬機(jī)進(jìn)行提前配置,響應(yīng)時間快,但預(yù)測精度低,難以實(shí)現(xiàn)資源的合理分配[12]。
針對當(dāng)前資源分配算法存在虛擬機(jī)分配不合理、預(yù)測精度低等難題,構(gòu)建了基于傅里葉變換和支持向量機(jī)的云計算資源分配算法,實(shí)結(jié)果表明,該算法提高了虛擬機(jī)資源的利用率。
對于訓(xùn)練集{(xi,yi)},采用支持向量機(jī)建立線性回歸函數(shù),如式(1)。
(1)
SVM回歸優(yōu)化目標(biāo)為式(2)。
s.t.
(2)
式中,γ為懲罰參數(shù);ei為支持向量機(jī)的回歸誤差。
采用拉格朗日乘子αi將式(2)轉(zhuǎn)變?yōu)閷ε純?yōu)化問題,即有式(3)。
(3)
根據(jù)Mercer條件,核函數(shù)定義,為式(4)。
(4)
根據(jù)相關(guān)的研究,徑向基核函數(shù)可獲得更高的預(yù)測精度,具體為式(5)。
(5)
式中,σ為寬度參數(shù)。
對于非線性回歸問題,支持向量機(jī)的回歸函數(shù),為式(6)。
(6)

(7)
式中,r為采樣頻率。

(8)
隨機(jī)測試2個周期窗口的相似度,若Ui與Uj的皮爾遜相關(guān)系數(shù)接近1,就以周期Z(1)進(jìn)行改變,并通過動態(tài)時間歸整算法得到X(1)最近1個周期的資源需求序列,使其和當(dāng)前序列的映射距離最小,得到X(1)在t時刻的資源需求F(l)(t)。
若X(1)不具備周期性,則采用馬爾科夫鏈進(jìn)行分析,具體如下:

n=(Xlmax-Xlmin

(2) 各個時刻的資源需求量是不同的,采用數(shù)學(xué)統(tǒng)計法進(jìn)行求解,即式(9)。
(9)

(3) 設(shè)該馬爾科夫鏈?zhǔn)驱R次的,利用C-k方程得到t時間范圍內(nèi)每一個時刻的狀態(tài)概率,為式(10)。
(10)

(5) 綜合相上述,可以得到式(11)。
(11)
設(shè)Si為虛擬機(jī)vi的服務(wù)集合,vi在t時刻的資源需求預(yù)測結(jié)果,為式(12)。
(12)
當(dāng)前物理機(jī)可分配資源量為R,E(R(t,vi))與D(R(t,vi))表示t時間vi的資源使用量的期望與方差,Uadd表示補(bǔ)償值,其為D(R(t,vi))的線性函數(shù)。資源分配過程中,補(bǔ)償值與預(yù)測波動呈正相關(guān),根據(jù)虛擬機(jī)和p間的映射關(guān)系為:R(v,p)把相同p中的v排成1個調(diào)整隊列,資源分配算法的工作步驟如下:
(1) 對Q進(jìn)行遍歷,如果Si (2) 對Q2進(jìn)行遍歷,如果物理機(jī)剩下的資源R符合調(diào)整的條件,對Si進(jìn)行相應(yīng)調(diào)整,使其變?yōu)?R(t,vi))+Uadd,否則把虛擬機(jī)置于待調(diào)整的Q3之中。 (3) 對R進(jìn)行輪詢,如果R符合Q3對首元素的資源需求,繼續(xù)進(jìn)行資源調(diào)整。 (4) 如果當(dāng)前資源分配量大于預(yù)測值,則盡快回收資源,稱之為資源回收算法,其工作步驟為 (5) 對Q1進(jìn)行遍歷,如果當(dāng)前分配值大于預(yù)測值,把vi置于Q4之中,并且根據(jù)Si-(E(R(t,vi))+Uadd)對對Q4進(jìn)行升序排列。 (6) 對Q3進(jìn)行輪詢,如果其為空,則不進(jìn)行任務(wù)處理,否則調(diào)整Q4隊首的元素的資源,使其變成Ε(SX)+Uadd,間隔t0以后,接著進(jìn)行輪詢。 為全面分析本文算法的物理機(jī)的占用量、服務(wù)等級協(xié)議(service level agreement,SLA)等參數(shù),在CloudSim仿真平臺上與文獻(xiàn)[13]算法進(jìn)行了對比測試,數(shù)據(jù)來自于ClusterData2011,統(tǒng)計25臺虛擬機(jī)1個月負(fù)載的均值,選擇CPU利用率作為評價標(biāo)準(zhǔn),具體如表1所示。 表1 CPU狀態(tài)的取值范圍 本文算法和對比算法的虛擬機(jī)平均負(fù)載情況和物理機(jī)使用情況如圖1和圖2所示。對圖1和圖2進(jìn)行分析可以得到如下結(jié)論。 (1) 對比算法的平均負(fù)載為均衡,存在大量的低負(fù)載,而合理負(fù)載與高負(fù)載相對較少,本文算法合理負(fù)載較多,高負(fù)載和低負(fù)載偏少,有效了提高了虛擬機(jī)資源的利用率。 (2) 開始階段虛擬機(jī)分配了12臺物理機(jī),工作時間的增加,對比算法的物理機(jī)不斷增多,使得資源占用率相應(yīng)上升,降低了資源利的用率。 圖1 虛擬機(jī)的平均負(fù)載情況 圖2 物理機(jī)使用情況 (3) 本文算法的物理機(jī)數(shù)目不是始終處于一種上升狀態(tài),開始階段所占物理機(jī)和開始階段相似,隨著時間增加,占用物理機(jī)的數(shù)量慢慢下降,這是由于開始階段資源分配根據(jù)峰值確定,導(dǎo)致物理機(jī)的占用率相對較高。 (3) 隨著仿真時間的不斷延長,可根據(jù)具體服務(wù)特點(diǎn)對物理機(jī)占用的數(shù)量進(jìn)行調(diào)整,使各虛擬機(jī)的資源利用率處于一種理想狀態(tài),虛擬機(jī)占用物理機(jī)的數(shù)量慢慢減小,本文算法和對比算法物理機(jī)占用的數(shù)量大約為8與17個。 在0~30天內(nèi),本文算法和對比算法違反次數(shù)如圖3所示。 圖3 違反SLA次數(shù)比較 從圖3可知,本文算法違反SLA的次數(shù)很少,幾乎沒有,而且對比算法每周內(nèi)均會出現(xiàn)違反SLA現(xiàn)象,對比結(jié)果表明,本文算法可以有效避免違反SLA問題的發(fā)生,具有更好的安全性。 針對當(dāng)前云計算系統(tǒng)分配法存在的不足,提出了傅里葉變換和支持向量機(jī)的云計算資源預(yù)測分配算法,分別采用傅里葉變換和支持向量機(jī)對周期性和非周期性的服務(wù)資源需求分析和預(yù)測,并根據(jù)預(yù)測結(jié)果實(shí)現(xiàn)虛擬機(jī)資源分配,對比實(shí)驗結(jié)果,相對于當(dāng)前其它算法,本文算法提高了服務(wù)資源需求的預(yù)測精度和資源利用率,有效防止了出現(xiàn)違反SLA現(xiàn)象,能夠為用戶體驗提供良好的保障。 [1] Armbrust M, Fox A, Uriffith R, et al. A view of cloud computing [J]. Communications of the ACM, 2010, 53(4):50-58. [2] Duan Qiang, Yan Yu Hong, Vasilakos A V. A survey on service oriented network virtualization toward convergence of networking and cloud computing [J]. IEEE Transactions on Network and Service Management, 2012, 9(4): 373-392. [3] 秦志光,柯濤,劉夢娟,王聰. 面向云平臺的資源分配策略研究[J]. 計算機(jī)應(yīng)用, 2013, 33(2):299-303,307. [4] 華夏渝,鄭駿,胡文心. 基于云計算環(huán)境的蟻群優(yōu)化計算資源分配算法[J]. 華東師范大學(xué)學(xué)報(自然科學(xué)版), 2010, 1: 127-134.. [5] Zhou Fangfei, Goel M, Desnoyers P, et al. Scheduler vulnerabilities and coordinated attacks in cloud computing [J]. Journal of Computer Security, 2013, 21(4): 533-559. [6] Uarg S K, Versteeg S,Buyya R. A framework for ranking of cloud computing services[J]. Future Veneration Computer Systems, 2013, 29(4):1012-1023. [7] 馮光升, 趙曉宇, 馬軍, 等. 基于混合預(yù)測的云平臺資源自適應(yīng)分配方法[J]. 計算機(jī)科學(xué)與探索, 20105, 9(10):1172-1179. [8] Lin J W, Chen C H, Chang J M. QoS-aware data replication for data intensive applications in cloud computing systems[J]. IEEE Transactions on Cloud Computing, 2013, 1(1): 101-115. [9] 王倩,石振國,孫萬捷,等. 基于PEPA的云計算資源分配算法性能評價 [J]. 計算機(jī)應(yīng)用研究, 2015, 32(4): 1179-1183. [10] 方曉平,陳年生,郭宇,等. 云計算資源分配策略研究[J]. 湖北師范學(xué)院學(xué)報(自然科學(xué)版), 2013, 33(4): 56-61. [11] 劉文娟,陳華平,郝尚剛,等. 云平臺下滿足任務(wù)截止時間的資源分配策略[J]. 計算機(jī)工程, 38(6): 60-63. [12] 朱匆,劉元君,彭自然,等. 移動云計算中基于協(xié)作式博弈模型的資源分配方案[J]. 計算機(jī)應(yīng)用研究, 2014, 31(3): 912-916. [13] 李衛(wèi)平,武海燕,楊杰,等. 基于效益博弈的云計算資源動態(tài)可協(xié)調(diào)分配策略研究[J]. 計算機(jī)工程與科學(xué), 2016, 38(1): 57-61. Resource Allocation of Cloud Computing Based on Fourier Transform and Support Vector Machine Xie Zhijun (School of Software,Changzhou College of Information Technology,Changzhou 213164,China) Because the cloud platform resource utilization rate is not high, accurate prediction of the variation of resources lacks, based on hybrid prediction of cloud platform resource an allocation method is designed. The service sources are divided into period service and nonperiod service according to the characteristics of cloud service resource. Fourier transform is used to analyze the period service source, and support vector machine is used to deal with nonperiod ones. Resouces are allocated based on predicted results and comparason is completed to meauere the operatability and optimzation. Experimental results show that the method can improve utilization rate of virtual machine resources, and reduce the number of service-level agreement violations. cloud computing; resource allocation; Fourier transform; support vector machine 解志君(1977-),男,碩士,講師,研究方向:計算機(jī)軟件技術(shù)、移動軟件開發(fā)技術(shù)、職業(yè)教育教學(xué)研究,常州 213164 1007-757X(2017)01-0074-03 TP311 A 2016.08.30)4 實(shí)驗結(jié)果及分析




5 總結(jié)