云計算是一種基于網(wǎng)絡(luò)的計算模式,云計算提供的服務(wù)類型可以分為三類,即將基礎(chǔ)設(shè)施作為服務(wù)(IaaS)、將平臺作為服務(wù)(PaaS)以及將軟件作為服務(wù)(SaaS)。Amazon、Google、Salesforc等在世界各地建立龐大的數(shù)據(jù)中心,實現(xiàn)海量的計算任務(wù)和海量信息的存儲,為用戶提供云計算服務(wù),在商業(yè)應(yīng)用上取得了成功。云計算技術(shù)的迅速發(fā)展帶動了傳統(tǒng)數(shù)據(jù)中心的變革,產(chǎn)生了新一代數(shù)據(jù)中心———云數(shù)據(jù)中心。
云數(shù)據(jù)中心包含大量計算機,運作成本很高。有效整合資源、提高資源利用率、節(jié)約能源、降低運行成本是云數(shù)據(jù)中心關(guān)注的熱點。云數(shù)據(jù)中心通過虛擬化技術(shù)將計算資源、存儲資源和網(wǎng)絡(luò)資源構(gòu)建成動態(tài)的虛擬資源池;使用虛擬資源管理技術(shù)實現(xiàn)云計算資源自動部署、動態(tài)擴展、按需分配;用戶采用按需和即付即用的方式獲取資源。因此,虛擬資源管理成為當前云計算研究的熱點和難點。
1 數(shù)據(jù)中心的發(fā)展
數(shù)據(jù)中心是信息系統(tǒng)的核心,主要功能是通過網(wǎng)絡(luò)向用戶提供信息服務(wù)。數(shù)據(jù)中心的演變經(jīng)歷了四個階段:
a)數(shù)據(jù)存儲中心階段。數(shù)據(jù)中心最早出現(xiàn)在20世紀60年代,采用的是以主機為核心的計算方式,一臺大型主機就是數(shù)據(jù)中心,如IBM360系列計算機,其主要業(yè)務(wù)是數(shù)據(jù)的集中存儲和管理。
b)數(shù)據(jù)處理中心階段。20世紀70年代以后,隨著計算需求的不斷增加、計算機價格的下降以及廣域網(wǎng)和局域網(wǎng)的普及、應(yīng)用,數(shù)據(jù)中心的規(guī)模不斷增大,數(shù)據(jù)中心開始承擔核心的計算任務(wù)。
c)信息中心階段。20世紀90年代,互聯(lián)網(wǎng)的迅速發(fā)展使網(wǎng)絡(luò)應(yīng)用多樣化,客戶端/服務(wù)器的計算模式得到廣泛應(yīng)用。數(shù)據(jù)中心具備了核心計算和核心業(yè)務(wù)運營支撐功能。
d)云數(shù)據(jù)中心階段。進入21世紀,數(shù)據(jù)中心規(guī)模進一步擴大,服務(wù)器數(shù)量迅速增長。虛擬化技術(shù)的成熟應(yīng)用和云計算技術(shù)的迅速發(fā)展使數(shù)據(jù)中心進入了新的發(fā)展階段。數(shù)據(jù)中心承擔著核心運營支持、信息資源服務(wù)、核心計算、數(shù)據(jù)存儲和備份等功能。
由于數(shù)據(jù)中心規(guī)模的擴大和功能的多樣性,隨之出現(xiàn)的問題是數(shù)據(jù)中心的可靠性以及維護管理的巨大成本。傳統(tǒng)數(shù)據(jù)中心主要關(guān)注應(yīng)用的穩(wěn)定性、數(shù)據(jù)的安全性和運行的可靠性,而對資源的利用率、節(jié)能高效等問題考慮較少。云數(shù)據(jù)中心通過虛擬化技術(shù),一方面可以在硬件服務(wù)器上實現(xiàn)多個虛擬服務(wù)器,通過應(yīng)用和故障隔離,提高數(shù)據(jù)中心的計算能力和可靠性;另一方面能夠整合數(shù)據(jù)中心的計算資源、網(wǎng)絡(luò)資源和存儲資源,并將它們動態(tài)地分配給虛擬機,實現(xiàn)數(shù)據(jù)中心資源的動態(tài)部署,提高資源利用率,減少能耗。與傳統(tǒng)的數(shù)據(jù)中心相比,云數(shù)據(jù)中心具有資源共享、資源動態(tài)調(diào)整、綠色環(huán)保、高自動化和高可用性的特點。
2007年,全球首個虛擬化數(shù)據(jù)中心———Sun公司的黑盒子面世,該數(shù)據(jù)中心可以容納200多臺Sun服務(wù)器。IBM2008年推出了便攜式模塊化數(shù)據(jù)中心PMDC;惠普公司2010年推出了性能優(yōu)化數(shù)據(jù)中心POD;思科公司2010年推出了統(tǒng)一計算系統(tǒng)UCS,集中統(tǒng)一管理計算、網(wǎng)絡(luò)、存儲等虛擬化資源。Google數(shù)據(jù)中心采用標準的集裝箱設(shè)計,每個集裝箱可以容納1000多個服務(wù)器,并配備了冷卻系統(tǒng)。芝加哥數(shù)據(jù)中心是微軟最大的數(shù)據(jù)中心,占地面積70萬平方英尺,集裝箱里放置著微軟云計算產(chǎn)品的重要組件,每個集裝箱都存放了上千臺服務(wù)器,為微軟的云計算提供服務(wù)。
云計算技術(shù)是在網(wǎng)絡(luò)技術(shù)和Web應(yīng)用技術(shù)的推動下產(chǎn)生的網(wǎng)絡(luò)計算模式。2006年,Amazon發(fā)布了簡單存儲服務(wù)S3;2007年,Salesforc.com公司推出了SaaS服務(wù),客戶可以根據(jù)需要訂購軟件應(yīng)用服務(wù),按服務(wù)多少和時間長短支付費用;2007年,Google推出了GoogleDocs在線辦公服務(wù),2008年推出GoogleAppEngine程序開發(fā)平臺,將平臺作為一種服務(wù)提供給用戶。IBM于2007年推出了藍云計算平臺,為客戶帶來即買即用的云計算平臺,它包括一系列虛擬化軟件,使來自全球的用戶可以訪問云計算的大型服務(wù)器資源池。微軟2008年推出了WindowsAzure藍天操作系統(tǒng),基于互聯(lián)網(wǎng)架構(gòu),打造新的云計算平臺,將微軟所擁有的數(shù)以億計的Windows用戶和桌面接到云中。目前,成功的云計算應(yīng)用實例還有GoGrid、Joy-ent、MapReduce、AneKa以及Animoto等。
虛擬化概念及技術(shù)起源于20世紀50年代。20世紀60年代,IBM360系統(tǒng)首次采用了虛擬化平臺Hypervisor。IBM、VMare、Xen/Citrix和Miroosoft是虛擬化業(yè)界的四大廠商,他們提供了成熟、多方位、廣泛的虛擬化產(chǎn)品,實現(xiàn)了從服務(wù)器、存儲、網(wǎng)絡(luò)到桌面、應(yīng)用、甚至數(shù)據(jù)中心的虛擬化。
數(shù)據(jù)中心的發(fā)展與云計算技術(shù)的演進、虛擬化技術(shù)的成熟應(yīng)用是密切相關(guān)、相互促進的;數(shù)據(jù)中心的發(fā)展離不開計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、云計算技術(shù)的發(fā)展,云計算技術(shù)是在網(wǎng)絡(luò)技術(shù)的廣泛發(fā)展、虛擬化技術(shù)的日益成熟以及網(wǎng)絡(luò)應(yīng)用需求的推動下產(chǎn)生的,虛擬化技術(shù)一直伴隨著計算機技術(shù)、網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)中心的發(fā)展,實現(xiàn)了不同層面的虛擬化。上述相關(guān)領(lǐng)域技術(shù)的發(fā)展如圖1所示。
圖1 數(shù)據(jù)中心及相關(guān)技術(shù)發(fā)展
云數(shù)據(jù)中心是未來數(shù)據(jù)中心建設(shè)和發(fā)展的方向,實現(xiàn)云數(shù)據(jù)中心的關(guān)鍵技術(shù)———虛擬資源管理已成為目前研究的熱點和難點。深入研究虛擬資源的管理有利于設(shè)計與實現(xiàn)高效的云數(shù)據(jù)中心系統(tǒng),提高云數(shù)據(jù)中心資源利用效率、系統(tǒng)可靠性,降低運行管理成本。本文從虛擬資源提供與部署、虛擬資源調(diào)度、虛擬機遷移等角度,針對當前相關(guān)研究缺少系統(tǒng)總結(jié)的情況,較全面地概括、分析了虛擬資源管理技術(shù)的研究現(xiàn)狀。
2 虛擬資源提供與部署
云數(shù)據(jù)中心資源管理的特點是統(tǒng)一部署,集中管理,分布使用。在資源虛擬化技術(shù)的基礎(chǔ)上,采用各種技術(shù)實現(xiàn)資源的自動部署、集中監(jiān)控、動態(tài)優(yōu)化、節(jié)能低耗等功能。
2.1 資源虛擬化
數(shù)據(jù)中心硬件設(shè)備之間的差異導致兼容性很差,為統(tǒng)一的資源管理提出了挑戰(zhàn)。資源的抽象和虛擬化是屏蔽資源差異、建立虛擬計算環(huán)境的基礎(chǔ)。iVCE虛擬計算環(huán)境針對資源多樣性、自主性帶來的訪問方式不一致問題,深入研究了資源虛擬化模型與方法,提出了具備環(huán)境動態(tài)感知和自主行為決策特征的自主元素資源抽象模型[1]。文獻[2]通過虛擬化實現(xiàn)虛擬集群系統(tǒng),消除系統(tǒng)軟件與硬件之間的耦合,實現(xiàn)集群的快速部署和快速切換,并獲得了明顯的性能優(yōu)勢。云數(shù)據(jù)中心通過虛擬化技術(shù)構(gòu)建虛擬資源池來實現(xiàn)對大規(guī)模基礎(chǔ)資源的有效、統(tǒng)一管理,然后將計算任務(wù)分布在大量動態(tài)、可擴展的虛擬資源池上,用戶按需獲取計算能力、存儲空間和信息服務(wù)。
虛擬化技術(shù)屏蔽了低層物理設(shè)備的差異,對云數(shù)據(jù)中心的低層架構(gòu)進行抽象,從而實現(xiàn)資源的統(tǒng)一管理。IBM的TPM(tivoli provisioning manager)是數(shù)據(jù)中心實現(xiàn)資源虛擬化管理的核心產(chǎn)品,可以自動完成服務(wù)器、存儲器、網(wǎng)絡(luò)設(shè)備、操作系統(tǒng)、中間件、應(yīng)用程序的部署和配置。通過實現(xiàn)從低層硬件、系統(tǒng)的虛擬化到存儲、網(wǎng)絡(luò)的虛擬化,使數(shù)據(jù)中心的IT資源成為一個虛擬的資源池,可以按照一定的粒度來實現(xiàn)資源分配。VMware的數(shù)據(jù)中心產(chǎn)品VMwareInfrastructure虛擬化軟件套件能提供虛擬化基礎(chǔ)架構(gòu)、應(yīng)用程序和管理等多種服務(wù)。其中,ESXServer能整合數(shù)據(jù)中心的計算、存儲和網(wǎng)絡(luò)資源,構(gòu)建動態(tài)虛擬資源池。微軟公司的虛擬化集成管理軟件是SystemCenter。其中,VirtualMachineManager能管理數(shù)據(jù)中心的基礎(chǔ)架構(gòu),包括服務(wù)器以及虛擬機,實現(xiàn)平臺中虛擬化資源的動態(tài)優(yōu)化。浪潮云海·云計算操作系統(tǒng)架構(gòu)于服務(wù)器、存儲、網(wǎng)絡(luò)等基礎(chǔ)硬件資源之上,通過基于Xen平臺的虛擬化技術(shù),構(gòu)建計算節(jié)點、存儲節(jié)點,形成動態(tài)虛擬計算資源池、存儲資源池和網(wǎng)絡(luò)資源池,實現(xiàn)了資源的有效監(jiān)控、動態(tài)流轉(zhuǎn)與伸縮,以IaaS的模式為用戶提供云計算服務(wù)。
2.2資源提供策略
云數(shù)據(jù)中心的功能涉及到很多方面,如數(shù)據(jù)中心內(nèi)部的網(wǎng)絡(luò)結(jié)構(gòu)、存儲架構(gòu)、資源模型、資源發(fā)現(xiàn)、資源提供、虛擬機部署、調(diào)度策略、資源狀態(tài)監(jiān)測評估、能耗管理、數(shù)據(jù)安全以及QOS支持等。資源管理系統(tǒng)的基本功能是接受來自云計算用戶的資源請求,并且把特定的資源分配給資源請求者,合理地調(diào)度相應(yīng)的資源,使用戶請求資源的任務(wù)得以運行。云數(shù)據(jù)中心資源管理系統(tǒng)提供四種基本的服務(wù),即資源發(fā)現(xiàn)、資源監(jiān)控、資源存儲和資源調(diào)度。資源發(fā)現(xiàn)在數(shù)據(jù)中心發(fā)現(xiàn)適合用戶應(yīng)用的虛擬資源,能自動發(fā)現(xiàn)和應(yīng)用虛擬資源與物理資源之間的關(guān)聯(lián);資源監(jiān)控能自動監(jiān)測基礎(chǔ)硬件資源的狀態(tài)、性能;資源調(diào)度采用不同策略,把所需資源分配到相應(yīng)的用戶任務(wù)上。虛擬資源的提供和虛擬機資源的部署是資源管理的基礎(chǔ)[3~7]。典型的云計算資源提供策略包括基于租借理論和動態(tài)多級資源池的策略、基于經(jīng)濟學原理的資源提供策略、基于一般優(yōu)化算法的資源提供策略以及基于隨機整數(shù)規(guī)劃的最優(yōu)資源提供策略。
a)基于租借理論和多級資源池的云計算資源提供。文獻[8]基于云計算的虛擬化技術(shù),提出了一種租借理論和動態(tài)多級資源池相結(jié)合的資源調(diào)度策略,將資源虛擬化成多個槽(slot),根據(jù)資源的某個共同的特性將資源歸類,形成資源池,并建立多級資源池。其中有一個資源池充當服務(wù)器,提供與云外面的交互、維護資源池負載平衡以及分配任務(wù)等服務(wù),同時,結(jié)合共享策略、私有策略、借還策略和重聲明策略完成對資源的調(diào)度。文獻[9]提出一種面向虛擬資源的云計算資源管理機制,通過資源劃分和資源預留策略來實現(xiàn)對虛擬資源的分配,確保用戶對虛擬資源使用的有效性,并提出一種借入/借出調(diào)度策略來實現(xiàn)虛擬資源利用率的最大化。
b)基于經(jīng)濟學的云計算資源提供策略。文獻[10,11]從經(jīng)濟學原理的角度出發(fā),提出了云計算經(jīng)濟學架構(gòu),設(shè)計了基于QOS的云資源管理經(jīng)濟模型。依據(jù)經(jīng)濟學的理念,云計算環(huán)境被視為一個云市場,資源被視為商品,多個計算云、存儲云抽象為資源提供者,云計算用戶被視為資源的消費者。該策略為云消費者和供應(yīng)商提供有關(guān)經(jīng)濟激勵的反饋,提高資源利用率,有助于實現(xiàn)云計算環(huán)境下資源的高效管理、優(yōu)化配置,同時最大限度地滿足用戶服務(wù)質(zhì)量需求。但是此策略是從經(jīng)濟學角度出發(fā),并沒有為節(jié)省客戶花費提供相關(guān)的策略,也沒有考慮資源和價格的動態(tài)性。
c)基于隨機整數(shù)規(guī)劃的最優(yōu)資源提供策略。文獻[12~14]使用隨機整數(shù)規(guī)劃優(yōu)化資源提供方法。在云計算中,云提供商可以有兩種方式給用戶提供資源[15],即預訂方式和即付即用方式。預訂方式可以有效減少用戶的花費,但是因為用戶需求和資源價格的不確定性,完全通過預訂方式獲取資源是很難達到用戶的要求。使用啟發(fā)式方法[16]或K-鄰近算法[17]可以對用戶所需資源進行預測。該策略提供一個動態(tài)的資源提供方案來滿足客戶的需求,考慮了資源提供各個階段的資源花費,能達到用戶資源花費最小化的目的。
2.3 虛擬機部署
資源快速部署是數(shù)據(jù)中心的一項重要功能需求。云計算數(shù)據(jù)中心采用虛擬化技術(shù)后,資源管理的一個重要功能就是構(gòu)建虛擬的資源池,將虛擬機部署在不同的物理機上,實現(xiàn)對大規(guī)模基礎(chǔ)資源有效、統(tǒng)一的管理。云計算環(huán)境對虛擬機部署的要求較高,目標是高效快速、節(jié)能低耗、均衡負載,充分提高計算資源、存儲資源以及網(wǎng)絡(luò)資源的利用率。虛擬機部署是一個復雜的問題,一方面,在云環(huán)境中資源和應(yīng)用不僅變化范圍大而且動態(tài)性高,用戶所需服務(wù)主要采用按需部署方式;另一方面,不同云數(shù)據(jù)中心、不同層次云計算環(huán)境中服務(wù)的部署模式是不一樣的,部署過程所支持的軟件系統(tǒng)形式多樣,系統(tǒng)結(jié)構(gòu)各不相同,部署策略具有多樣性。
a)基于網(wǎng)絡(luò)的虛擬機部署策略 云數(shù)據(jù)中心的各個物理機上的虛擬機要進行頻繁的數(shù)據(jù)通信,因此在考慮應(yīng)用進程性能時,要加入網(wǎng)絡(luò)帶寬、延遲等因素。而傳統(tǒng)的虛擬機部署主要是考慮效率和計算資源的利用率,沒有從網(wǎng)絡(luò)方面考慮。文獻[18]提出一種基于網(wǎng)絡(luò)的虛擬機部署策略,能達到虛擬機之間數(shù)據(jù)傳輸時間的最小化目的,從而實現(xiàn)整個應(yīng)用性能的優(yōu)化。
b)基于約束滿足問題的虛擬機部署策略 文獻[19]使用約束滿足問題對虛擬機部署進行建模,約束條件為用戶的服務(wù)等級協(xié)議,目的是最大化節(jié)省能量。其實現(xiàn)思想是最大化空閑物理機數(shù),通過關(guān)閉空閑物理機來節(jié)省能量。文獻[20,21]采用動態(tài)虛擬機部署方案,約束條件為滿足用戶的SLA需求。但使用約束滿足問題很容易引入額外的應(yīng)用約束,如搭配約束和同類約束等。
c)基于容錯機制的虛擬機部署策略 采用虛擬化技術(shù)之后,主機服務(wù)器系統(tǒng)[22]的失敗是一個需要考慮的問題。由于虛擬機是基于主機服務(wù)器的物理設(shè)備和虛擬化平臺,所以當主機服務(wù)器失敗時,所有運行在其上的虛擬機也不能幸免,因此需要制定一個針對此問題的對策。文獻[23]提出使用冗余配置虛擬機的方法,該方法根據(jù)應(yīng)用程序所需的性能,評估所需的最少虛擬機數(shù)量,然后決策出一個最優(yōu)虛擬機部署,將任意K個主機服務(wù)器失敗所造成的影響最小化。
3 虛擬資源調(diào)度
資源調(diào)度是根據(jù)一定的資源使用規(guī)則,在不同資源使用者之間進行資源調(diào)整的過程。不同資源使用者對應(yīng)著不同的計算任務(wù),每個計算任務(wù)在操作系統(tǒng)中對應(yīng)于一個或多個進程。資源調(diào)度的目的是將用戶任務(wù)分配到合適的資源上,使得在滿足用戶需求的前提下,任務(wù)完成時間盡量小,且資源利用率盡量高。資源調(diào)度最終要實現(xiàn)時間跨度、服務(wù)質(zhì)量、負載均衡、經(jīng)濟原則最優(yōu)的目標。由于不同廠商架構(gòu)的云基礎(chǔ)設(shè)施不同,資源的管理和調(diào)度沒有統(tǒng)一的國際標準,基于各種調(diào)度基礎(chǔ)設(shè)施和調(diào)度模型的調(diào)度算法很多[24]。
3.1 資源調(diào)度模型
文獻[25]將任務(wù)調(diào)度模型分為應(yīng)用模型、計算平臺模型和性能目標模型。應(yīng)用模型涉及如何將應(yīng)用劃分為任務(wù)、如何考慮任務(wù)的屬性特征等,典型的任務(wù)模型有依賴任務(wù)模型DAG、獨立任務(wù)模型IND以及可分任務(wù)模型DLM;計算平臺模型是對系統(tǒng)中資源的抽象,其中最重要的資源是處理機資源和網(wǎng)絡(luò)資源;性能指標模型可以分為基于系統(tǒng)的目標和基于用戶的目標兩類,基于系統(tǒng)的性能模型關(guān)注整個系統(tǒng)的吞吐量、資源利用率、效率和公平性,基于用戶的性能指標包括應(yīng)用的最短完成時間、周轉(zhuǎn)時間、平均延遲和帶權(quán)完成時間等。
資源管理調(diào)度模型按照調(diào)度實體之間的關(guān)系可以分為統(tǒng)一資源代理調(diào)度模型和多資源代理調(diào)度模型[24]。按照資源的組織調(diào)度形式可分為集中調(diào)度模型、層次調(diào)度模型和非集中式調(diào)度模型[7]。在集中式的環(huán)境中,所有的資源由一個中央調(diào)度程序調(diào)度,所有可用系統(tǒng)的有關(guān)信息被聚集在中心機上。在層次式的調(diào)度模型中,有一個集中式的調(diào)度程序,作業(yè)被提交到集中的調(diào)度程序,而每一個資源使用一個獨立的調(diào)度程序用于本地的調(diào)度。此結(jié)構(gòu)的主要優(yōu)點是采用不同的策略用于本地和全局的作業(yè)調(diào)度。在非集中式系統(tǒng)中,分布式的調(diào)度程序交互作用并且將作業(yè)提交到遠程系統(tǒng)中,單個組件的失效不會影響整個云計算系統(tǒng),容錯和可靠性更高。但由于一個并行程序的所有部分可能被分配在不同域的資源上,不同的調(diào)度程序必須同步作業(yè)并且保證同時運行,這使得調(diào)度系統(tǒng)的優(yōu)化相當困難。
資源管理調(diào)度模型按照體系結(jié)構(gòu)不同,可分為層次模型、抽象所有者模型(AO)以及市場經(jīng)濟模型。層次模型將管理系型。層次模型將管理系統(tǒng)分為若干功能層,有利于對具有站點自治性和底層異構(gòu)性資源進行管理,能在一定程度上實現(xiàn)資源的聯(lián)合分配,具有較強的適用性。抽象所有者模型使用作為資源所有者的資源經(jīng)紀人與用戶進行交互和協(xié)商。資源共享過程中遵循類似于快餐店的訂購與交貨模式。計算經(jīng)濟模型綜合了層次模型和抽象所有者模型的核心特征,既可以利用層次模型中相對成熟的技術(shù),又明確強調(diào)了以經(jīng)濟為基礎(chǔ)的資源管理和調(diào)度。基于供求原則的投資回報機制,促進了計算服務(wù)質(zhì)量的提高和資源的升級,經(jīng)濟是調(diào)節(jié)供求關(guān)系的最重要的機制,為訪問網(wǎng)格資源的用戶提供公平的價格機制,并允許對一切資源進行交易。建立以用戶為中心而不是系統(tǒng)為中心的調(diào)度政策,提供了資源分配和管理的有效機制[25]。
3.2 資源調(diào)度算法
針對不同的資源調(diào)度模型,許多學者都提出了各自不同的算法,根據(jù)算法的目標函數(shù),較典型的有時間最優(yōu)算法、代價最優(yōu)算法和時間代價最優(yōu)算法[26,27]。時間最優(yōu)算法的出發(fā)點是盡量快地在預算范圍內(nèi)完成任務(wù),針對每個資源,考慮到以往分配的任務(wù)和完成率,估算一個任務(wù)的完成時間,再依據(jù)完成時間對資源按升序排序,再從隊列中依次取出資源。如果該任務(wù)的成本小于或等于該任務(wù)的預算,則分配該任務(wù)給這個資源。代價最優(yōu)算法盡量以最小的花費在完成期限內(nèi)完成任務(wù),基本思想是首先給資源按價格升序排序,對隊列中的每個資源,在不超過完成期限的范圍內(nèi)分配盡可能多的任務(wù)。時間代價最優(yōu)算法結(jié)合了以上兩個算法的優(yōu)點,在不增加額外處理成本的情況下,最優(yōu)化處理時間。
考慮算法的不同調(diào)度策略和目標函數(shù),按照不同標準可以對資源調(diào)度算法進行多種分類:a)傳統(tǒng)的調(diào)度算法,如輪循調(diào)度、最小連接調(diào)度、目標地址散列調(diào)度、源地址散列調(diào)度等,但算法簡單,性能不佳;b)啟發(fā)式調(diào)度算法,由于資源調(diào)度因素復雜,通常采用啟發(fā)式方法,根據(jù)調(diào)度算法的運行時間,啟發(fā)式映射算法可以分為靜態(tài)映射和動態(tài)映射,動態(tài)調(diào)度算法分為在線模式和批模式,典型的在線模式啟發(fā)是算法有MCT、MET、SA、KPB、OLB等,典型的批模式啟發(fā)算法有minmin算法、maxmin算法、快速貪心算法、貪吃算法、忍耐算法和老化算法等;c)基于經(jīng)濟學模型的調(diào)度算法,以經(jīng)濟學中的商品市場模型、標價模型、議價模型、招標/合同網(wǎng)模型、拍賣模型等為基礎(chǔ),分別采用代價最優(yōu)、時間最優(yōu)或時間代價等目標函數(shù),實現(xiàn)最優(yōu)資源調(diào)度;d)基于agent的調(diào)度算法的資源調(diào)度將每個資源節(jié)點封裝成一個agent,資源管理系統(tǒng)成為一種多層次Agent系統(tǒng)的集合,調(diào)度問題被簡化成如何在各Agent之間匹配計算任務(wù)并隨時根據(jù)Agent的變化情況進行調(diào)整,以及在agent內(nèi)如何進行子任務(wù)的繼續(xù)分配的問題;e)基于任務(wù)的性質(zhì)及任務(wù)之間的相關(guān)性,調(diào)度算法可以分為獨立任務(wù)調(diào)度算法、可分任務(wù)調(diào)度算法、依賴任務(wù)調(diào)度算法以及多維QOS要求及負載均衡的任務(wù)調(diào)度算法[25];f)基于博弈論的資源調(diào)度算法,博弈論是經(jīng)濟學中的重要理論方法,由于資源分配與社會經(jīng)濟活動的相似性,博弈論也廣泛地應(yīng)用到資源分配研究中;g)其他的調(diào)度算法,除以上介紹的資源調(diào)度算法之外,還有一些改進和綜合的調(diào)度算法如基于信任模型的可信資源調(diào)度、任務(wù)依賴調(diào)度算法、多維QOS要求調(diào)度算法、負載均衡的調(diào)度算法、基于能耗的資源調(diào)度算法等[24,25]。
云資源調(diào)度算法可以借鑒網(wǎng)格計算和分布式計算中的研究成果,并關(guān)注云計算資源調(diào)度的特點。云數(shù)據(jù)中心資源調(diào)度的特點是:資源虛擬化和面向用戶的調(diào)度性能優(yōu)化。虛擬機的出現(xiàn)使得所有的計算任務(wù)都被封裝在一個虛擬機內(nèi)部。由于虛擬機具有隔離性,可以采用虛擬機的動態(tài)遷移技術(shù)來完成計算任務(wù)的遷移,實現(xiàn)資源優(yōu)化。在傳統(tǒng)的分布式計算環(huán)境中,資源均為無償免費的,系統(tǒng)整體性能最優(yōu)往往是調(diào)度的最優(yōu)化目標。云計算環(huán)境中,云服務(wù)提供商提供資源和服務(wù),用戶按需付費,只需要為使用的資源或服務(wù)付費。因此,云環(huán)境中的調(diào)度問題必須考慮任務(wù)執(zhí)行的成本約束。此外,與成本相關(guān)的如任務(wù)完成時間、賠償率以及用戶付費等因素,也是云計算調(diào)度問題中需要考慮的重要約束條件。傳統(tǒng)分布式環(huán)境中,調(diào)度的優(yōu)化目標均是以系統(tǒng)為中心,主要面向系統(tǒng)性能,如系統(tǒng)吞吐量、CPU利用率等,而對用戶的QOS需求考慮較少。云計算環(huán)境中不僅注重資源利用率及系統(tǒng)性能的提高,而且重視保證用戶的QOS需求,以實現(xiàn)資源供給與資源消費的雙贏局面[28]。
4 虛擬機遷移
系統(tǒng)虛擬化技術(shù)是一種重要的虛擬化技術(shù),具有跨平臺、隔離性強、可移動等特點。云數(shù)據(jù)中心的資源以虛擬機的形式提供給用戶,實現(xiàn)資源的動態(tài)切割和分配,用戶通過虛擬機執(zhí)行任務(wù)。由于云數(shù)據(jù)中心的虛擬機數(shù)量眾多,而且虛擬機數(shù)量和虛擬機的負載會隨用戶和應(yīng)用的需求而經(jīng)常變化,靜態(tài)的資源分配往往會使虛擬機產(chǎn)生資源浪費或資源不足的情況,而人工的動態(tài)資源調(diào)整會有明顯的滯后性,因此虛擬機資源需要進行動態(tài)調(diào)整。虛擬機實時遷移一般運用在虛擬環(huán)境中。所謂虛擬機的動態(tài)遷移,是指虛擬機在不關(guān)機、且能持續(xù)提供服務(wù)的前提下,從一臺虛擬平臺服務(wù)器遷移到其他的虛擬平臺服務(wù)器運行,目前Citrix、VMware以及微軟等幾家主要的虛擬平臺廠商都提出了自己的虛擬機動態(tài)遷移技術(shù)。
數(shù)據(jù)中心通常包含大量計算節(jié)點,并且經(jīng)常會出現(xiàn)節(jié)點失敗的情況,因此,虛擬機的失效是一種常態(tài)。通過虛擬機實時遷移,無縫地將虛擬機從失效的物理機轉(zhuǎn)移到穩(wěn)定的物理機上,快速部署新節(jié)點來代替失效的節(jié)點,實現(xiàn)故障隔離,確保計算環(huán)境的可用性非常重要。此外,虛擬機實時遷移技術(shù)可以從以下兩個方面考慮。
4.1能量優(yōu)化
在云數(shù)據(jù)中心,大量時間里物理服務(wù)器處于空閑狀態(tài)。為節(jié)省能量,采用實時動態(tài)遷移技術(shù)將任務(wù)從空閑物理機遷出,關(guān)閉空閑的服務(wù)器或?qū)⒎⻊?wù)器置于節(jié)能休眠狀態(tài),實現(xiàn)節(jié)省能耗的目的。
文獻[26]提出了一種虛擬機在線遷移方法,該方法能最小化遷移過程中的虛擬機停機時間,保證數(shù)據(jù)的一致性和完整性。Sandpiper系統(tǒng)[29]提出了基于黑盒方法和灰盒方法的云數(shù)據(jù)中心資源監(jiān)控方法,它能自動監(jiān)測和探測熱點,并通過虛擬機遷移完成新的物理資源到虛擬資源的映射,消除系統(tǒng)熱點。
4.2負載均衡
空閑物理機處于低負載狀態(tài)或過載時,可以通過負載重分配和遷移,動態(tài)關(guān)閉和重啟物理機,實現(xiàn)負載均衡,獲得更高的系統(tǒng)效率。
文獻[27]針對虛擬機集群資源負載不平衡的問題,基于虛擬機遷移技術(shù),提出了一種虛擬機集群資源調(diào)度策略,為虛擬機中的應(yīng)用提供透明的資源調(diào)度,并使虛擬機集群達到負載平衡和節(jié)能的雙重目標。文獻[30]實現(xiàn)了一種在虛擬機集群模式下基于動態(tài)資源分配原則的一種負載均衡方案,實時監(jiān)測虛擬機和物理機的資源使用情況,然后對運行在同臺物理機上的虛擬機進行資源的重新分配,達到本地虛擬機的負載均衡;而在物理機之間進行虛擬機的熱遷移,達到全局的負載均衡。它優(yōu)化了虛擬機資源的分配,實現(xiàn)了虛擬機集群的全局負載均衡。文獻[18]提出一種虛擬機動態(tài)遷移框架,實現(xiàn)云計算環(huán)境中資源的實時監(jiān)控,自主發(fā)起動態(tài)遷移;而且能夠在不同類型的虛擬機監(jiān)控器間進行虛擬機的動態(tài)遷移,提高動態(tài)遷移的靈活性,同時保證遷移過程中虛擬機的SLA。
上述云數(shù)據(jù)中心所涉及的虛擬資源管理技術(shù)如圖2所示,分為資源提供、虛擬化機部署、資源調(diào)度和虛擬機遷移四個部分。
圖2 云數(shù)據(jù)中心虛擬資源管理技術(shù)
5 結(jié)束語
云計算數(shù)據(jù)中心通過虛擬資源管理技術(shù),可以實現(xiàn)資源的自動部署、動態(tài)優(yōu)化、節(jié)能低耗,提供用戶滿意的云計算服務(wù)。隨著云計算技術(shù)的產(chǎn)業(yè)化,云數(shù)據(jù)中心如何降低系統(tǒng)運行成本,以經(jīng)濟的價格為用戶提供優(yōu)質(zhì)服務(wù),是增強市場競爭力的關(guān)鍵。
本文主要研究了云數(shù)據(jù)中心虛擬資源管理的關(guān)鍵技術(shù):資源虛擬化、資源提供、虛擬機部署、資源調(diào)度以及虛擬機遷移。在虛擬資源管理方面,今后有待進一步研究的內(nèi)容主要包括:
a)多階段的動態(tài)資源分配。由于用戶使用云資源可以采用資源預約、即用即付等多種方式,數(shù)據(jù)中心資源提供的實施將分為不同階段。由于資源的需求具有不確定性,需要考慮在用戶需求的動態(tài)不確定性情況下,如何提高云數(shù)據(jù)中心的收益和資源利用率。
b)QOS約束問題。云應(yīng)用呈現(xiàn)的多樣性使得云用戶對服務(wù)質(zhì)量的需求不同。如何為用戶提供不同SLA的云應(yīng)用服務(wù),建立SLA度量、監(jiān)測、懲罰機制,確保滿足用戶的QOS需求。c)多數(shù)據(jù)中心的資源分配問題。通過將多個不同廠商、企業(yè)的數(shù)據(jù)中心聯(lián)合起來,建立更大范圍的動態(tài)伸縮資源池,擴展資源提供能力是有待進一步研究的問題。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.hanmeixuan.com/
本文標題:云數(shù)據(jù)中心虛擬資源管理與虛擬機部署
本文網(wǎng)址:http://www.hanmeixuan.com/html/consultation/1083972426.html