王 焱
(漢江師范學院 教育系, 湖北 十堰 442000)
基于SLA的云計算資源智能調(diào)度實驗設計
王 焱
(漢江師范學院 教育系, 湖北 十堰 442000)

為了更好地提高云計算資源的利用率,設計了基于服務等級協(xié)議(Service-Level Agreement, SLA)的云計算資源智能調(diào)度實驗,從分配成本、遷移成本和違約成本三方面構造了云計算資源智能調(diào)度的成本函數(shù),并將蝙蝠算法應用到云計算資源智能調(diào)度過程中,進行資源智能調(diào)度尋優(yōu),達到資源調(diào)度代價最小的目的。最后通過CloudSim云平臺進行模擬仿真,結果表明該實驗方法明顯優(yōu)于傳統(tǒng)的粒子群調(diào)度算法,在執(zhí)行成本、資源利用率方面都有很大改進,提高了云計算系統(tǒng)的資源調(diào)度能力,是一種有效的調(diào)度方法。
云計算; 服務等級協(xié)議; 調(diào)度; 蝙蝠算法; 虛擬
云計算是一種新興的信息處理模式,以按需方式向用戶提供動態(tài)可擴展的資源,極大地提高了資源的利用率,并滿足用戶對計算能力、存儲空間和信息處理的多元化需求。云計算涵蓋了分布式處理、并行處理和網(wǎng)格計算,通過虛擬化技術對底層千差萬別的資源進行統(tǒng)一管理和調(diào)度。當前云服務的計算量越來越大,并且云計算資源具有的動態(tài)可伸縮特點,云計算資源調(diào)度策略成為影響云計算服務性能的關鍵因素,因此建立高效、合理的資源調(diào)度模型對提高云計算服務性能至關重要。
云平臺利用虛擬化技術,將物理資源重新整合,提高了資源的高服務性和可用性[1]。由于云計算系統(tǒng)處于一個動態(tài)的環(huán)境中,用戶群體龐大,其資源需求處于動態(tài)變化中,利用合理的資源調(diào)度方案保證滿足用戶需求的同時發(fā)揮服務資源利用率的最大化,是一項具有挑戰(zhàn)性的工作。當前主要的云資源調(diào)度方法可以分類兩類:(1) 基于傳統(tǒng)的任務調(diào)度方法,如Min-Min算法、Max-Min算法等;(2) 基于群體智能的調(diào)度算法,如遺傳算法、粒子群算法等智能算法。針對云計算的資源調(diào)度問題,不少學者進行了相關研究,并取得了一定的成果。田宏偉等提出了一種基于粒子群優(yōu)化算法的資源調(diào)度方案,利用資源代理價格調(diào)整到達合理利用資源的目的[2];徐文忠等提出基于遺傳算法的云計算資源調(diào)度策略,主要根據(jù)歷史數(shù)據(jù)和系統(tǒng)的當前狀態(tài),利用遺傳算法使資源達到最佳負載均衡或者減少動態(tài)遷移[3]。張翼飛等[4]提出基于SLA和雙向拍賣機制的云計算服務資源調(diào)度,通過分配函數(shù)和支付函數(shù)進行激勵約束,達到服務商利潤的最大化。孫大為等提出了基于免疫克隆的多維QoS云資源調(diào)度優(yōu)化方法,通過多維QoS優(yōu)化的目標函數(shù)和免疫克隆算法實現(xiàn)云資源調(diào)度[5];徐昕[6]提出了基于博弈論的云計算資源調(diào)度方法,通過逆向歸納法思想學習解決該云資源調(diào)度中存在的資源分配不公平和資源利用率不足等問題。以上研究大多以降低系統(tǒng)能耗或減少系統(tǒng)處理時間為目標進行資源調(diào)度,本文提出了基于SLA的云計算資源調(diào)度方法,通過蝙蝠算法進行自適應資源調(diào)度,滿足用戶多樣化需求的同時充分提高服務資源的利用率,并節(jié)省了操作成本。
云計算的核心是資源管理,實現(xiàn)資源的調(diào)度與分配,確保存儲空間、計算能力、數(shù)據(jù)傳輸速率等資源的合理利用,其效率高低影響云計算系統(tǒng)的性能。從云計算服務提供商角度看云計算資源調(diào)度主要是提高數(shù)據(jù)中心資源使用效率,降低云數(shù)據(jù)中心正常運行成本。從用戶角度看云計算資源調(diào)度主要是在保證用戶服務質量的前提下利用較少花費獲取服務。云計算資源調(diào)度的主要目的是云服務提供商根據(jù)SLA約定的服務質量等級對資源進行重新優(yōu)化配置,保證用戶獲取高質量服務,同時實現(xiàn)資源服務商的最大收益。SLA是關于網(wǎng)絡服務供應商和客戶間的一份合同,其中定義了服務類型、服務質量和客戶付款等術語[7-8]。云計算服務商為客戶提供服務時會和用戶簽定SLA協(xié)議,以保證雙方的利益最大化。
基于SLA的云計算資源調(diào)度模型中主要包括SLA管理、用戶交互、虛擬資源調(diào)度、虛擬資源和物理基礎設施5個模塊。基于SLA的云計算資源調(diào)度模型如圖1所示。
客戶通過終端設備向云端發(fā)送請求,同時傳送虛擬機的計算力、存儲空間、網(wǎng)絡帶寬等SLA協(xié)議屬性。SLA管理模塊對SLA各項參數(shù)進行優(yōu)化管理,包括SLA定義、SLA協(xié)商、SLA調(diào)整等方面;用戶交互模塊主要完成對用戶的身份進行驗證,并對其請求的虛擬資源類型、數(shù)量及其要求進行判斷。資源調(diào)度模塊包括調(diào)度算法、注冊中心、監(jiān)控中心和管理中心。注冊中心的主要功能是負責云數(shù)據(jù)中心集群的管理,監(jiān)控中心負責監(jiān)控資源使用情況,資源管理中心負責對物理資源及虛擬資源進行管理,包括虛擬單元的創(chuàng)建、刪除等。基于SLA的云計算資源調(diào)度模型的主要優(yōu)點在于考慮了云服務提供商和用戶雙方的利益,有利于發(fā)揮云資源的利用效率。

圖1 基于SLA的云資源調(diào)度模型
基于SLA的云計算智能資源調(diào)度模型中將SLA參數(shù)作為資源調(diào)度的開銷參數(shù),在滿足服務企業(yè)和用戶在服務質量、性能等方面達成的協(xié)議的前提下,使調(diào)度數(shù)據(jù)中心資源更高效,并且使系統(tǒng)的操作成本最小[9-11]。設用戶請求R={uid,input,output,tn},uid表示用戶標識符,input表示用戶的輸入?yún)?shù),output表示用戶的輸出參數(shù),tn表示任務數(shù);虛擬資源VM={mid,type,cost},mid表示虛擬資源標識符,type表示虛擬資源類型,cost表示耗用虛擬資源花費成本;服務器資源P={pid,state,exp },pid表示服務器標識符,state表示服務器狀態(tài),exp表示服務器開銷。則云服務供應商提供服務產(chǎn)生的總成本主要由以下3部分組成:
(1) 云服務供應商為客戶分配虛擬機資源會產(chǎn)生的成本與服務器運行時開銷、客戶使用服務的時間等因素有關,其分配虛擬機資源成本為:
(1)

(2) 云服務供應商為客戶提供服務的過程中,用戶服務處于空閑狀態(tài)時,可以通過虛擬機遷移技術,使虛擬機集中在少量的物理機上,使沒有任何虛擬機的物理機處于低耗狀態(tài),另外當資源利用率超過上限閾值物理機上限時,通過虛擬機遷移技術使云服務符合SLA協(xié)議。虛擬機遷移產(chǎn)生的花費為
(2)

(3) 當云服務供應商因違反SLA協(xié)議規(guī)定會產(chǎn)生違約成本,違約成本由云服務供應商與用戶協(xié)商確定,通過違約程度、違約費用相關,計算方法為
(3)
式中:β為違約程度;Timn為完成請求n的延遲時間,costn為違約費用。
在整個任務調(diào)度過程中主要目的是在滿足用戶需求的情況下要求開銷成本值TotalCost最小,TotalCost的計算式為
TotalCost=ALcost+MIRcost+
VIOLcost
(4)
綜合以上各種因素考慮,基于SLA的云計算資源調(diào)度轉換為求TotalCost函數(shù)值的最小值。
資源智能調(diào)度算法采用蝙蝠算法實現(xiàn),蝙蝠算法是劍橋大學學者Xin-she Yang通過模擬蝙蝠回聲定位行為提出的一種新型優(yōu)化算法,該算法是一種基于種群的隨機尋優(yōu)算法,蝙蝠個體是蝙蝠算法的基本單元,蝙蝠群體的運動是一個從無序到有序的演變過程,將蝙蝠的飛行移動過程類比為搜索目標最優(yōu)解的過程,每個優(yōu)化問題的解就是搜索可行空間的一個蝙蝠[12-14]。
3.1 任務劃分和編碼
(1) 任務劃分。采用任務-資源方式編碼,由最大子任務的數(shù)量決定編碼長度,假定有n個任務,m個資源,每個任務又劃分為多個小任務,其任務劃分矩陣為
任務劃分矩陣第1行代表第1個任務的劃分,最后一行代表第n個任務的劃分,子任務的編號表示為:
(5)
式中:sn(k)表示第k個任務劃分的子任務數(shù);i表示任務編號;j代表子任務編號。
(2) 任務編碼。基于蝙蝠算法的云計算調(diào)度中對蝙蝠個體進行合理編碼是解決問題的關鍵。對具有n個子任務的調(diào)度問題,采用2n維空間表示計算資源的分配及任務的執(zhí)行順序。假定有n個子任務,記為T={t1,t2,…,tn};m個計算資源,記為M={VR1,VR2,…,VRm},其中子任務總數(shù)大于計算資源數(shù),編碼規(guī)定1到n維分量表示子任務對應的計算資源,n+1~2n維表示該資源上子任務的執(zhí)行順序。采用2n維空間表示子任務的分配及執(zhí)行順序,子任務資源分配與執(zhí)行順序對應關系清晰,資源調(diào)度方便。例如,當存在8個子任務,3個計算資源,如果子任務編碼為(1,1,1,2,2,2,3,3, 3,2,1,2,3,1,1,2),表示的含義前8位表示任務與資源的對應關系,后8位表示每個執(zhí)行順序,具體為:VR1:t3-t2-t1;VR2:t6-t4-t5;VR3:t7-t8。
3.2 適應度函數(shù)計算
蝙蝠的適應度函數(shù)評價蝙蝠位置的性能,根據(jù)開銷代價設計適應度函數(shù):
f(t)=Totalcost=ALcost+
MIRcost+VIOLcost
(6)
3.3 算法步驟
(1) 接收用戶的任務,并劃分成子任務,每個子任務的規(guī)模基本一致,生成蝙蝠種群,并確定目標函數(shù)f(x),初始化種群中每個蝙蝠的脈沖頻率f、位置X、脈沖響度A、脈沖發(fā)射速率r和最大迭代數(shù)n等參數(shù)。
(2) 按照個體編碼隨機生成蝙蝠位置,并根據(jù)頻度調(diào)整蝙蝠的位置X和速度v。
(3) 產(chǎn)生一個隨機數(shù)rand,如果大于脈沖發(fā)射速率ri,則對當前群體中最佳蝙蝠位置進行隨機擾動得到替換當前蝙蝠的位置。否則,如果小于脈沖發(fā)射速率,并且f(xi) (4) 根據(jù)適應度函數(shù)對蝙蝠進行排列,獲取蝙蝠當前最佳位置。 (5) 如果沒有滿足結束條件則返回(2),如果滿足則輸出開銷代價最小的最優(yōu)解。 為了驗證基于SLA參數(shù)的云資源調(diào)度算法的有效性,采用Cloudsim3.0云平臺軟件進行模擬實驗。Cloudsim是由澳大利亞墨爾本大學和Gridbus共同開發(fā)的云仿真平臺,支持云平臺的基礎架構虛擬引擎和資源調(diào)度等功能,是當前常用的云仿真平臺。實驗環(huán)境為Windows7操作系統(tǒng),處理器為Pentium Dual2.6 GHz,內(nèi)存為3GB。對Cloudlet平臺進行擴展,重寫DatacenterBroker,Cloudlet等類。 4.1 實驗參數(shù)設置 在本仿真實驗中,對CloudSim模擬器參數(shù)進行設置,調(diào)度算法中的參數(shù)設置如表1所示。 表1 仿真實驗參數(shù)表 4.2 結果對比 根據(jù)以上參數(shù),從資源調(diào)度的執(zhí)行成本和資源利用率兩個性能指標,對比了粒子群調(diào)度算法和基于SLA的云計算資源調(diào)度方法的調(diào)度效果,對該兩種方法分別進行50次測試,兩個性能指標的實驗結果取平均值,其具體對比效果分別如圖2、3所示。 圖2 執(zhí)行成本對比 圖2顯示當任務量較少時,在執(zhí)行同樣的任務情況下,基于SLA的云計算資源調(diào)度方法執(zhí)行成本明顯優(yōu)于粒子群調(diào)度方法。隨著任務數(shù)量的增加,任務間競爭更加激烈,沖突概率變大,兩種算法執(zhí)行都有一定程度的增加,但資源調(diào)度方法具有明顯的優(yōu)勢,說明通過基于SLA利于蝙蝠算法全局尋優(yōu),實現(xiàn)了云計算資源智能調(diào)度,降低了執(zhí)行成本。 圖3反映了在不同任務數(shù)時資源利用率對比情況,顯示基于SLA的云計算資源調(diào)度方法比粒子群調(diào)度算法的資源利用率在不同任務數(shù)時都有一定程度的提高,說明云計算資源智能調(diào)度實驗考慮了基于SLA云計算智能調(diào)度的分配成本、遷移成本和違約成本,有利于更充分的利用現(xiàn)有資源,提高資源的利用率。 圖3 資源利用率對比 當前,云計算引發(fā)了醫(yī)療、商業(yè)、軍事、教育領域的變革,發(fā)揮著越來越重要的作用,云計算資源調(diào)度問題研究受到了廣泛的重視[15]。本文主要對云資源調(diào)度問題進行了研究,提出了基于SLA的云計算資源智能調(diào)度方法,提高了云計算系統(tǒng)的資源調(diào)度能力,達到資源調(diào)度執(zhí)行成本最小的目的,仿真結果表明了該方法的有效性,下一步應進一步優(yōu)化仿真實驗方案,考慮迭代次數(shù)對結果的影響。 [1] 柴亞輝,涂春萍,劉覺夫,等.基于云計算的計算機與軟件實驗資源管理[J].實驗室研究與探索,2010,29(10):254-256. [2] 田宏偉,解 福,倪俊敏.云計算環(huán)境下基于粒子群算法的資源分配策略[J].計算機技術與發(fā)展,2011,21(12):22-25. [3] 徐文忠,彭志平,左敬龍.基于遺傳算法的云計算資源調(diào)度策略研究[J].計算機測量與控制,2015,23(5):1653-1656. [4] 張翼飛,楊 斌.基于SLA和雙向拍賣機制的云計算服務資源分配[J].計算機測量與控制,2014,22(4):1285-1290. [5] 孫大為,常桂然,李鳳云.一種基于免疫克隆的偏好多維QoS云資源調(diào)度優(yōu)化算法[J].電子學報,2011,39(8):1824-1830. [6] 徐 昕.基于博弈論的云計算資源調(diào)度方法研究[D].上海:華東理工大學,2015. [7] 于珊珊,陳冬林,李 偉.基于SLA的云計算多數(shù)據(jù)中心任務調(diào)度算法[J].武漢理工大學學報(信息與管理工程版),2014,36(3):345-349. [8] 趙聘婷,韓 臻,何永忠.基于SLA的云計算動態(tài)信任評估模型[J].北京交通大學學報,2013,37(5):80-88. [9] 劉 飛,羅永龍,郭良敏,等.面向個性化云服務基于用戶類型和隱私保護的信任模型[J].計算機應用,2014.34(4):994-998. [10] 馮小靖,潘 郁.云計算環(huán)境下的DPSO 資源負載均衡算法[J].計算機工程與應用,2013,49( 6):105-108. [11] 李 喬,鄭 嘯.云計算研究現(xiàn)狀綜述[J].計算機科學,2011,38(4):32-37. [12] 李枝勇,馬 良,張惠珍.蝙蝠算法在多目標多選擇背包問題中的應用[J].計算機仿真,2013,30(10):350-353. [13] 金偉健,王春枝.基于蝙蝠算法的云計算資源分配研究[J].計算機應用研究,2015,32(4):1184-1187. [14] 李 煜,馬 良.新型全局優(yōu)化蝙蝠算法[J].計算機科學,2013,40(9):225-228. [15] 李 強,郝沁汾,肖利民.云計算中虛擬機放置的自適應管理與多目標優(yōu)化[J].計算機學報,2011,34( 12):2253-2264. Design of Cloud Computing Resource Intelligent Scheduling Experiment Based on SLA WANGYan (Department of Education, Hanjiang Normal University, Shiyan 442000, Hubei, China) In order to better improve the resources utilization rate of cloud computing,the resource intelligent scheduling experiment of cloud computing based on SLA is designed, and the cloud computing resources expensive function is structured on three aspects of distribution costs, migration costs and breach costs. Furthermore, the bat algorithm is applied to the cloud computing resource scheduling process for resource scheduling optimization, so as to achieve the minimum cost goal. Finally, the scheduling method is simulated in the CloudSim cloud platform, the experiment shows that the method is better than the traditional particle swarm scheduling algorithm , which is an effective cloud computing resource scheduling method. cloud computing; service level agreement; scheduling; bat algorithm; virtualization 2016-03-24 湖北省教育廳重點科研項目(D20145001) 王 焱(1980-),女,甘肅天水人,碩士,副教授,現(xiàn)主要從事信息技術研究。 Tel.:15997827125; E-mail:wangyanwsr@163.com TP 391 A 1006-7167(2017)01-0123-044 實驗結果及分析



5 結 語