倪斌
(河南司法警官職業(yè)學(xué)院,河南 鄭州 450000)
現(xiàn)如今,因?yàn)橛?jì)算機(jī)的大范圍使用和信息科學(xué)技術(shù)的不斷進(jìn)步,計(jì)算機(jī)系統(tǒng)的電能消耗上升趨勢明顯,關(guān)于能源高效利用問題的研究已成為一個(gè)非常重要的內(nèi)容。智能化時(shí)代的發(fā)展,促使了云計(jì)算技術(shù)的出現(xiàn)和發(fā)展,因其本身具有異構(gòu)性、可伸縮性、可管理性等特點(diǎn),越來越多的企業(yè)對其產(chǎn)生了極大的興趣。云計(jì)算服務(wù)運(yùn)營商利用云計(jì)算中心大量的計(jì)算資源和存儲(chǔ)資源,為云計(jì)算用戶提供了各式各樣的服務(wù)?;诖耍嘘P(guān)專家學(xué)者提出,為云提供者進(jìn)行服務(wù)可以從不同的數(shù)據(jù)中心提取橫跨數(shù)據(jù)的方式,以達(dá)到服務(wù)的優(yōu)質(zhì)性。對可能影響到能源效率的一切因素進(jìn)行分析,防止其在發(fā)生變化時(shí)對整個(gè)數(shù)據(jù)中心造成影響。
為解決裝箱問題,可以對虛擬服務(wù)器進(jìn)行優(yōu)化措施,此方式前人已作了詳細(xì)介紹。然而就現(xiàn)階段而言,對云計(jì)算數(shù)據(jù)中心現(xiàn)行的同構(gòu)服務(wù)器調(diào)度方法無法做到優(yōu)質(zhì)的能耗管理。
在一些文獻(xiàn)中,基于裝箱問題部署虛擬服務(wù)器的優(yōu)化方法被認(rèn)為可以用來解決此類問題,其中也指出了,關(guān)于虛擬機(jī)的部署被建模為裝箱問題。受現(xiàn)有的數(shù)據(jù)中心服務(wù)器異性的影響,到目前為止,我國已針對同構(gòu)服務(wù)器的調(diào)度方法進(jìn)行了初步研究,但由于二者間的兼容性不佳,故而在實(shí)際應(yīng)用中出現(xiàn)問題,影響云計(jì)算數(shù)據(jù)中心能耗管理效率。
同時(shí),云計(jì)算數(shù)據(jù)中心在資源管理方面存在著一些不足的地方:硬件基礎(chǔ)設(shè)施廉價(jià)——數(shù)據(jù)中心的硬件基礎(chǔ)設(shè)施大多是由大規(guī)模的廉價(jià)服務(wù)器集群而成,特別是x86架構(gòu)的服務(wù)器使用較多;系統(tǒng)負(fù)載不均衡——同一節(jié)點(diǎn)內(nèi)不同類型的硬件資源使用不均衡、同一應(yīng)用節(jié)點(diǎn)之間負(fù)載不均衡、時(shí)間不均衡;節(jié)點(diǎn)易失敗。
為了解決上述問題,本文針對異構(gòu)物理服務(wù)器進(jìn)行分析,研究其能耗優(yōu)化以及資源合理調(diào)度等問題,旨在為現(xiàn)實(shí)應(yīng)用提供指導(dǎo)。
虛擬化概念及技術(shù)起源于20世紀(jì)50年代,在20世紀(jì)60年代時(shí),IBM系統(tǒng)首次采用了虛擬化平臺(tái)Hy pervisor。IBM、VMare、Xen/Citrix和 Midosoft是虛擬化業(yè)界的四大廠商,從服務(wù)器、存儲(chǔ)、網(wǎng)絡(luò)到桌面、應(yīng)用,甚至數(shù)據(jù)中心的虛擬化,其都提供了成熟、多方位、廣泛的虛擬化產(chǎn)品。
在網(wǎng)絡(luò)技術(shù)和Web應(yīng)用技術(shù)的推動(dòng)下產(chǎn)生的網(wǎng)絡(luò)計(jì)算模式,是云計(jì)算技術(shù)產(chǎn)生的基礎(chǔ)。目前,成功的云計(jì)算應(yīng)用實(shí)例有很多,比如21世紀(jì)初期,Amazon發(fā)布的簡單存儲(chǔ)服務(wù)S3;隨后Salesforce.com公司推出了SaaS服務(wù),這種服務(wù)不是無償?shù)?,客戶可按照服?wù)多少和時(shí)間長短進(jìn)行支付;Google也在同一時(shí)期推出了GoogleDocs在線辦公服務(wù)和GoogleAppEngine程序開發(fā)平臺(tái);而IBM也推出了藍(lán)云計(jì)算平臺(tái),讓來自全球的用戶可以訪問云計(jì)算的大型服務(wù)器資源池,除此之外,還有像GoGrid、Animoto等成功的云計(jì)算應(yīng)用實(shí)例。
對于云數(shù)據(jù)中心虛擬資源管理的研究,是目前的熱點(diǎn)和難點(diǎn),它是云數(shù)據(jù)中心的關(guān)鍵技術(shù),如果能夠?qū)⑻摂M資源管理很好得利用,將不僅降低管理成本,還可以提高云中心資源利用率、實(shí)現(xiàn)高效可靠的云數(shù)據(jù)中心系統(tǒng)。所以,云數(shù)據(jù)中心是未來數(shù)據(jù)中心建設(shè)和發(fā)展的方向。圖1為云計(jì)算的概念模型。
圖1 云計(jì)算的概念模型
對于供應(yīng)商而言,減少能源的消耗可以讓其減少成本,從而實(shí)現(xiàn)利潤最大化的目的。目前,眾多學(xué)者在虛擬化云計(jì)算數(shù)據(jù)中心的研究中,都提出了有效的提升方法,具體如下:①通過減少運(yùn)營成本,并提供所需的服務(wù)質(zhì)量這一有效的資源管理系統(tǒng),通過虛擬機(jī)不斷地依據(jù)當(dāng)前的資源利用率、虛擬機(jī)和熱狀態(tài)下的計(jì)算節(jié)點(diǎn)之間建立的虛擬拓?fù)渚W(wǎng)絡(luò)結(jié)構(gòu)來進(jìn)行整合。②能量感知性的網(wǎng)絡(luò)配置方法,是在高性能計(jì)算和虛擬化計(jì)算平臺(tái)中提出來的。③主要服務(wù)于客戶的交互式應(yīng)用的管理教學(xué)模型,適用于云計(jì)算環(huán)境。④高效、綠色、強(qiáng)化的、可擴(kuò)展的云計(jì)算架構(gòu)的新框架的提出,改善了數(shù)據(jù)中心系統(tǒng)的整體功效。
現(xiàn)階段,很多方法考慮的是每個(gè)物理機(jī)節(jié)點(diǎn)上相同的物理參數(shù),能耗改善方面也僅僅只是考慮到處理器,像內(nèi)存和存儲(chǔ)空間等一些同樣重要的資源卻常常被忽略,大量聚集的工作量使得性能下降,能量消耗增加問題的出現(xiàn)。使用虛擬機(jī)在運(yùn)行時(shí)的再分配能力,可使虛擬機(jī)實(shí)現(xiàn)重新部署,但在此中產(chǎn)生的非生產(chǎn)性的問題,也是需要認(rèn)真考慮的。
為減少云數(shù)據(jù)中心的能源消耗,本文將針對物理服務(wù)器異構(gòu)的云數(shù)據(jù)中心的資源調(diào)度問題、虛擬資源提供與部署、虛擬機(jī)遷移等問題進(jìn)行研究,對異構(gòu)物理服務(wù)器環(huán)境下的能耗優(yōu)化的資源調(diào)度模型和算法進(jìn)行闡述。
將用戶任務(wù)分配到合適的資源上,使任務(wù)完成時(shí)間減少,并且在提高資源的利用率、保證實(shí)踐跨度的實(shí)現(xiàn)、負(fù)載保持均衡、運(yùn)行成本降低的同時(shí),滿足客戶的需求,這個(gè)是實(shí)現(xiàn)資源分配的目的。
在服務(wù)器虛擬化中,管理員可以把一些利用率不高的物理服務(wù)器與應(yīng)用之間的綁定解除,當(dāng)出現(xiàn)服務(wù)器載重過多的情況時(shí),管理員也可將原來運(yùn)行在各個(gè)服務(wù)器上的應(yīng)用整合到較少的幾臺(tái)服務(wù)器上,把一些利用率不高、空閑的服務(wù)器關(guān)閉,實(shí)現(xiàn)綠色節(jié)能的效果。這樣的操作,與傳統(tǒng)的模式大有不同,以前的服務(wù)器上只能有一個(gè)應(yīng)用運(yùn)行,如果服務(wù)器關(guān)閉的話,應(yīng)用也就無法運(yùn)行了。通常情況下,能耗中的優(yōu)化問題就是最小化物理主機(jī)數(shù),由于每個(gè)物理主機(jī)都有不同的能耗,加之物理主機(jī)異構(gòu)的原因,能耗優(yōu)化的問題就不是最小物理主機(jī)數(shù)了。資源分配的過程,就是對資源使用規(guī)則進(jìn)行限定,將資源在不同使用者之間進(jìn)行調(diào)整的過程。
資源管理調(diào)度模型可按照調(diào)度實(shí)體之間的關(guān)系、組織調(diào)度形式的不同進(jìn)行劃分,比如集中調(diào)度模型、層次調(diào)度模型和非集中式調(diào)度模型就是按照后者來進(jìn)行劃分的,三者中,集中調(diào)度模型和層次調(diào)度模型有一定的相關(guān)性。層次調(diào)度模型,是將集中調(diào)度程序中的每一個(gè)資源通過獨(dú)立的調(diào)度程序來進(jìn)行本地的調(diào)度,它的應(yīng)付方法很多。非集中式調(diào)度中對調(diào)度的程序有一個(gè)交互的作用,它的容錯(cuò)和可靠性非常好,即使中間某個(gè)環(huán)節(jié)無法正常地進(jìn)行,對于整個(gè)云計(jì)算系統(tǒng)而言,也不會(huì)有影響。調(diào)度系統(tǒng)的優(yōu)化操作起來極不容易,不同的調(diào)度程序之間要保證同步運(yùn)行和同步作業(yè),但是不同域的資源上往往存在著一個(gè)并行程序的所有部分。
有相關(guān)學(xué)者將任務(wù)調(diào)度模型分為應(yīng)用模型、計(jì)算平臺(tái)模型和性能目標(biāo)模型。應(yīng)用模型考慮的是任務(wù)的劃分、任務(wù)的屬性特征等,比較典型的有DAG(依賴任務(wù)模型)、IND(獨(dú)立任務(wù)模型)及DLM(可分任務(wù)模型)。系統(tǒng)中最重要的資源是處理機(jī)資源和網(wǎng)絡(luò)資源,而計(jì)算平臺(tái)模型就是對系統(tǒng)中資源的抽象。系統(tǒng)目標(biāo)和用戶目標(biāo)是性能模型的兩方目標(biāo)。依靠于系統(tǒng)的基礎(chǔ)上,系統(tǒng)目標(biāo)看中的是系統(tǒng)運(yùn)行時(shí)整體的容納量,資源是否得到高效節(jié)能的運(yùn)用、對每個(gè)環(huán)節(jié)是否均勻;而用戶目標(biāo),注重的是應(yīng)用完成的時(shí)間是否能夠達(dá)到最小、周轉(zhuǎn)的時(shí)間和帶權(quán)的時(shí)間需要多久等。
基于體系結(jié)構(gòu)各不相同的原因,資源管理調(diào)度模型可被劃分為層次、抽象所有者和市場經(jīng)濟(jì)三種模型,它們各自的特點(diǎn)是:層次模型適應(yīng)性很好,能夠在將資源進(jìn)行分配的同時(shí),通過自身具備的分化功能,管理具有站點(diǎn)自治性和底層異構(gòu)性的資源;運(yùn)營商擁有大量的資源,用戶需要從其處獲得后才能使用,而抽象所有者模型,相當(dāng)于在兩者之間搭建了一個(gè)橋梁;計(jì)算經(jīng)濟(jì)模型則是將前兩種模型的核心特征綜合了起來。這些都為資源分配和管理提供了有效的機(jī)制。
文章中描述的是目標(biāo)函數(shù)的算法。因資源調(diào)度模型的多樣性和差異性,在考慮到這兩方面的因素后,學(xué)者們根據(jù)不同的資源調(diào)度模型提出了與之相對應(yīng)的算法。其中較典型的有如下三種:考慮到每個(gè)資源分配的任務(wù)和完成率,來估算一個(gè)任務(wù)的完成時(shí)間,在完成的時(shí)間中對資源進(jìn)行排序,將小于或等于預(yù)算成本的任務(wù)分配給這個(gè)資源,這種算法稱之為時(shí)間最優(yōu)化算法;而代價(jià)最優(yōu)算法,顧名思義,就是對隊(duì)列中的每個(gè)資源先進(jìn)行升序的排列,之后盡量以最小的花費(fèi)在規(guī)定期限內(nèi)完成任務(wù);關(guān)于時(shí)間代價(jià)最優(yōu)算法,則結(jié)合了兩個(gè)算法的優(yōu)點(diǎn),既保證了最優(yōu)化處理的時(shí)間,又不會(huì)讓處理成本增加。通過使用網(wǎng)格計(jì)算和分布式計(jì)算,將云計(jì)算資源調(diào)度的特點(diǎn)融入其中,可以很好地發(fā)揮云資源調(diào)度算法的優(yōu)異性。資源虛擬化和面向用戶的調(diào)度性能優(yōu)化是云數(shù)據(jù)中心資源調(diào)度的特點(diǎn)。
由于虛擬機(jī)具有隔離性,可將所有的計(jì)算任務(wù)都封裝在一個(gè)虛擬機(jī)內(nèi)部,所以可通過虛擬機(jī)的動(dòng)態(tài)遷移技術(shù)來完成計(jì)算任務(wù)的遷移,實(shí)現(xiàn)資源優(yōu)化。
為了實(shí)現(xiàn)資源供給與資源消費(fèi)雙贏的結(jié)果,云計(jì)算環(huán)境中不僅要考慮任務(wù)執(zhí)行的成本約束,還要保證用戶QoS的需求。
1.云數(shù)據(jù)中心的虛擬資源提供與部署
云數(shù)據(jù)中心資源管理的特點(diǎn)是統(tǒng)一部署、集中管理、分布使用。可通過不同的方式,在資源虛擬化技術(shù)的基礎(chǔ)上,實(shí)現(xiàn)資源的自動(dòng)部署、集中監(jiān)控、動(dòng)態(tài)優(yōu)化、節(jié)能低耗等功能。
2.云數(shù)據(jù)中心資源提供策略
云計(jì)算用戶會(huì)有自己的資源需求請求,為了讓用戶請求的資源可以運(yùn)行,需要將用戶請求的特定資源分配給其,體現(xiàn)了資源管理系統(tǒng)的基本功能。虛擬資源的提供和虛擬機(jī)資源的部署是資源管理的基礎(chǔ)。典型的云計(jì)算資源提供策略包括基于租借理論和動(dòng)態(tài)多級(jí)資源池的策略、基于經(jīng)濟(jì)學(xué)院的資源提供策略、基于一般優(yōu)化算法的資源提供策略以及基于隨機(jī)整數(shù)規(guī)劃的最優(yōu)資源提供策略。
為了將大量資源進(jìn)行有效、統(tǒng)一的管理,虛擬機(jī)需部署在不同的物理機(jī)上,通過不同物理機(jī)之間的相互影響,使資源能夠達(dá)到最大限度的利用,杜絕云計(jì)算環(huán)境下服務(wù)器瓶頸現(xiàn)象的出現(xiàn),從另一方面來說,對于云環(huán)境中的虛擬機(jī)部署要求也很高,它是資源快速部署的重要組成。受兩方面原因的影響,使得虛擬機(jī)的部署問題顯得很復(fù)雜。一方面,客戶在云環(huán)境中所需的服務(wù),是以按需部署的方式為主的,但是在云環(huán)境中,資源和應(yīng)用不僅變化范圍大,且具有極高的動(dòng)態(tài)性;另一方面,每一個(gè)服務(wù)器在不一樣的云數(shù)據(jù)中心和不同層次的云環(huán)境中心里的部署模式也是不盡相同的,部署過程和系統(tǒng)結(jié)構(gòu)之間的影響是顯而易見的,它們會(huì)影響著部署策略的不同。
(1)基于約束滿足問題的虛擬機(jī)部署策略。本著實(shí)現(xiàn)節(jié)能省量最大化的目的,在建模時(shí)采用約束滿足問題的方式,用戶的服務(wù)等級(jí)協(xié)議作為約束條件。在文獻(xiàn)中有表明,其是通過最大化空閑物理機(jī)數(shù)、關(guān)閉空閑物理機(jī)能量來實(shí)現(xiàn)的。此前已有相關(guān)學(xué)者提出動(dòng)態(tài)虛擬機(jī)部署方案,約束條件為滿足用戶的SLA需求。在使用約束滿足問題,還需關(guān)注搭配約束和同類約束等其他容易引入額外的應(yīng)用約束。
(2)基于網(wǎng)絡(luò)的虛擬機(jī)部署策略。傳統(tǒng)的虛擬機(jī)部署考慮的主體是效率和計(jì)算資源的利用率,沒有考慮到網(wǎng)絡(luò)問題,不夠全面。受虛擬機(jī)數(shù)據(jù)通信頻繁的影響,像網(wǎng)絡(luò)寬帶、延遲等因素也需要加入到應(yīng)用進(jìn)程性能的考慮中。
(3)基于容錯(cuò)機(jī)制的虛擬機(jī)部署策略。虛擬機(jī)是基于主機(jī)服務(wù)器的物理設(shè)備和虛擬化平臺(tái)上的,所以在采用虛擬化技術(shù)之后,需要考慮到主機(jī)服務(wù)器的失敗對其上的虛擬機(jī)帶來的影響,并對癥下藥、制定解決此問題的對策。根據(jù)應(yīng)用程序所需的性能,預(yù)測所需要的最少虛擬機(jī)數(shù)量,從中找出一個(gè)最優(yōu)虛擬機(jī)的部署,實(shí)現(xiàn)主機(jī)服務(wù)器失敗所造成的影響最小化。
虛擬機(jī)遷移是指把一個(gè)虛擬機(jī)從一個(gè)主機(jī)或者存儲(chǔ)位置移動(dòng)到另一個(gè)主機(jī)或者存儲(chǔ)位置。因系統(tǒng)虛擬化技術(shù)具有跨平臺(tái)、隔離性強(qiáng)、可移動(dòng)等特點(diǎn),這些資源如果想通過虛擬機(jī)來發(fā)揮作用的話,需要先將這些資源做好相應(yīng)的劃分再應(yīng)用。
遷移有冷遷移與熱遷移之分。冷遷移:將關(guān)閉電源的虛擬機(jī)移動(dòng)到新的主機(jī),可以將關(guān)聯(lián)的數(shù)據(jù)從一個(gè)存儲(chǔ)設(shè)備移動(dòng)到另一個(gè)存儲(chǔ)設(shè)備,虛擬機(jī)不必在共享存儲(chǔ)器上,但如果將64位的操作系統(tǒng)移動(dòng)到32位的ESXi主機(jī)上時(shí),可以遷移完成,但是遷移完成后不能使用。熱遷移:即虛擬機(jī)的保存或恢復(fù),將整個(gè)虛擬機(jī)的運(yùn)行狀態(tài)完整保存下來,并在后期將其恢復(fù)至任何運(yùn)行良好的硬件平臺(tái)上,且恢復(fù)速度相對更快,而整個(gè)恢復(fù)過程不會(huì)對虛擬機(jī)的平臺(tái)運(yùn)行產(chǎn)生任何不利影響,用戶不會(huì)察覺到任何差異。
在數(shù)據(jù)中心方面,要注意計(jì)算節(jié)點(diǎn)失敗的問題。而計(jì)算節(jié)點(diǎn)失敗問題的出現(xiàn),是因?yàn)閿?shù)據(jù)中心里包含的有數(shù)量繁多的計(jì)算節(jié)點(diǎn),這也提醒了我們,看問題要看全面,注意多考慮其他方面的因素。而虛擬機(jī)的熱遷移(也可稱之為實(shí)時(shí)遷移),可以有效地解決節(jié)點(diǎn)失敗的問題。它可以將失效的虛擬機(jī)轉(zhuǎn)移到穩(wěn)定的物理機(jī)上,再將穩(wěn)定的物理機(jī)上的新節(jié)點(diǎn)重新盡快地部署,用來代替已失效的節(jié)點(diǎn),在保證穩(wěn)定的物理機(jī)運(yùn)行的同時(shí),失敗的節(jié)點(diǎn)也不會(huì)對其產(chǎn)生影響。
云計(jì)算技術(shù)產(chǎn)業(yè)化發(fā)展到今天,已具有極高的市場競爭力,虛擬云數(shù)據(jù)中心不僅降低了系統(tǒng)運(yùn)行成本,更為用戶提供了優(yōu)質(zhì)滿意的服務(wù),實(shí)現(xiàn)了節(jié)能低耗、動(dòng)態(tài)優(yōu)化的目的,為云計(jì)算產(chǎn)業(yè)化的發(fā)展提供了前進(jìn)的動(dòng)力。
[1]林偉偉,劉波,朱良昌,齊德昱.基于CSP的能耗高效云計(jì)算資源調(diào)度模型與算法[J].通信學(xué)報(bào),2013(12):33-41.
[2]齊文艷.面向能耗優(yōu)化的數(shù)據(jù)中心資源動(dòng)態(tài)調(diào)度模型與方法[D].哈爾濱工業(yè)大學(xué),2013.
[3]王梅.云計(jì)算環(huán)境中的資源調(diào)度策略研究及仿真分析[D].浙江師范大學(xué),2013.
[4]王科.基于改進(jìn)蟻群算法的云計(jì)算任務(wù)調(diào)度策略研究[D].杭州電子科技大學(xué),2013.
[5]張龍.虛擬化資源調(diào)度技術(shù)的研究[D].南京航空航天大學(xué),2014.
[6]劉永.云計(jì)算環(huán)境下虛擬機(jī)資源調(diào)度策略研究[D].山東師范大學(xué),2012.
[7]錢瓊芬,李春林,張小慶,李臘元.云數(shù)據(jù)中心虛擬資源管理研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2012( 7):2411-2415,2421.
[8]林偉偉,齊德昱.云計(jì)算資源調(diào)度研究綜述[J].計(jì)算機(jī)科學(xué),2012( 10):1-6.