雷 潔,鄂雪妮,桂雁軍
(1.武漢理工大學(xué)經(jīng)濟(jì)學(xué)院,湖北武漢430070;2.福建新奇特車業(yè)服務(wù)有限公司上海分公司,上海201824)
云計算資源調(diào)度指的是在特定的云環(huán)境中,根據(jù)云計算資源使用規(guī)則,在滿足用戶任務(wù)需求和QoS需求的情況下,對不同用戶所使用的資源進(jìn)行動態(tài)調(diào)整和分配的過程,并且通過這種調(diào)度,實現(xiàn)云計算資源的優(yōu)化配置[1]。IaaS資源提供商擁有分布廣泛的數(shù)據(jù)中心,其中包含種類多樣的資源,面對實時動態(tài)變化的用戶需求以及需要考慮的系統(tǒng)性能和成本等因素使云計算的資源調(diào)度問題非常復(fù)雜。
云服務(wù)提供商和用戶通常需要通過協(xié)商談判簽訂服務(wù)等級協(xié)議(SLA)來保證自身利益和服務(wù)質(zhì)量[2]。在SLA中規(guī)定了服務(wù)的響應(yīng)時間,數(shù)據(jù)的安全保障等QoS的內(nèi)容以及計費付費模式等,可以說SLA是評判云服務(wù)的標(biāo)準(zhǔn),也是各商業(yè)角色最關(guān)注的環(huán)節(jié)之一[3-4]。但是云計算大規(guī)模集群式的服務(wù)器模式、基礎(chǔ)設(shè)施的異構(gòu)性,以及服務(wù)類型的多樣性,導(dǎo)致系統(tǒng)中資源狀態(tài)變化頻繁進(jìn)而無法按時按量地提供服務(wù),造成SLA違約。
基于SLA的調(diào)度技術(shù)是用以滿足簽署的SLA中指定的服務(wù)質(zhì)量等級而支持資源提供商對資源進(jìn)行重新配置資源,并且根據(jù)SLA的不同,基于SLA的調(diào)度必須根據(jù)其優(yōu)先級來區(qū)分用戶的重要度。文獻(xiàn)[5]全面提出的云環(huán)境中面向SLA的資源管理包括用戶驅(qū)動的服務(wù)管理、計算風(fēng)險管理、自動化的資源管理,能進(jìn)行面向SLA的資源分配、定義服務(wù)的基準(zhǔn)和進(jìn)行服務(wù)測量以及評價。文獻(xiàn)[6]提出了一種最小化系統(tǒng)能耗并滿足用戶服務(wù)水平協(xié)議的啟發(fā)式調(diào)度方法。而從IaaS提供商的角度,文獻(xiàn)[7]就事物型負(fù)載和非交互型批量負(fù)載定義了負(fù)載模型、SLA模型和懲罰模型。在利用BF算法的工作量預(yù)測模型的基礎(chǔ)上對兩種負(fù)載爭奪資源的情況下提出了任務(wù)準(zhǔn)入控制和虛擬機(jī)調(diào)度策略。
從正在研究的系統(tǒng)來看,SLA@SOI是歐盟的一個聯(lián)合項目[8],主要研究在規(guī)范的SLA基礎(chǔ)上如何管理面向服務(wù)的基礎(chǔ)設(shè)施,設(shè)計出基于SLA的 SOI架構(gòu)和服務(wù)管理架構(gòu)[9]。FOSII[10]系統(tǒng)管理過程基于一個MAPE[11]的生命周期分別為監(jiān)測、分析、計劃和執(zhí)行,能實現(xiàn)一個自動化的基于SLA的服務(wù)管理。該系統(tǒng)主要包括LAYSI框架和LoM2HiS框架[12],前者實現(xiàn)SLA協(xié)議的協(xié)商建立與服務(wù)部署,后者實現(xiàn)對SLA指標(biāo)的監(jiān)測和映射。
在實際資源服務(wù)提供商方面,近年來也出現(xiàn)了若干通過SLA技術(shù)實現(xiàn)IaaS層QoS保證機(jī)制的商用云計算系統(tǒng)或平臺,主要包括Amazon彈性EC2、GoGrid云平臺和Rackspac云平臺等。
綜上所述,現(xiàn)有研究在通過虛擬機(jī)遷移實現(xiàn)負(fù)載均衡時往往以降低系統(tǒng)能耗或減小系統(tǒng)處理時間為目標(biāo),且現(xiàn)有的IaaS層的資源調(diào)度沒有區(qū)別不同數(shù)據(jù)中心的使用成本,無法實現(xiàn)IaaS資源服務(wù)提供商在保證任務(wù)的QoS同時獲得最大的收益。因此,研究基于SLA的云計算資源調(diào)度機(jī)制在理論和現(xiàn)實上具有重要的意義。
為解決面向動態(tài)的環(huán)境如何根據(jù)用戶定制的SLA管理、分配和調(diào)度資源來保證資源服務(wù)的QoS,并實現(xiàn)IaaS資源提供商擁有的多數(shù)據(jù)中心任務(wù)調(diào)度及負(fù)載均衡等問題,提出了基于SLA管理的云計算資源調(diào)度框架,該框架包含4個主要部分,分別是任務(wù)調(diào)度模塊、負(fù)載均衡模塊、SLA管理模塊和資源服務(wù)QoS模塊。在SLA的管理下,能夠在保證資源服務(wù)的QoS同時最大化IaaS資源提供商利益,可以在需要時觸發(fā)負(fù)載均衡模塊,優(yōu)化數(shù)據(jù)中心性能,提高資源利用率?;赟LA管理的云計算資源調(diào)度框架如圖1所示。
圖1 基于SLA管理的云計算資源調(diào)度框架圖
在傳統(tǒng)Web服務(wù)的QoS特性以及網(wǎng)絡(luò)服務(wù)的基礎(chǔ)上,同時考慮IaaS層所提供資源服務(wù)的特點,設(shè)計了具有一定特性的QoS模型,該模型具有適合于云資源服務(wù)的QoS特性,這些特性具體包括以下6個方面:服務(wù)時間、服務(wù)代價、可靠性、可控性、易用性和安全性。
(1)服務(wù)時間,即響應(yīng)時間、執(zhí)行時間、運(yùn)行時間和故障恢復(fù)時間。
(2)服務(wù)代價,即服務(wù)費用(按需運(yùn)行、保留宗制、現(xiàn)貨定價)。
(3)可靠性,即可用性、適合性、可擴(kuò)展性、可預(yù)測性、易恢復(fù)性和成功率。
(4)可控性,即可調(diào)整性、可告知性、可分析性、目檢性和文檔水平。
(5)易用性,即易理解性、易操作性、易部署性和標(biāo)準(zhǔn)性。
(6)安全性,即數(shù)據(jù)隔離性、權(quán)限和冗余配置。
在IaaS層的調(diào)度需要考慮的是,一個IaaS資源服務(wù)提供商設(shè)有許多個數(shù)據(jù)中心,雖然每個數(shù)據(jù)中心有能提供同樣資源服務(wù)的虛擬機(jī),但因為數(shù)據(jù)中心的位置、主機(jī)的資源可用性等客觀因素會使不同數(shù)據(jù)中心資源提供的成本不同。不同的任務(wù)SLA規(guī)定的QoS指標(biāo)不同,IaaS層調(diào)度既要考慮盡量滿足任務(wù)的SLA,又要實時保證接收每一個任務(wù)獲得的接收收益最大。筆者以此為基礎(chǔ)提出了基于SLA的多云數(shù)據(jù)中心任務(wù)調(diào)度機(jī)制,通過建立一個全面的效益模型、一個有效的任務(wù)準(zhǔn)入控制策略來指導(dǎo)任務(wù)調(diào)度機(jī)制,進(jìn)而實現(xiàn)在SLA的約束下通過尋找最小成本的調(diào)度選擇,使IaaS資源服務(wù)提供商獲得最大的收益。
基于SLA的多云數(shù)據(jù)中心任務(wù)調(diào)度模塊包括任務(wù)調(diào)度效益分析和準(zhǔn)入控制模塊。通過分析任務(wù)請求,匹配已有的SLA信息庫,對該種任務(wù)的SLA進(jìn)行定義與轉(zhuǎn)換,根據(jù)任務(wù)的SLA進(jìn)行任務(wù)調(diào)度的效益分析,通過準(zhǔn)入控制器提供4種策略對任務(wù)請求的可能調(diào)度決策進(jìn)行比較,對比資源提供商的要求決定是否接受任務(wù)并最終將任務(wù)調(diào)度到最優(yōu)的數(shù)據(jù)中心虛擬機(jī)上。
在任務(wù)調(diào)度模塊提出了兩種獲得收益最大的任務(wù)調(diào)度思想,結(jié)合準(zhǔn)入控制分析策略,通過最大化虛擬機(jī)數(shù)量和重調(diào)度進(jìn)行任務(wù)在線調(diào)度。涉及的任務(wù)在線調(diào)度策略主要分為兩個部分,首先是任務(wù)的準(zhǔn)入控制機(jī)制,分析通過3種準(zhǔn)入控制策略預(yù)計最大接收收益是否大于期待的成本回報,如果大于則按照調(diào)度決策表執(zhí)行調(diào)度,否則拒絕該任務(wù),繼續(xù)判斷下一個任務(wù)執(zhí)行調(diào)度。
如果資源提供商可以通過減小成本使得收益最大化,那么通過最大化利用已經(jīng)開啟虛擬機(jī)的效用可以最小化開啟虛擬機(jī)數(shù)量。于是提出最小化虛擬機(jī)數(shù)量的最大收益任務(wù)調(diào)度策略的流程為:新任務(wù)到達(dá)時,首先依次對每個數(shù)據(jù)中心中開啟的需求虛擬機(jī)執(zhí)行等待策略,如果調(diào)度信息為拒絕操作,則執(zhí)行新開虛擬機(jī)策略,直到所有的數(shù)據(jù)中心執(zhí)行完畢,取調(diào)度列表中接收回報最大的執(zhí)行調(diào)度,并返回該調(diào)度表。
對于緊急并且預(yù)算高的任務(wù)不僅只執(zhí)行等待或開啟新虛擬機(jī)策略,而是可以通過重調(diào)度,將其按條件插入前一等待任務(wù)前,這樣可以利用最少的資源,以及最大的時間空閑,最大化地接受任務(wù)從而獲得高收益。為此提出基于重調(diào)度的收益最大化任務(wù)調(diào)度策略的流程為:新任務(wù)到達(dá)時,首先依次對每個數(shù)據(jù)中心中開啟的需求虛擬機(jī)進(jìn)行插入策略,同時執(zhí)行開啟新虛擬機(jī)策略,計算各自最大的單位時間接收利潤,直到所有的數(shù)據(jù)中心執(zhí)行完畢,取調(diào)度列表中接收回報最大的執(zhí)行調(diào)度,并返回該調(diào)度表。
負(fù)載均衡模塊主要包括資源監(jiān)控、負(fù)載預(yù)測、負(fù)載評價、遷移分析和虛擬機(jī)遷移模塊。資源監(jiān)控模塊在服務(wù)運(yùn)行時既要監(jiān)測服務(wù)的SLA指標(biāo)是否實現(xiàn),又要監(jiān)測虛擬機(jī)資源和主機(jī)資源的實時運(yùn)行情況并存入各自的信息庫。
針對不同的系統(tǒng)、不同的應(yīng)用需求,筆者提出了結(jié)合預(yù)測的資源負(fù)載均衡調(diào)度框架,實現(xiàn)在局部范圍內(nèi),在特定條件下,達(dá)到最優(yōu)的負(fù)載均衡。首先設(shè)計基于SLA的系統(tǒng)負(fù)載狀態(tài)評價方法,對虛擬機(jī)層和物理機(jī)層建立不同負(fù)載評價標(biāo)準(zhǔn);然后結(jié)合負(fù)載預(yù)測的方法,預(yù)先了解各主機(jī)負(fù)載變化趨勢;最后進(jìn)行基于SLA的虛擬機(jī)遷移效益分析,遷移對系統(tǒng)有益的虛擬機(jī),實現(xiàn)虛擬機(jī)的均衡調(diào)度。該框架包括負(fù)載均衡器,負(fù)載評價,負(fù)載預(yù)測,遷移估計,執(zhí)行虛擬機(jī)遷移5個步驟。在負(fù)載均衡調(diào)度觸發(fā)時,負(fù)載評價通過收集各節(jié)點負(fù)載信息和基于類型劃分的任務(wù)SLA信息對資源池中的虛擬機(jī)和物理機(jī)進(jìn)行負(fù)載評價。與此同時,從需要進(jìn)行負(fù)載均衡的熱點主機(jī)列表中,根據(jù)主機(jī)負(fù)載預(yù)測得到候選均衡主機(jī)列表,再在候選均衡主機(jī)列表中取出熱點虛擬機(jī),得到候選虛擬機(jī)遷移列表,然后遷移估計模塊對候選虛擬機(jī)遷移進(jìn)行遷移效益分析,通過計算此刻虛擬機(jī)列表中各類虛擬機(jī)上任務(wù)違反SLA的違約金,以及遷移代價,有選擇性地調(diào)度虛擬機(jī),并按照收益從高到低得出優(yōu)先級列表,根據(jù)優(yōu)先級列表的順序排列需要遷移的虛擬機(jī)到虛擬機(jī)遷移列表開始進(jìn)行負(fù)載均衡。
服務(wù)平均響應(yīng)時間是一段時間內(nèi)所有請求的響應(yīng)時間的平均值,可以用來衡量這段時間內(nèi)請求響應(yīng)時間的集中趨勢,是SLA協(xié)議中經(jīng)常用到的一種簡單的性能觀測和評估指標(biāo)。模塊中的SLA收益模型針對服務(wù)平均響應(yīng)時間進(jìn)行評估和計費,服務(wù)提供商只有滿足服務(wù)平均響應(yīng)時間這一性能指標(biāo)才能獲得應(yīng)得的收益,否則將受到一定的懲罰。
云計算數(shù)據(jù)中心的物理主機(jī)負(fù)載經(jīng)常處于動態(tài)變化中,當(dāng)一臺物理主機(jī)負(fù)載過大時,可以考慮增加主機(jī)來分擔(dān)重載主機(jī)的負(fù)載。然而,在沒有額外增加主機(jī)時,可以將重載主機(jī)運(yùn)行的虛擬機(jī)遷移到其他主機(jī),使整個數(shù)據(jù)中心主機(jī)的資源利用率得到均衡。
SLA管理模塊是資源調(diào)度的基礎(chǔ),管理存在于整個服務(wù)生命周期的SLA,與任務(wù)調(diào)度和負(fù)載均衡模塊交互,實現(xiàn)對用戶服務(wù)質(zhì)量的保證。
基于SLA管理的服務(wù)質(zhì)量保證過程針對IaaS平臺提供資源服務(wù)的過程和特點,通過使用SLA管理來實現(xiàn)。該過程包括SLA定義(模板),SLA協(xié)商、SLA配置(轉(zhuǎn)換執(zhí)行)、SLA監(jiān)測和SLA調(diào)整。除此之外SLA管理也與框架的其他功能模塊進(jìn)行交互,包括資源調(diào)度模塊、資源監(jiān)控模塊,并生成質(zhì)量評估報告。其過程如圖2所示。
圖2 基于SLA管理的服務(wù)質(zhì)量保證過程
(1)SLA定義。SLA的定義是資源提供商設(shè)計SLA模板的過程,SLA模板包括了服務(wù)的內(nèi)容和對服務(wù)質(zhì)量的保證條款,描述了服務(wù)質(zhì)量目標(biāo)(SLO)的組合及水平的描述。服務(wù)提供者將SLA模板存入SLA信息庫,用戶可以查找到適合自己業(yè)務(wù)需求的SLA模板。
(2)SLA協(xié)商。用戶有自己的QoS需求,資源提供商也有自己最大可能提供的服務(wù)保證。資源提供商和用戶對資源服務(wù)的水平進(jìn)行協(xié)商,將用戶選擇的SLA模板細(xì)化成某一服務(wù)的SLA包含具體的QoS特性及其指標(biāo),針對這一服務(wù)的SLA選擇協(xié)商就是這個過程。同時,對服務(wù)質(zhì)量等參數(shù)的約束以及違約的懲罰措施等也可以用SLA來描述。
(3)SLA轉(zhuǎn)換執(zhí)行。資源提供商根據(jù)協(xié)定的SLA的內(nèi)容,把高層次用戶級別的SLA變?yōu)榈蛯哟蔚馁Y源管理級別的SLA。也就是說,把合約中規(guī)定的服務(wù)水平轉(zhuǎn)換成服務(wù)的配置條件、服務(wù)運(yùn)行過程中所使用的各種資源的要求,并對相關(guān)優(yōu)先級進(jìn)行設(shè)置。轉(zhuǎn)換后的指標(biāo)將作為資源管理和調(diào)度決策的依據(jù),并為SLA監(jiān)測提供監(jiān)測標(biāo)準(zhǔn)。
(4)SLA監(jiān)測。SLA監(jiān)測負(fù)責(zé)在運(yùn)行時監(jiān)控SLA參數(shù),主要包括一些功能特性、執(zhí)行時間和響應(yīng)時間等監(jiān)測內(nèi)容,然后比較與已協(xié)商的服務(wù)等級目標(biāo)的一致性程度,并進(jìn)行SLA違例記錄以及SLA違例的預(yù)警,同時生成質(zhì)量報告提供性能優(yōu)化依據(jù)。
(5)SLA調(diào)整。當(dāng)SLA違例情況經(jīng)常發(fā)生時,SLA調(diào)整模塊會通知用戶增加資源數(shù)量。在某些SLA參數(shù)指標(biāo)定義不合理導(dǎo)致雙方利益不能滿足的情況下,SLA調(diào)整模塊會及時通知SLA定義模塊修改SLA模板內(nèi)容。
在以商業(yè)動作為導(dǎo)向的云計算中,資源調(diào)度策略同時要考慮經(jīng)濟(jì)效益、資源利用和服務(wù)質(zhì)量等各方面的因素。云服務(wù)提供商和用戶通常需要通過協(xié)商談判簽訂服務(wù)等級協(xié)議(SLA)來保證自身利益和服務(wù)質(zhì)量。基于SLA的云計算資源調(diào)度機(jī)制面向資源服務(wù)提供商根據(jù)用戶定制的SLA管理、分配和調(diào)度資源來保證用戶在有限的預(yù)算內(nèi)獲得較高的服務(wù)質(zhì)量的同時實現(xiàn)自己在SLA的約束下獲得最大的收益。
[1]林偉偉,齊德昱.云計算資源調(diào)度研究綜述[J].計算機(jī)科學(xué),2012,39(10):1 -6.
[2]PATEL P,RANABAHU A,SHETH A.Service level agreement in cloud computing[J].Cloud Workshops at OOPSLA,2009,1(1):23 -29.
[3]王小鵬,張洪良,石啟良.云計算環(huán)境下的服務(wù)等級協(xié)議管理[J].電信快報:網(wǎng)絡(luò)與通信,2012(5):19 -23.
[4]趙又霖,鄧仲華,黎春蘭.云服務(wù)等級協(xié)議的生命周期管理研究[J].圖書與情報,2013(1):51-57.
[5]RAJKUMAR B,SAURABH K G,RODRIGO N C.SLA-oriented resource provisioning for cloud computing:challenges,architecture,and solutions[C]∥2011 International Conference on Cloud and Service Computing.[S.l.]:[s.n.],2011:1 -10.
[6]GOUDARZIH,GHASEMAZARM,PEDRAM M.SLA-based optimization of power and migration cost in cloud computing[C]∥Cluster,Cloud and Grid Computing(CCGrid),2012 12th IEEE/ACM International Symposium.[S.l.]:[s.n.],2012:172 -179.
[7]MICHAELM,IVONA B,VINCENTE,etal.Towards knowledgemanagement in self- adaptable clouds[C]∥IEEE 2010 Fourth International Workshop of Software Engineering for Adaptive Service-Oriented Systems(SEASS '10),in Conjunction with ICWS 2010 and SCC 2010.[S.l.]:[s.n.],2010:103 -109.
[8]何劍虹,白曉穎,李潤玲,等.基于SLA的面向服務(wù)的基礎(chǔ)設(shè)施[J].電訊技術(shù),2011(9):100-105.
[9]MICHAELM,IVAN B,VINCENTE,etal.Revealing the MAPE loop for the autonomic management of cloud infrastructures[C]∥ Workshop on Management of Cloud Systems(MoCS 2011),in Association with the IEEE Symposium on Computers and Communications(ISCC 2011).[S.l.]:[s.n.],2011:121 -128.
[10]FOSII.Foundations of self- go verning ICT infrastructures[EB/OL].[2013 - 10 - 02].http://www.infosys.tuwien.ac.at/linksites/FOSII/index.html.
[11]IVONA B,VINCENT E,MICHAELM,et al.LAYSI:a layered approach for SLA-violation propagation in self-manageable cloud infrastructures[C]∥The First IEEE InternationalWorkshop on Emerging Applications for Cloud Computing(CloudApp 2010),in Conjunction with the 34th Annual IEEE International Computer Software and Applications Conference Seoul.[S.l.]:[s.n.],2010:365 -370.
[12]VINCENT E,IVONA B,MICHAEL M,et al.Low levelmetrics to high level SLAs-LoM2HiS framework:bridging the gap between monitored metrics and SLA parameters in cloud environments[C]∥The 2010 High Performance Computing and Simulation Conference(HPCS 2010),in Conjunction with The 6th International Wireless Communications and Mobile Computing Conference(IWCMC 2010).[S.l.]:[s.n.],2010:48 -54.