一種云計算系統(tǒng)及其資源和能效管理方法
【專利摘要】本發(fā)明涉及一種云計算系統(tǒng)及云計算中自適應虛擬化資源和能耗管理方法,云計算系統(tǒng)包括多個云計算子系統(tǒng),該云計算子系統(tǒng)包括物理結(jié)點和物理結(jié)點存儲設備,物理結(jié)點中包括CPU和至少一虛擬機,每個虛擬機使用物理結(jié)點存儲設備中的虛擬存儲資源。自適應虛擬化資源管理方法包括:對虛擬機的控制、對物理結(jié)點的控制、對遷移域的控制、對云計算系統(tǒng)全局的控制。
【專利說明】一種云計算系統(tǒng)及其資源和能效管理方法
【技術領域】
[0001]本發(fā)明屬于云計算虛擬機【技術領域】,特別涉及一種云計算系統(tǒng)及其資源和能效管理方法。
【背景技術】
[0002]云計算概念的提出,至今只有短短的幾年。但是學術界和工業(yè)界對云計算背后包含的計算科學概念并行計算、分布式計算和網(wǎng)格計算等都展開了廣泛和深入的研究。虛擬化和效用計算的引入,給云計算的應用和發(fā)展帶來了更多的機會,同時也提出了更多和更高的挑戰(zhàn)。云計算基礎設施將超大規(guī)模的計算資源進行整合并向眾多用戶提供按需的極其廉價的服務。由于云計算中軟硬件和網(wǎng)絡應用的多樣性和豐富性、網(wǎng)絡應用的負載的實時動態(tài)變化性和人工管理復雜系統(tǒng)的限制性,給虛擬化云計算的控制和管理帶來新的問題。同時云計算的超大規(guī)模性使得能耗成為制約云計算系統(tǒng)發(fā)展的一個主要因素。
[0003]本發(fā)明提供了一種云計算系統(tǒng)和云計算基礎設施中資源和能效的自適應管理方法。該方法設計和實現(xiàn)了不同時間范圍和空間規(guī)模下的多層資源控制器?;谒膫€不同的控制器(虛擬機控制器、結(jié)點控制器、遷移域控制器和全局控制器),設計和實現(xiàn)了四個控制步驟,有效的改善了云計算過程中虛擬資源和能耗的管理和使用效率。
【發(fā)明內(nèi)容】
[0004]本發(fā)明提供了一種云計算系統(tǒng),該系統(tǒng)包括多個云計算子系統(tǒng),該云計算子系統(tǒng)包括物理結(jié)點和物理結(jié)點存儲設備,物理結(jié)點中包括CPU和至少一虛擬機,每個虛擬機使用物理結(jié)點存儲設備中的虛擬存儲資源。
[0005]本發(fā)明還提供了一種基于云計算系統(tǒng)的資源和能效管理方法,如圖2所示,所述方法包括下列步驟:
第一步:對虛擬機的控制
(1)監(jiān)控虛擬機的資源使用情況,并監(jiān)控應用的性能指標和能耗指標;
(2)在每個所述虛擬機中部署一個虛擬機控制器;
(3)虛擬機控制器計算為滿足服務級目標和低于能耗預算所需的資源和CPU工作電壓/頻率,并將資源請求和CPU工作電壓/頻率值的設置請求發(fā)送給結(jié)點控制器;
第二步:對物理結(jié)點的控制
(1)在每個物理結(jié)點部署一個結(jié)點控制器,用于控制分配給該結(jié)點上的所有虛擬機的資源和調(diào)節(jié)分配給虛擬機的虛擬CPU的動態(tài)電壓/頻率;
(2)該結(jié)點控制器收集結(jié)點內(nèi)所有虛擬機控制器發(fā)來的資源請求和CPU工作電壓/頻率值的設置請求,確定是否有足夠的資源滿足所有請求以及能耗是否超過預算,若滿足則為各個虛擬機分配資源,并動態(tài)調(diào)整CPU電壓/頻率,若部分滿足則根據(jù)應用優(yōu)先級提供區(qū)分服務,若不滿足則向遷移域和全局控制器發(fā)出請求,將某些虛擬機遷移到其他結(jié)點;
第三步:對遷移域的控制 (1)通過將相互距離比較近的一些結(jié)點組成一個遷移域,把云計算系統(tǒng)劃分為多個遷移域;
(2)當某一物理結(jié)點中的所有應用的資源請求超過結(jié)點容量、能耗超過預算時,將該物理結(jié)點上的虛擬機重新放置到其他結(jié)點上;
第四步:對云計算系統(tǒng)全局的控制
(1)收集來自云計算系統(tǒng)內(nèi)的每個虛擬機的資源使用情況、每個結(jié)點的資源使用、可用率和能耗、每個應用的性能指標和虛擬機遷移請求;
(2)分析每個應用的歷史和當前數(shù)據(jù),預測應用所需的資源和能耗,并結(jié)合上述信息進行云計算的能力規(guī)劃,制定應用部署到虛擬機的方案和相應的遷移規(guī)劃,根據(jù)部署方案和遷移規(guī)劃重新在整個全局范圍內(nèi)進行虛擬機布局和遷移應用。
[0006]【專利附圖】
【附圖說明】
[0007]圖1云計算系統(tǒng)框架圖;
圖2基于云計算系統(tǒng)的資源和能效管理流程圖。
[0008]【具體實施方式】
[0009]下面結(jié)合附圖和具體實施例對本發(fā)明作進一步詳細的說明,并不是把本發(fā)明的實施范圍局限于此。
[0010]如圖1所示,云計算系統(tǒng),可以包括多個云計算子系統(tǒng),該云計算子系統(tǒng)包括物理結(jié)點和物理結(jié)點存儲設備,而物理結(jié)點中包括虛擬機、CPU,每個虛擬機使用物理結(jié)點存儲設備中的虛擬存儲資源。
[0011]針對虛擬化云計算的大規(guī)模和高復雜性,采用層次化和模塊化的方法將自適應管理體系分為虛擬機管理、結(jié)點管理、遷移域管理和全局管理四個層次?;谒膫€不同的控制器(虛擬機控制器、結(jié)點控制器、遷移域控制器和全局控制器),設計了四個控制循環(huán)。虛擬機和結(jié)點控制循環(huán)采取被動方式調(diào)整虛擬化資源的分配和CPU工作電壓/頻率,以適應短期和結(jié)點范圍的負載變化。全局控制循環(huán)采取主動方式預測整體的資源需求和能耗并通過虛擬機遷移來適應長期和全局范圍的負載變化。結(jié)合被動和主動適應方式,遷移域控制循環(huán)對域內(nèi)的虛擬化資源和能耗進行自適應控制和管理。
[0012]下面詳細描述四個控制循環(huán)以及如何對它們進行整合。
[0013](一)虛擬機控制循環(huán)
虛擬機控制循環(huán)中的主要組件包括資源使用監(jiān)控器、性能監(jiān)控器、能耗監(jiān)控器和虛擬機控制器。資源使用監(jiān)控器負責監(jiān)控虛擬機的資源使用情況。性能監(jiān)控器負責監(jiān)控應用的性能指標。能耗監(jiān)控器負責監(jiān)控虛擬機的能耗情況。每個結(jié)點中的虛擬機部署一個虛擬機控制器。一個虛擬機封裝一個應用(或多層應用中的一層,如邏輯層,數(shù)據(jù)層)。將被控制的虛擬化系統(tǒng)(虛擬機及封裝的應用)看成是一個黑盒系統(tǒng)。系統(tǒng)的控制輸入是分配給虛擬機的多種資源和一定的CPU工作電壓/頻率,測量輸出是應用的性能指標和能耗,對系統(tǒng)產(chǎn)生干擾的是應用負載的變化或系統(tǒng)的管理和維護需求等。根據(jù)被控制的虛擬化系統(tǒng)的輸入和輸出之間的關系,采用合適的系統(tǒng)辨識方法建立描述被控制的虛擬化系統(tǒng)行為的資源能效模型。在模型基礎上,應用反饋控制方法設計和實現(xiàn)優(yōu)化控制器。根據(jù)負載的變化,優(yōu)化控制器動態(tài)調(diào)整控制輸入(多種資源的分配和CPU工作電壓/頻率的設定)使得控制輸出(應用的性能指標和能耗)滿足所期望的需求,即應用的服務級目標和不超過能耗預算(參考輸入)。資源能效模型和優(yōu)化控制器構(gòu)成虛擬機控制器。
[0014]按一定的時間周期(秒或分鐘級)執(zhí)行虛擬機控制循環(huán)?;诳刂破鞣€(wěn)定時間(settling time)和被控制的虛擬化系統(tǒng)的穩(wěn)定性之間的權衡來選擇控制循環(huán)周期的時間。過長的控制周期可能導致數(shù)據(jù)搜集的時間變長和降低虛擬機控制器的響應速度。而控制周期過短會引起被控制的虛擬化系統(tǒng)的不穩(wěn)定。本實施例將虛擬機控制周期設為20秒。在每個虛擬機控制循環(huán)周期中,虛擬機控制器計算為滿足服務級目標所需的資源和CPU工作電壓/頻率值,將資源請求和CPU工作電壓/頻率值的設置請求發(fā)送給結(jié)點控制器。在每個虛擬機控制循環(huán)周期結(jié)束時,執(zhí)行以下步驟:
第I步性能監(jiān)控器測量上一個控制周期中應用性能指標的值(例如,一個web應用的客戶感知平均響應時間是2秒),同時能耗監(jiān)控器測量上一個控制周期中虛擬機的能耗值,然后通過其反饋路徑將性能指標值和能耗指標值發(fā)送給虛擬機控制器。應用性能和能耗是控制循環(huán)中的被控制變量。
[0015]第2步每個虛擬機中的資源使用監(jiān)控器發(fā)送上一個控制周期中該虛擬機的資源使用情況(例如,測得的磁盤消耗量為100MB)給虛擬機控制器。同時結(jié)點控制器將上一個控制周期中給虛擬機設置的CPU工作電壓/頻率值發(fā)送給虛擬機控制器。虛擬機控制器使用這些測量值來更新應用性能及能耗與其資源使用和CPU工作電壓/頻率之間的動態(tài)關系模型,模型將在下一個控制周期中優(yōu)化資源分配和CPU工作電壓/頻率設置來實現(xiàn)應用服務級目標和降低能耗。
[0016]第3步虛擬機控制器將測得的性能指標值和應用的服務級目標進行比較,同時將測得的能耗值和能耗預算進行比較,基于兩者之間的差值,來確定下一個控制周期所需的資源分配和CPU工作電壓/頻率值的設置,并發(fā)送資源請求和CPU工作電壓/頻率值的設置請求給應用所在結(jié)點的結(jié)點控制器。所需的資源分配和CPU工作電壓/頻率值的設置是虛擬機控制循環(huán)的控制變量。
[0017](二)結(jié)點控制循環(huán)
每個結(jié)點部署一個結(jié)點控制器,用于控制分配給該結(jié)點上的所有虛擬機的資源和調(diào)節(jié)分配給虛擬機的虛擬CPU的動態(tài)電壓/頻率。結(jié)點控制循環(huán)的主要組件包括結(jié)點中的所有虛擬機控制器,一個資源驅(qū)動器,一個動態(tài)電壓/頻率調(diào)節(jié)器和一個結(jié)點控制器。在每個結(jié)點控制循環(huán)周期(秒或分鐘級)中,結(jié)點控制器收集結(jié)點內(nèi)所有虛擬機控制器發(fā)來的資源請求和CPU工作電壓/頻率值的設置請求,確定是否有足夠的資源滿足所有請求以及能耗是否超過預算,若滿足則通過資源驅(qū)動器為各個虛擬機分配資源,同時通過動態(tài)電壓/頻率調(diào)節(jié)器設定虛擬機的CPU電壓/頻率,若部分滿足則根據(jù)應用優(yōu)先級(由應用服務提供者和用戶協(xié)商確定)提供區(qū)分服務,若不滿足則向遷移域和全局控制器發(fā)出請求,將某些虛擬機遷移到其他結(jié)點。
[0018]緊接著上一個控制周期中的虛擬機控制循環(huán)周期性地調(diào)用結(jié)點控制循環(huán)。在每個結(jié)點控制循環(huán)周期結(jié)束時,執(zhí)行以下步驟: 第I步結(jié)點控制器收集來自相應結(jié)點中虛擬機控制器的資源請求和CPU工作電壓/頻率值的設置請求。然后,確定結(jié)點是否有滿足這些請求的足夠資源以及能耗是否超過預算。如果可以滿足所有請求,則繼續(xù)第2步;如果部分請求無法得到滿足并且發(fā)出請求的應用優(yōu)先級比較低,則跳轉(zhuǎn)到第3步;否則,跳轉(zhuǎn)到遷移域控制循環(huán)的第2步,遷移一些虛擬機到其他結(jié)點。
[0019]第2步結(jié)點控制器計算實際分配的資源和設置的CPU工作電壓/頻率,然后跳轉(zhuǎn)到第4步。
[0020]第3步根據(jù)服務級區(qū)分,結(jié)點控制器計算實際分配的資源和設置的CPU工作電壓
/頻率。
[0021]第4步結(jié)點控制器發(fā)送計算得到的資源分配值給資源驅(qū)動器,資源驅(qū)動器將這些值輸入到結(jié)點中的資源調(diào)度器。
[0022]第5步資源調(diào)度器分配相應的結(jié)點資源部分給多個虛擬機,同時,動態(tài)電壓/頻率調(diào)節(jié)器為多個虛擬機設定CPU電壓/頻率。
[0023]另外,在結(jié)點控制循環(huán)的每個控制周期結(jié)束時,結(jié)點控制器發(fā)送結(jié)點的資源使用情況和可用性給遷移域控制器和全局控制器。
[0024](三)遷移域控制循環(huán)
通過將相互距離比較近的一些結(jié)點組成一個遷移域,把云計算基礎設施劃分為多個遷移域。在遷移域控制循環(huán)周期(分鐘或小時級)中,虛擬機在域內(nèi)的結(jié)點之間遷移。當物理結(jié)點中的所有應用的資源請求超過結(jié)點容量、能耗超過預算、被控制系統(tǒng)更新和軟硬件失效時,遷移域控制器將該結(jié)點上的虛擬機重新放置到其他結(jié)點上。遷移域控制器接收來自域內(nèi)的資源使用監(jiān)控器的每個虛擬機的資源使用情況、能耗監(jiān)控器的每個虛擬機的能耗情況和來自結(jié)點控制器的虛擬機遷移請求及每個結(jié)點的資源使用、能耗和可用率情況。
[0025]遷移域控制循環(huán)的主要部件包括域內(nèi)的所有資源使用監(jiān)控器、能耗監(jiān)控器、結(jié)點控制器、一個遷移域控制器和一個遷移驅(qū)動器。在每個遷移域控制循環(huán)周期結(jié)束時,執(zhí)行以下步驟:
第I步遷移域控制器制定放置策略。
[0026]第2步遷移域控制器根據(jù)放置策略設計遷移規(guī)劃,然后將遷移規(guī)劃發(fā)送給遷移驅(qū)動器。
[0027]第3步遷移驅(qū)動器按遷移規(guī)劃執(zhí)行虛擬機的遷移。
[0028](四)全局控制循環(huán)
云計算基礎設施中部署一個全局控制器。全局控制器收集來自全局范圍內(nèi)的每個虛擬機的資源使用情況和能耗情況、每個結(jié)點的資源使用、能耗和可用率、每個應用的性能指標、能耗預算和虛擬機遷移請求,然后將這些信息發(fā)送給策略生成器。在每個全局控制循環(huán)周期(小時或天級)中,通過模擬的方法,策略生成器分析每個應用的歷史和當前數(shù)據(jù),預測應用所需的資源和CPU電壓/頻率值,并結(jié)合以上信息設計云計算的能力規(guī)劃,制定應用部署到虛擬機的方案和相應的遷移規(guī)劃,根據(jù)部署方案和遷移規(guī)劃重新在整個全局范圍內(nèi)中進行虛擬機布局,遷移應用。在某些結(jié)點使用率低和閑置時,可以將其關閉,從而降低整個云基礎設施的使用代價和能耗。
[0029]管理綜合架構(gòu)由四層的資源和能耗控制循環(huán)組成:虛擬機控制循環(huán)、結(jié)點控制循環(huán)、遷移域控制循環(huán)和全局控制循環(huán)。管理綜合架構(gòu)還定義了各層之間的接口,從而使得不同層能相互協(xié)調(diào)工作??刂破髦g的接口比較簡單。結(jié)點上的每個虛擬機控制器提交其所需的資源值和CPU電壓/頻率值給相應的結(jié)點控制器。然后,結(jié)點控制器決定如何為每個虛擬機分配資源和CPU電壓/頻率,并基于這些所需的資源來滿足應用服務級目標以及CPU電壓/頻率來限制能耗。否則,結(jié)點控制器也許無法合理地為所有虛擬機分配資源和設置CPU電壓/頻率,以至于違背一個或幾個應用的服務級目標和超過能耗預算。如果結(jié)點控制器確定的所需資源值超過了結(jié)點容量或者能耗超過預算,結(jié)點控制器將請求遷移域控制器遷移一些虛擬機到其他結(jié)點。模塊化和分層的解決方法有助于虛擬機和結(jié)點之間及控制器間的相互聯(lián)系簡單化。另外,可以只考慮某個控制循環(huán)內(nèi)的部件間的相互作用,而不用同時關注其他控制循環(huán)內(nèi)的部件。因此,模塊化和分層降低了整個系統(tǒng)的復雜性。
[0030]本發(fā)明的上述方法有效的改善了云計算中資源和能耗的分配和管理,提高了資源的利用效率、系統(tǒng)的運算效率并降低了能耗。
[0031]以上實施方式僅用于說明本發(fā)明,而并非對本發(fā)明的限制,有關【技術領域】的技術人員,在不脫離本發(fā)明方法與范圍的情況下,還可以做出各種變化,因此所有等同的技術方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護范圍應有權利要求限定。
【權利要求】
1.一種云計算系統(tǒng),該系統(tǒng)包括多個云計算子系統(tǒng),該云計算子系統(tǒng)包括物理結(jié)點和物理結(jié)點存儲設備,其特征在于:物理結(jié)點中包括CPU和至少一虛擬機,每個虛擬機使用物理結(jié)點存儲設備中的虛擬存儲資源。
2.一種基于如權利要求1所述的云計算系統(tǒng)的資源與能效管理方法,其特征在于,所述方法包括下列步驟: 第一步:對虛擬機的控制 (1)監(jiān)控虛擬機的資源使用情況,并監(jiān)控應用的性能指標和能耗指標; (2)在每個所述虛擬機中部署一個虛擬機控制器; (3)虛擬機控制器計算為滿足服務級目標和低于能耗預算所需的資源和CPU工作電壓/頻率,并將資源請求和CPU工作電壓/頻率值的設置請求發(fā)送給結(jié)點控制器; 第二步:對物理結(jié)點的控制 (1)在每個結(jié)點部署一個結(jié)點控制器,用于控制分配給該結(jié)點上的所有虛擬機的資源和調(diào)節(jié)分配給虛擬機的虛擬CPU的動態(tài)電壓/頻率; (2)該結(jié)點控制器收集結(jié)點內(nèi)所有虛擬機控制器發(fā)來的資源請求和CPU工作電壓/頻率值的設置請求,確定是否有足夠的資源滿足所有請求以及能耗是否超過預算,若滿足則為各個虛擬機分配資源,并動態(tài)調(diào)整CPU電壓/頻率,若部分滿足則根據(jù)應用優(yōu)先級提供區(qū)分服務,若不滿足則向遷移域和全局控制器發(fā)出請求,將某些虛擬機遷移到其他結(jié)點; 第三步:對遷移域的控制 (1)通過將相互距離比較近的一些結(jié)點組成一個遷移域,把云計算系統(tǒng)劃分為多個遷移域; (2)當某一物理結(jié)點中的所有應用的資源請求超過結(jié)點容量、能耗超過預算時,將該物理結(jié)點上的虛擬機重新放置到其他結(jié)點上; 第四步:對云計算系統(tǒng)全局的控制 (1)收集來自云計算系統(tǒng)內(nèi)的每個虛擬機的資源使用情況、每個結(jié)點的資源使用、可用率和能耗、每個應用的性能指標和虛擬機遷移請求; (2)分析每個應用的歷史和當前數(shù)據(jù),預測應用所需的資源和能耗,并結(jié)合上述信息進行云計算的能力規(guī)劃,制定應用部署到虛擬機的方案和相應的遷移規(guī)劃,根據(jù)部署方案和遷移規(guī)劃重新在整個全局范圍內(nèi)進行虛擬機布局和遷移應用。
【文檔編號】H04L12/24GK103685562SQ201310744263
【公開日】2014年3月26日 申請日期:2013年12月31日 優(yōu)先權日:2013年12月31日
【發(fā)明者】李強, 侯志華, 鄒暾, 黃金貴 申請人:湖南師范大學