摘要:虛擬機調(diào)度優(yōu)化問題是云數(shù)據(jù)中心資源管理的核心問題。文章以IaaS云數(shù)據(jù)中心為研究目標,以云數(shù)據(jù)中心的資源管理為出發(fā)點,結(jié)合虛擬化的云數(shù)據(jù)中心中資源提供與分配問題進行研究。并對虛擬資源管理中的核心問題虛擬機調(diào)度優(yōu)化問題進行了深入研究,給出了虛擬機放置問題模型,并從模型求解算法、實驗仿真與評價方面進行分析。最后對虛擬機調(diào)度問題進行總結(jié)。
關鍵詞:IaaS 資源管理 虛擬機放置 虛擬機調(diào)度
中圖分類號:TP311 文獻標識碼:A 文章編號:1007-9416(2016)10-0060-02
云計算技術是分布式計算、互聯(lián)網(wǎng)技術,大規(guī)模資源管理技術的融合與發(fā)展,具有彈性服務,資源池化,按需服務,服務計費,泛在接入等特點[1]?;A設施即服務(Infrastructure-as-a-Service,IaaS),平臺即服務(Platform-as-a-Service,PaaS),軟件即服務(Software-as-a-Service,SaaS)構(gòu)成了云計算服務模式的核心。其中IaaS提供硬件基礎設施部署服務,為用戶按需提供實體或虛擬的計算,存儲和網(wǎng)絡等資源。為了優(yōu)化硬件資源的分配,借助于虛擬化技術和Xen,KVM,VMware等虛擬化工具,可以提供可靠性高,可定制性強,規(guī)??蓴U展的IaaS云服務。
1 云數(shù)據(jù)中心資源管理
1.1 云數(shù)據(jù)中心資源管理
云計算資源管理中主要涉及云用戶(Cloud User),云提供商(Cloud Provider),和最終用戶(End User)三類角色。資源管理目標包括性能,金融,環(huán)境等方面。IaaS云資源管理主要涉及物理資源和虛擬資源兩類。管理的資源的類型主要包含計算資源,網(wǎng)絡資源,存儲資源,電力資源等。
資源管理技術可以分為動態(tài)資源管理和靜態(tài)資源管理兩方面[2]。靜態(tài)資源管理技術主要涉及資源的映射與調(diào)度兩類,靜態(tài)映射包含云代理,虛擬機放置,服務放置;靜態(tài)的調(diào)度問題主要涉及工作流調(diào)度。動態(tài)的資源管理則涉及負載均衡,以及資源容量規(guī)劃等管理技術。
云資源管理功能主要涉及:(1)全局的虛擬資源調(diào)度;(2)資源需求分析;(3)資源利用率估計;(4)資源定價與利潤最大化;(5)虛擬化資源的本地調(diào)度;(6)應用擴展和配置;(7)工作負載管理;(8)云管理系統(tǒng)等。
云資源管理性能評價主要從可靠性,是否部署方便,服務質(zhì)量,延遲和開銷控制等方面考量。性能評價常用的指標有吞吐量(一定時間內(nèi),云中執(zhí)行的任務的數(shù)量),網(wǎng)絡開銷,虛擬機遷移時間,遷移的次數(shù),資源利用率,能量消耗,回報和收益,SLA違約次數(shù)等。
1.2 虛擬化在云數(shù)據(jù)中心
云計算對計算能力的業(yè)務需求,加速了數(shù)據(jù)中心的飛速發(fā)展,虛擬化技術的應用強化了云計算的應用發(fā)展。云數(shù)據(jù)中心虛擬化的本質(zhì)就是借助于虛擬化技術(Virtualization Technology),將數(shù)據(jù)中心的資源(計算、存儲和網(wǎng)絡)進行抽象和顆?;瑯?gòu)建成動態(tài)的虛擬資源池(Virtual Resource Pool),使用虛擬資源管理(Virtual Resource Management,VRM)技術實現(xiàn)云計算資源得自動部署、動態(tài)擴展、按需分配和管理。
應用虛擬化技術,云數(shù)據(jù)中心的物理資源被劃分為多個獨立的稱為虛擬機(Virtual Machine,VM) 的邏輯域。每個VM 可以運行一個獨立的操作系統(tǒng)。從用戶的角度看,虛擬機像是運行在獨立的物理機上,實質(zhì)是多個VM 共享同一個物理機。虛擬機監(jiān)控(Virtual Machine Monitor,VMM)負責控制資源多路復用和管理虛擬機。
1.3 云數(shù)據(jù)中心資源映射
虛擬化的數(shù)據(jù)中心的資源管理主要處理兩種類型的資源映射[3],一類是工作負載和資源需求的映射,另一類是虛擬資源和物理資源的映射。第一類主要指云應用服務與虛擬機之間的映射,通過匹配不同規(guī)格的虛擬機套餐完成用戶資源的抽象分配;第二類是將申請的虛擬機套餐實例化,將其映射到物理服務器,最終完成物理資源的分配。
云用戶任務的請求隨機性、獨立性、相似性和多樣性的特點,決定了不同用戶任務對資源的需求特征不同。云平臺提供多種不同類型的虛擬機套餐(Flavor)供用戶選擇,用戶根據(jù)CPU、內(nèi)存、存儲等參數(shù)以及任務特點選擇相應類型的虛擬機,從而完成“用戶任務-虛擬機”的匹配,實現(xiàn)工作負載到資源需求的映射。
云資源調(diào)度器綜合考慮資源需求、性能約束、SLA約束,依據(jù)約定的資源分配(Resource Allocation)策略,將大量不同類型的虛擬機請求,調(diào)度到合適的物理機,從而完成“虛擬機VM-物理機PM”的映射。在實現(xiàn)映射的過程中需要綜合考慮多維度因素的影響,實現(xiàn)能耗優(yōu)化,提高資源利用率,資源負載均衡等,其實質(zhì)是資源的多目標調(diào)度優(yōu)化問題。
2 虛擬機調(diào)度優(yōu)化問題
云計算環(huán)境下虛擬資源調(diào)度研究中,最基本的問題在于如何將總體有限的資源分配給多個租戶或應用,以達到效率或收效最大化。但是在云計算環(huán)境下,資源并不是單一的,包括計算資源(CPU)、內(nèi)存資源、存儲資源、網(wǎng)絡資源(帶寬)等,如何進行多資源類型的聯(lián)合調(diào)度和控制以滿足不同需求組合是云計算環(huán)境下的一個核心的資源調(diào)度問題。
2.1 虛擬機調(diào)度分類
從資源映射的角度來講,虛擬機調(diào)度優(yōu)化問題主要涉及到兩個層面:云任務和虛擬機之間的映射,虛擬機和物理機之間的映射;而從資源調(diào)度的角度來看,涉及到虛擬機調(diào)度問題的主要涉及虛擬機放置問題和虛擬機整合。
虛擬機放置主要是指將具體規(guī)格的虛擬機請求,在數(shù)據(jù)中心選擇合適的物理服務器進行實例化,實現(xiàn)最終的資源分配的過程。虛擬機整合主要針對虛擬機放置完成放置后,隨著工作負載的變化,物理宿主機的物理資源和性能的限制不能滿足系統(tǒng)的性能約束,負載均衡約束等條件,而需要為虛擬機重新尋找宿主機,實現(xiàn)虛擬機到物理主機的重映射過程。虛擬機整合過程主要涉及到:(1)處于過載狀態(tài)和欠載狀態(tài)的宿主機檢測;(2)虛擬機遷移對象的確定;(3)虛擬機遷移目標的確定;(4)虛擬機放置等環(huán)節(jié)。
2.2 問題優(yōu)化模型
選擇哪個虛擬機放置在數(shù)據(jù)中心哪一臺物理服務器的過程稱之為虛擬機放置(Virtual Machine Placement,VMP)。虛擬機放置問題相關的英文表達:(1)virtual machine placement;(2)vm placement;(3)virtual machine consolidation;(4)vm consolidation;(5)server consolidation。虛擬機放置VMP問題可簡要描述如下:
(1)N個虛擬機請求,這些虛擬機請求以若干種規(guī)格的虛擬機套餐Flavor來體現(xiàn),主要資源需求包含CPU,內(nèi)存,硬盤,網(wǎng)絡帶寬等。
(2)M個物理服務器,物理資源主要包括CPU,內(nèi)存,硬盤,網(wǎng)絡帶寬等。
(3)尋求一種虛擬機到物理主機的映射:Scheduling(VMs,PMs,優(yōu)化目標約束,物力資源約束)同時滿足:
①物理資源約束,即每一臺物理服務器的每一維度的資源總量能夠滿足放置到該服務器上的虛擬機的資源需求;
②目標約束,即為了使得放置達到某種目的而滿足的約束條件,如能耗最低,負載平衡,資源損耗最小等。
許多學者將虛擬機放置問題建模為裝箱(Bin Packing)問題。而裝箱問題已被證明是NP-Hard問題,其研究重點是尋求近似算法,它不保證每個實例的最佳解決方案,而是試圖找到一個近似最優(yōu)解。
2.3 模型求解算法
VMP問題是將N臺虛擬機如何部署到M臺服務器上,其解空間大小為MN,是一個類似裝箱問題的NP-Hard難題,但不完全相同。如圖1所示,以計算資源CPU和內(nèi)存資源MEM兩個維度考慮,(1)中物理主機CPU和MEM均得到充分利用(均為100%);(2)中物理主機帶寬得到充分利用,但是CPU尚有可以利用空間。裝箱問題因其不存在多項式時間復雜度的最優(yōu)求解算法,用傳統(tǒng)的精確算法求解會發(fā)生“組合爆炸”的現(xiàn)象,因此啟發(fā)式求解方法成為理論研究和實際應用的首選。
傳統(tǒng)的VMP問題求解是基于貪心策略的啟發(fā)式算法,如最佳適應(Best Fit,BF)、首次適應(First Fit,F(xiàn)F)以及降序最佳適應(Best Fit Decreasing,BFD)和降序首次適應(First Fit Decreasing,F(xiàn)FD)等。除此之外,應用元啟發(fā)式算法[4]如GA遺傳算法,ACO蟻群算法,PSO粒子群算法,BBO優(yōu)化算法等。此類算法可以通過調(diào)整算法參數(shù),通過單個或多個算法的有機結(jié)合,針對虛擬機放置問題進行優(yōu)化,從而得到較優(yōu)的結(jié)果。不過通常涉及較多的參數(shù),參數(shù)的設置對同一問題的實驗結(jié)果有不可估量的影響。與啟發(fā)式算法相比,算法相對復雜,參數(shù)不易掌握,需要專業(yè)的領域知識來指導算法參數(shù)調(diào)優(yōu)。
2.4 實驗與算法評價
云計算中心通常涉及成百上千臺甚至數(shù)以萬計的服務器,一是對于普通的研究人員來說直接在云數(shù)據(jù)中心開展實驗成本太高,而是無法承擔數(shù)據(jù)中心由此而帶來的經(jīng)濟成本等支出,因此云計算的資源分配算法和調(diào)度算法等大部分是基于模擬環(huán)境進行。常用的云平臺模擬軟件有CloudSim,GreenCloud,MDCSim等。通過CloudSim等仿真實驗平臺對提出的算法首先對數(shù)據(jù)中心進行建模仿真,然后通過仿真平臺對提出的算法進行實現(xiàn),和已有算法在同一個平臺上進行算法模擬,對實驗結(jié)果進行對比分析,從而驗證算法的可行性和高效性。
3 結(jié)語
本文以IaaS云數(shù)據(jù)中心的資源管理為出發(fā)點,詳細分析了應用虛擬化技術后的的云數(shù)據(jù)中心所面臨的虛擬資源管理問題。并以資源調(diào)度的核心問題虛擬機調(diào)度優(yōu)化問題為例,并對資源管理調(diào)度、虛擬機調(diào)度問題進行了深入分析。同時根據(jù),結(jié)合虛擬機問題,從問題優(yōu)化模型、算法求解分類和實驗仿真與算法評價等方面,介紹了虛擬機放置優(yōu)化問題進行了細致介紹。
參考文獻
[1]MELL P,GRANCE T.The NIST Definition of Cloud Computing[R].National Institute of Standards and Technology,2011.
[2]Jennings B,Stadler R.Resource management in clouds:Survey and research challenges[J].Journal of Network and Systems Management,2014:1-53.
[3]Wei L,Huang T,Chen J, et al. Workload prediction-based algorithm for consolidation of virtual machines[J].Journal of Electronics & Information Technology,2013,35(6):1271-1276.
[4]Guzek M,Bouvry P,Talbi E G. A Survey of Evolutionary Computation for Resource Management of Processing in Cloud Computing [Review Article][J].Computational Intelligence Magazine, IEEE, 2015, 10(2):53-67.
收稿日期:2016-06-15
作者簡介:常耀輝(1981—),男,河北定州人,碩士,石河子大學信息科學與技術學院講師,研究方向:數(shù)據(jù)挖掘、云計算與應用。