倪斌
(河南司法警官職業學院,河南 鄭州 450000)
現如今,因為計算機的大范圍使用和信息科學技術的不斷進步,計算機系統的電能消耗上升趨勢明顯,關于能源高效利用問題的研究已成為一個非常重要的內容。智能化時代的發展,促使了云計算技術的出現和發展,因其本身具有異構性、可伸縮性、可管理性等特點,越來越多的企業對其產生了極大的興趣。云計算服務運營商利用云計算中心大量的計算資源和存儲資源,為云計算用戶提供了各式各樣的服務。基于此,有關專家學者提出,為云提供者進行服務可以從不同的數據中心提取橫跨數據的方式,以達到服務的優質性。對可能影響到能源效率的一切因素進行分析,防止其在發生變化時對整個數據中心造成影響。
為解決裝箱問題,可以對虛擬服務器進行優化措施,此方式前人已作了詳細介紹。然而就現階段而言,對云計算數據中心現行的同構服務器調度方法無法做到優質的能耗管理。
在一些文獻中,基于裝箱問題部署虛擬服務器的優化方法被認為可以用來解決此類問題,其中也指出了,關于虛擬機的部署被建模為裝箱問題。受現有的數據中心服務器異性的影響,到目前為止,我國已針對同構服務器的調度方法進行了初步研究,但由于二者間的兼容性不佳,故而在實際應用中出現問題,影響云計算數據中心能耗管理效率。
同時,云計算數據中心在資源管理方面存在著一些不足的地方:硬件基礎設施廉價——數據中心的硬件基礎設施大多是由大規模的廉價服務器集群而成,特別是x86架構的服務器使用較多;系統負載不均衡——同一節點內不同類型的硬件資源使用不均衡、同一應用節點之間負載不均衡、時間不均衡;節點易失敗。
為了解決上述問題,本文針對異構物理服務器進行分析,研究其能耗優化以及資源合理調度等問題,旨在為現實應用提供指導。
虛擬化概念及技術起源于20世紀50年代,在20世紀60年代時,IBM系統首次采用了虛擬化平臺Hy pervisor。IBM、VMare、Xen/Citrix和 Midosoft是虛擬化業界的四大廠商,從服務器、存儲、網絡到桌面、應用,甚至數據中心的虛擬化,其都提供了成熟、多方位、廣泛的虛擬化產品。
在網絡技術和Web應用技術的推動下產生的網絡計算模式,是云計算技術產生的基礎。目前,成功的云計算應用實例有很多,比如21世紀初期,Amazon發布的簡單存儲服務S3;隨后Salesforce.com公司推出了SaaS服務,這種服務不是無償的,客戶可按照服務多少和時間長短進行支付;Google也在同一時期推出了GoogleDocs在線辦公服務和GoogleAppEngine程序開發平臺;而IBM也推出了藍云計算平臺,讓來自全球的用戶可以訪問云計算的大型服務器資源池,除此之外,還有像GoGrid、Animoto等成功的云計算應用實例。
對于云數據中心虛擬資源管理的研究,是目前的熱點和難點,它是云數據中心的關鍵技術,如果能夠將虛擬資源管理很好得利用,將不僅降低管理成本,還可以提高云中心資源利用率、實現高效可靠的云數據中心系統。所以,云數據中心是未來數據中心建設和發展的方向。圖1為云計算的概念模型。

圖1 云計算的概念模型
對于供應商而言,減少能源的消耗可以讓其減少成本,從而實現利潤最大化的目的。目前,眾多學者在虛擬化云計算數據中心的研究中,都提出了有效的提升方法,具體如下:①通過減少運營成本,并提供所需的服務質量這一有效的資源管理系統,通過虛擬機不斷地依據當前的資源利用率、虛擬機和熱狀態下的計算節點之間建立的虛擬拓撲網絡結構來進行整合。②能量感知性的網絡配置方法,是在高性能計算和虛擬化計算平臺中提出來的。③主要服務于客戶的交互式應用的管理教學模型,適用于云計算環境。④高效、綠色、強化的、可擴展的云計算架構的新框架的提出,改善了數據中心系統的整體功效。
現階段,很多方法考慮的是每個物理機節點上相同的物理參數,能耗改善方面也僅僅只是考慮到處理器,像內存和存儲空間等一些同樣重要的資源卻常常被忽略,大量聚集的工作量使得性能下降,能量消耗增加問題的出現。使用虛擬機在運行時的再分配能力,可使虛擬機實現重新部署,但在此中產生的非生產性的問題,也是需要認真考慮的。
為減少云數據中心的能源消耗,本文將針對物理服務器異構的云數據中心的資源調度問題、虛擬資源提供與部署、虛擬機遷移等問題進行研究,對異構物理服務器環境下的能耗優化的資源調度模型和算法進行闡述。
將用戶任務分配到合適的資源上,使任務完成時間減少,并且在提高資源的利用率、保證實踐跨度的實現、負載保持均衡、運行成本降低的同時,滿足客戶的需求,這個是實現資源分配的目的。
在服務器虛擬化中,管理員可以把一些利用率不高的物理服務器與應用之間的綁定解除,當出現服務器載重過多的情況時,管理員也可將原來運行在各個服務器上的應用整合到較少的幾臺服務器上,把一些利用率不高、空閑的服務器關閉,實現綠色節能的效果。這樣的操作,與傳統的模式大有不同,以前的服務器上只能有一個應用運行,如果服務器關閉的話,應用也就無法運行了。通常情況下,能耗中的優化問題就是最小化物理主機數,由于每個物理主機都有不同的能耗,加之物理主機異構的原因,能耗優化的問題就不是最小物理主機數了。資源分配的過程,就是對資源使用規則進行限定,將資源在不同使用者之間進行調整的過程。
資源管理調度模型可按照調度實體之間的關系、組織調度形式的不同進行劃分,比如集中調度模型、層次調度模型和非集中式調度模型就是按照后者來進行劃分的,三者中,集中調度模型和層次調度模型有一定的相關性。層次調度模型,是將集中調度程序中的每一個資源通過獨立的調度程序來進行本地的調度,它的應付方法很多。非集中式調度中對調度的程序有一個交互的作用,它的容錯和可靠性非常好,即使中間某個環節無法正常地進行,對于整個云計算系統而言,也不會有影響。調度系統的優化操作起來極不容易,不同的調度程序之間要保證同步運行和同步作業,但是不同域的資源上往往存在著一個并行程序的所有部分。
有相關學者將任務調度模型分為應用模型、計算平臺模型和性能目標模型。應用模型考慮的是任務的劃分、任務的屬性特征等,比較典型的有DAG(依賴任務模型)、IND(獨立任務模型)及DLM(可分任務模型)。系統中最重要的資源是處理機資源和網絡資源,而計算平臺模型就是對系統中資源的抽象。系統目標和用戶目標是性能模型的兩方目標。依靠于系統的基礎上,系統目標看中的是系統運行時整體的容納量,資源是否得到高效節能的運用、對每個環節是否均勻;而用戶目標,注重的是應用完成的時間是否能夠達到最小、周轉的時間和帶權的時間需要多久等。
基于體系結構各不相同的原因,資源管理調度模型可被劃分為層次、抽象所有者和市場經濟三種模型,它們各自的特點是:層次模型適應性很好,能夠在將資源進行分配的同時,通過自身具備的分化功能,管理具有站點自治性和底層異構性的資源;運營商擁有大量的資源,用戶需要從其處獲得后才能使用,而抽象所有者模型,相當于在兩者之間搭建了一個橋梁;計算經濟模型則是將前兩種模型的核心特征綜合了起來。這些都為資源分配和管理提供了有效的機制。
文章中描述的是目標函數的算法。因資源調度模型的多樣性和差異性,在考慮到這兩方面的因素后,學者們根據不同的資源調度模型提出了與之相對應的算法。其中較典型的有如下三種:考慮到每個資源分配的任務和完成率,來估算一個任務的完成時間,在完成的時間中對資源進行排序,將小于或等于預算成本的任務分配給這個資源,這種算法稱之為時間最優化算法;而代價最優算法,顧名思義,就是對隊列中的每個資源先進行升序的排列,之后盡量以最小的花費在規定期限內完成任務;關于時間代價最優算法,則結合了兩個算法的優點,既保證了最優化處理的時間,又不會讓處理成本增加。通過使用網格計算和分布式計算,將云計算資源調度的特點融入其中,可以很好地發揮云資源調度算法的優異性。資源虛擬化和面向用戶的調度性能優化是云數據中心資源調度的特點。
由于虛擬機具有隔離性,可將所有的計算任務都封裝在一個虛擬機內部,所以可通過虛擬機的動態遷移技術來完成計算任務的遷移,實現資源優化。
為了實現資源供給與資源消費雙贏的結果,云計算環境中不僅要考慮任務執行的成本約束,還要保證用戶QoS的需求。
1.云數據中心的虛擬資源提供與部署
云數據中心資源管理的特點是統一部署、集中管理、分布使用。可通過不同的方式,在資源虛擬化技術的基礎上,實現資源的自動部署、集中監控、動態優化、節能低耗等功能。
2.云數據中心資源提供策略
云計算用戶會有自己的資源需求請求,為了讓用戶請求的資源可以運行,需要將用戶請求的特定資源分配給其,體現了資源管理系統的基本功能。虛擬資源的提供和虛擬機資源的部署是資源管理的基礎。典型的云計算資源提供策略包括基于租借理論和動態多級資源池的策略、基于經濟學院的資源提供策略、基于一般優化算法的資源提供策略以及基于隨機整數規劃的最優資源提供策略。
為了將大量資源進行有效、統一的管理,虛擬機需部署在不同的物理機上,通過不同物理機之間的相互影響,使資源能夠達到最大限度的利用,杜絕云計算環境下服務器瓶頸現象的出現,從另一方面來說,對于云環境中的虛擬機部署要求也很高,它是資源快速部署的重要組成。受兩方面原因的影響,使得虛擬機的部署問題顯得很復雜。一方面,客戶在云環境中所需的服務,是以按需部署的方式為主的,但是在云環境中,資源和應用不僅變化范圍大,且具有極高的動態性;另一方面,每一個服務器在不一樣的云數據中心和不同層次的云環境中心里的部署模式也是不盡相同的,部署過程和系統結構之間的影響是顯而易見的,它們會影響著部署策略的不同。
(1)基于約束滿足問題的虛擬機部署策略。本著實現節能省量最大化的目的,在建模時采用約束滿足問題的方式,用戶的服務等級協議作為約束條件。在文獻中有表明,其是通過最大化空閑物理機數、關閉空閑物理機能量來實現的。此前已有相關學者提出動態虛擬機部署方案,約束條件為滿足用戶的SLA需求。在使用約束滿足問題,還需關注搭配約束和同類約束等其他容易引入額外的應用約束。
(2)基于網絡的虛擬機部署策略。傳統的虛擬機部署考慮的主體是效率和計算資源的利用率,沒有考慮到網絡問題,不夠全面。受虛擬機數據通信頻繁的影響,像網絡寬帶、延遲等因素也需要加入到應用進程性能的考慮中。
(3)基于容錯機制的虛擬機部署策略。虛擬機是基于主機服務器的物理設備和虛擬化平臺上的,所以在采用虛擬化技術之后,需要考慮到主機服務器的失敗對其上的虛擬機帶來的影響,并對癥下藥、制定解決此問題的對策。根據應用程序所需的性能,預測所需要的最少虛擬機數量,從中找出一個最優虛擬機的部署,實現主機服務器失敗所造成的影響最小化。
虛擬機遷移是指把一個虛擬機從一個主機或者存儲位置移動到另一個主機或者存儲位置。因系統虛擬化技術具有跨平臺、隔離性強、可移動等特點,這些資源如果想通過虛擬機來發揮作用的話,需要先將這些資源做好相應的劃分再應用。
遷移有冷遷移與熱遷移之分。冷遷移:將關閉電源的虛擬機移動到新的主機,可以將關聯的數據從一個存儲設備移動到另一個存儲設備,虛擬機不必在共享存儲器上,但如果將64位的操作系統移動到32位的ESXi主機上時,可以遷移完成,但是遷移完成后不能使用。熱遷移:即虛擬機的保存或恢復,將整個虛擬機的運行狀態完整保存下來,并在后期將其恢復至任何運行良好的硬件平臺上,且恢復速度相對更快,而整個恢復過程不會對虛擬機的平臺運行產生任何不利影響,用戶不會察覺到任何差異。
在數據中心方面,要注意計算節點失敗的問題。而計算節點失敗問題的出現,是因為數據中心里包含的有數量繁多的計算節點,這也提醒了我們,看問題要看全面,注意多考慮其他方面的因素。而虛擬機的熱遷移(也可稱之為實時遷移),可以有效地解決節點失敗的問題。它可以將失效的虛擬機轉移到穩定的物理機上,再將穩定的物理機上的新節點重新盡快地部署,用來代替已失效的節點,在保證穩定的物理機運行的同時,失敗的節點也不會對其產生影響。
云計算技術產業化發展到今天,已具有極高的市場競爭力,虛擬云數據中心不僅降低了系統運行成本,更為用戶提供了優質滿意的服務,實現了節能低耗、動態優化的目的,為云計算產業化的發展提供了前進的動力。
[1]林偉偉,劉波,朱良昌,齊德昱.基于CSP的能耗高效云計算資源調度模型與算法[J].通信學報,2013(12):33-41.
[2]齊文艷.面向能耗優化的數據中心資源動態調度模型與方法[D].哈爾濱工業大學,2013.
[3]王梅.云計算環境中的資源調度策略研究及仿真分析[D].浙江師范大學,2013.
[4]王科.基于改進蟻群算法的云計算任務調度策略研究[D].杭州電子科技大學,2013.
[5]張龍.虛擬化資源調度技術的研究[D].南京航空航天大學,2014.
[6]劉永.云計算環境下虛擬機資源調度策略研究[D].山東師范大學,2012.
[7]錢瓊芬,李春林,張小慶,李臘元.云數據中心虛擬資源管理研究綜述[J].計算機應用研究,2012( 7):2411-2415,2421.
[8]林偉偉,齊德昱.云計算資源調度研究綜述[J].計算機科學,2012( 10):1-6.