專利名稱:一種虛擬機能耗估計方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及虛擬機的能耗估計,具體涉及一種提高了準確度的虛擬機能耗估計方
法及裝置。
背景技術(shù):
在計算機系統(tǒng)中,虛擬機(VM)能耗無法直接測量,而虛擬機能耗又是計算機系統(tǒng)
管理中的一個重要因素?,F(xiàn)有技術(shù)中存在有多種虛擬機能耗估計方式,例如,用系統(tǒng)總的能耗除以虛擬機的數(shù)量估算單個虛擬機能耗,或者,基于CPU運行時間的虛擬機能耗估計技術(shù)方案,即從虛擬機實例(VM instance)登錄開始直至終止的時間,例如Amazon EC2采用的就是這種方·式。顯然,現(xiàn)有技術(shù)中僅基于CPU單一因素進行估算的方法采用的都是比較粗粒度的估算方式,因此,現(xiàn)有技術(shù)中的能耗估算準確度低,仍然存在著改進的空間。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供了一種計算機系統(tǒng)中估算虛擬機能耗的方法,所述計算機系統(tǒng)包括系統(tǒng)硬件資源以及多個虛擬機,所述方法包括獲取所述系統(tǒng)硬件資源的系統(tǒng)能耗;獲取由所述系統(tǒng)硬件資源劃分出的多個功能單元的事件信息,并將所述事件信息映射至各個所述虛擬機;根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算所述虛擬機的能耗。該方法還可以包括所述根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算所述虛擬機的能耗的步驟包括根據(jù)預(yù)先確定的能耗權(quán)重得到各個所述功能單元的能耗,所述能耗權(quán)重是所述各個功能單元的能耗占所述系統(tǒng)能耗的比例;進而,根據(jù)所述系統(tǒng)硬件資源功能單元事件信息統(tǒng)計的事件總值對所述功能單元的能耗進行均分,確定所述能耗系數(shù);根據(jù)所述映射后的事件信息以及所述能耗系數(shù),通過乘積計算所述各個虛擬機的各個所述功能單元的能耗;對所述各個虛擬機中所述功能單元的能耗進行求和估算所述各個虛擬機的能耗。該方法的實施例還可包括所述根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算所述虛擬機的能耗的步驟包括周期獲取多組所述系統(tǒng)能耗,以及映射至各個所述虛擬機的所述功能單元的事件信息,進而計算所述多個能耗系數(shù);根據(jù)所述映射至各個所述虛擬機的事件信息以及所述能耗系數(shù),通過乘積計算所述各個虛擬機的各個所述功能單元的能耗;對所述各個虛擬機的各個功能單元的能耗進行求和計算所述各個虛擬機的能耗。根據(jù)本發(fā)明的另一個方面,提供了一種計算機系統(tǒng)中虛擬機能耗估算系統(tǒng),所述計算機系統(tǒng)包括系統(tǒng)硬件資源以及多個虛擬機,所述估算系統(tǒng)包括系統(tǒng)能耗獲取部件,被配置為獲取所述系統(tǒng)硬件資源的系統(tǒng)能耗;功能單元事件讀取部件,被配置為獲取所述由系統(tǒng)硬件資源劃分出的多個功能單元的事件信息,并將所述事件信息映射至各個所述虛擬機;虛擬機能耗計算部件,被配置為根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算各個所述虛擬機的能耗。該估算系統(tǒng)還可以包括其中,所述虛擬機能耗計算部件包括被配置為根據(jù)預(yù)先確定的能耗權(quán)重得到各個所述功能單元的能耗的部件,所述能耗權(quán)重是所述各個功能單元的能耗占所述系統(tǒng)能耗的比例;進而,被配置為根據(jù)所述系統(tǒng)硬件資源功能單元事件信息統(tǒng)計的事件總值對所述功能單元的能耗進行均分,確定所述能耗系數(shù)的部件;被配置為根據(jù)所述映射至各個所述虛擬機的事件信息以及所述能耗系數(shù),通過乘積計算所述各個虛擬機的各個所述功能單元的能耗的部件;被配置為對所述各個虛擬機中的所述功能單元的能耗進行求和計算所述各個虛擬機的能耗的部件。采用本發(fā)明的技術(shù)方案可以提高虛擬機能耗估計的準確度。
所附權(quán)利要求中闡述了被認為是本發(fā)明的特點的創(chuàng)造性特征。但是,通過參照附圖閱讀下面對說明性實施例的詳細說明可更好地理解發(fā)明本身以及其優(yōu)選使用模式、目標、特征以及優(yōu)點,在附圖中圖I示出一種估算虛擬機能耗的計算機系統(tǒng)示意圖。圖2示出虛擬機能耗估算方法流程圖。圖3示出按照本發(fā)明的一個實施例中的具體流程。圖4示出在一個實施例中虛擬機HPM事件收集示意圖。圖5不出虛擬機I/O吞吐量數(shù)據(jù)獲取方法流程圖。圖6A示出在一個實施例中塊裝置I/O吞吐量信息收集示意圖。圖6B示出在一個實施例中網(wǎng)絡(luò)收發(fā)裝置I/O吞吐量信息收集示意圖。圖6C示出在一個實施例中虛擬機I/O吞吐量信息收集示意圖。圖7示出是本發(fā)明中第一種根據(jù)能耗系數(shù)計算虛擬機能耗的實施例。圖8示出不同CPU負載下計算機系統(tǒng)能耗權(quán)重示意圖。圖9示出根據(jù)能耗權(quán)重確定虛擬機能耗的映射關(guān)系圖。圖10示出是本發(fā)明中第二種根據(jù)能耗系數(shù)計算虛擬機能耗的實施例。圖11示出用于估算虛擬機能耗的計算機系統(tǒng)示意圖。圖12示出示出了圖11所示系統(tǒng)的一個具體的實施例圖。圖13示出功能單元事件讀取部件1102中可包括的I/O吞吐量讀取器。圖14示出了按照本發(fā)明一實施例中的能耗計算部件1103示意圖。圖15表示根據(jù)本發(fā)明一實施例的云計算節(jié)點。圖16示出表示根據(jù)本發(fā)明一實施例的云計算環(huán)境。圖17示出表示根據(jù)本發(fā)明一實施例的抽象模型層。
具體實施例下面參照附圖來說明本發(fā)明的實施例。在下面的說明中,闡述了許多具體細節(jié)以便更全面地了解本發(fā)明。但是,對于本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明顯的是,本發(fā)明的實現(xiàn)可不具有這些具體細節(jié)中的一些。此外,應(yīng)當(dāng)理解的是,本發(fā)明并不限于所介紹的特定實施例。相反,可以考慮用下面的特征和要素的任意組合來實施本發(fā)明,而無論它們是否涉及不同的實施例。因此,下面的方面、特征、實施例和優(yōu)點僅作說明之用而不應(yīng)被看作是所附權(quán)利要求的要素或限定,除非權(quán)利要求中明確提出?,F(xiàn)參照圖1,示出了一種可進行虛擬機能耗估算的計算機系統(tǒng)。如圖所示,該計算機系統(tǒng)中至少包括虛擬機管理器(hypervisor) 1001,是一種運行在系統(tǒng)硬件和操作系統(tǒng)之間的中間軟件層,可允許多個虛擬機1002共享系統(tǒng)硬件資源1003,虛擬機管理器1001也可叫做虛擬機監(jiān)視器(VMM, virtual machine monitor),通過使用虛擬機管理器可以隱藏特定計算平臺的實際物理特性,為用戶提供抽象的、統(tǒng)一的、模擬的計算環(huán)境,即虛擬機1002,圖I中具有多個虛擬機,虛擬機中運行的操作系統(tǒng)被稱為客戶機操作系統(tǒng)(GuestOS)。圖I中的系統(tǒng)硬件資源1003是虛擬機管理器所管理的硬件資源,可體現(xiàn)為主機系統(tǒng),計算機集群,或者云計算環(huán)境中的一個或多個計算節(jié)點等任意方式均可。以下將進一步介紹如何基于功能單元事件的統(tǒng)計,估算圖I所示計算機系統(tǒng)中各個虛擬機能耗的方法。
圖2示出了虛擬機能耗估算方法流程圖,如圖所示,該方法包括了以下步驟步驟2001,獲取所述系統(tǒng)硬件資源的系統(tǒng)能耗。所屬領(lǐng)域技術(shù)人員可采用現(xiàn)有的方式直接或間接測量系統(tǒng)能耗,在此不作贅述。步驟2002,獲取由所述系統(tǒng)硬件資源劃分出的多個功能單元的事件信息,并將所述事件信息映射至各個所述虛擬機。系統(tǒng)硬件資源1003,虛擬機1002均以相同的方式劃分出多個功能單元,例如,CPU,Memory (存取設(shè)備),I/O等功能單元。其中,存取設(shè)備可包括任何類型的存取設(shè)備,例如內(nèi)存存取設(shè)備或者硬盤存取設(shè)備;1/0單元可以包括任何類型的輸入輸出設(shè)備,例如塊裝置(Block device) 1/0,網(wǎng)絡(luò)裝置發(fā)送與接收單元等。所屬領(lǐng)域技術(shù)人員在此基礎(chǔ)上可以任意組合出多個功能單元,為了進一步提高能耗估算的準確度,所述多個功能單元可以在系統(tǒng)硬件資源中選擇主要耗能的單元,在一個優(yōu)選的實施例中,所述多個功能單元至少包括CPU,然后可以再包括一個或兩個其它主要耗能的功能單元,例如內(nèi)存或者1/0。在確定主要耗能的功能單元時,可以表I所示的典型服務(wù)器中各部件能耗統(tǒng)計值作為參考,所屬領(lǐng)域技術(shù)人員也可根據(jù)經(jīng)驗自行設(shè)定各功能單元的能耗權(quán)重。表I
權(quán)利要求
1.一種計算機系統(tǒng)中虛擬機能耗的估算方法,所述計算機系統(tǒng)包括系統(tǒng)硬件資源以及多個虛擬機,所述方法包括 獲取所述系統(tǒng)硬件資源的系統(tǒng)能耗; 獲取由所述系統(tǒng)硬件資源劃分出的多個功能單元的事件信息,并將所述事件信息映射至各個所述虛擬機; 根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算所述虛擬機的能耗。
2.如權(quán)利要求I所述的估算方法,其中,所述根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算所述虛擬機的能耗的步驟包括 根據(jù)預(yù)先確定的能耗權(quán)重得到所述系統(tǒng)硬件資源中各個所述功能單元的能耗,所述能耗權(quán)重是所述各個功能單元的能耗占所述系統(tǒng)能耗的比例; 根據(jù)所述系統(tǒng)硬件資源功能單元事件信息統(tǒng)計的事件數(shù)量總值對所述功能單元的能耗進行均分,確定所述能耗系數(shù); 根據(jù)所述映射后的事件信息以及所述能耗系數(shù),通過乘積計算所述各個虛擬機的各個所述功能單元的能耗; 對所述各個虛擬機中所述功能單元的能耗進行求和估算所述各個虛擬機的能耗。
3.如權(quán)利要求I所述的估算方法,其中,所述根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算所述虛擬機的能耗的步驟包括將劃分出的未獲取事件信息的功能單元的能耗在所述虛擬機之間進行分配。
4.如權(quán)利要求2所述的估算方法,其中,在所述根據(jù)預(yù)先確定的能耗權(quán)重得到各個所述功能單元的能耗的步驟中,在預(yù)先確定多組所述能耗權(quán)重中根據(jù)所述系統(tǒng)硬件資源的CPU利用率調(diào)取相應(yīng)的能耗權(quán)重。
5.如權(quán)利要求I所述的估算方法,其中,所述根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算所述虛擬機的能耗的步驟包括 周期獲取多組所述系統(tǒng)能耗,以及映射至各個所述虛擬機的所述功能單元的事件信息,進而計算所述多個能耗系數(shù); 根據(jù)所述映射至各個所述虛擬機的事件信息以及所述能耗系數(shù),通過乘積計算所述各個虛擬機的各個所述功能單元的能耗; 對所述各個虛擬機的各個功能單元的能耗進行求和計算所述各個虛擬機的能耗。
6.如權(quán)利要求I至5中任一項權(quán)利要求所述的估算方法,所述功能單元中包括CPU,以及至少一個所述系統(tǒng)硬件資源中能耗較大的功能單元,所述方法包括 讀取所述CPU的事件信息,根據(jù)所述CPU的事件中的標識信息,將所述事件信息映射至各個所述虛擬機。
7.如權(quán)利要求I至5中任一項權(quán)利要求所述的估算方法,所述功能單元中包括存儲單元,所述方法包括 讀取所述存儲單元的事件信息,根據(jù)所述存儲單元的事件中的標識信息,將所述事件信息映射至各個所述虛擬機。
8.如權(quán)利要求I至5中任一項權(quán)利要求所述的估算方法,所述功能單元中包括1/0,獲取所述I/O吞吐量信息作為所述的I/O的事件信息,所述方法包括響應(yīng)于所述I/O的請求或所述I/O的響應(yīng),讀取所述I/O請求或所述I/O響應(yīng)的吞吐量數(shù)據(jù); 根據(jù)所收集到的所述I/O請求或所述I/O響應(yīng)信息中的標識信息,映射得到該請求或響應(yīng)所對應(yīng)的虛擬機標識。
9.如權(quán)利要求I所述的估算方法,其中所述系統(tǒng)硬件資源包括硬件性能監(jiān)控器,所述硬件性能監(jiān)視器被配置為寄存所述功能單元的事件信息。
10.如權(quán)利要求前述任一項權(quán)利要求所述的估算方法,其中,所述系統(tǒng)硬件資源中包括多個云計算節(jié)點,云計算消費者使用本地計算設(shè)備通過瘦客戶機接口訪問所述多個虛擬機。
11.一種計算機系統(tǒng)中虛擬機能耗估算系統(tǒng),所述計算機系統(tǒng)包括系統(tǒng)硬件資源以及多個虛擬機,所述估算系統(tǒng)包括 系統(tǒng)能耗獲取部件,被配置為獲取所述系統(tǒng)硬件資源的系統(tǒng)能耗; 功能單元事件讀取部件,被配置為獲取所述由系統(tǒng)硬件資源劃分出的多個功能單元的事件信息,并將所述事件信息映射至各個所述虛擬機; 虛擬機能耗計算部件,被配置為根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù),以及根據(jù)所述映射后的事件信息,計算各個所述虛擬機的能耗。
12.如權(quán)利要求11所述的估算系統(tǒng),其中,所述虛擬機能耗計算部件包括 被配置為根據(jù)預(yù)先確定的能耗權(quán)重得到所述系統(tǒng)硬件資源的各個所述功能單元的能耗的部件,所述能耗權(quán)重是所述各個功能單元的能耗占所述系統(tǒng)能耗的比例;進而, 被配置為根據(jù)所述系統(tǒng)硬件資源功能單元事件信息統(tǒng)計的事件數(shù)量總值對所述功能單元的能耗進行均分,確定所述能耗系數(shù)的部件; 被配置為根據(jù)所述映射至各個所述虛擬機的事件信息以及所述能耗系數(shù),通過乘積計算所述各個虛擬機的各個所述功能單元的能耗的部件; 被配置為對所述各個虛擬機中的所述功能單元的能耗進行求和計算所述各個虛擬機的能耗的部件。
13.如權(quán)利要求11所述的估算系統(tǒng),其中,所述虛擬機能耗計算部件進一步被配置為將劃分出的未獲取事件信息的功能單元的能耗在所述虛擬機之間進行分配。
14.如權(quán)利要求12所述的估算系統(tǒng),其中,所述虛擬機能耗計算部件被配置為在預(yù)先確定多組所述能耗權(quán)重中根據(jù)所述系統(tǒng)硬件資源的CPU利用率調(diào)取相應(yīng)的能耗權(quán)重。
15.如權(quán)利要求11所述的估算系統(tǒng),其中,所述虛擬機能耗計算部件包括 被配置為周期獲取多組所述系統(tǒng)能耗,以及映射至各個所述虛擬機的所述功能單元的事件信息,進而計算所述多個能耗系數(shù)的部件; 被配置為根據(jù)所述映射至各個所述虛擬機的事件信息以及所述能耗系數(shù),通過乘積計算所述各個虛擬機的各個所述功能單元的能耗的部件; 被配置為對所述各個虛擬機中的所述功能單元的能耗進行求和計算所述各個虛擬機的能耗的部件。
16.如前述任一項權(quán)利要求所述的估算系統(tǒng),所述功能單元中包括CPU,以及至少一個所述系統(tǒng)硬件資源中能耗較大的功能單元,所述估算系統(tǒng)包括 用于讀取所述CPU的事件信息,根據(jù)所述CPU的事件信息中的標識信息,將所述事件信息映射至各個所述虛擬機的部件。
17.如前述任一項權(quán)利要求所述的估算系統(tǒng),所述功能單元中包括存儲單元,所述估算系統(tǒng)包括 用于讀取所述存儲單元的事件信息,根據(jù)所述存儲單元事件信息中的標識信息,將所述事件信息映射至各個所述虛擬機的部件。
18.如前述任一項權(quán)利要求所述的估算系統(tǒng),所述功能單元中包括1/0,獲取所述I/O吞吐量信息作為所述的I/O的事件信息,所述估算系統(tǒng)包括 用于響應(yīng)于所述I/O的請求或所述I/O的響應(yīng),讀取所述I/O請求或所述I/O響應(yīng)的吞吐量數(shù)據(jù)的部件; 用于根據(jù)所收集到的所述I/O請求或所述I/O響應(yīng)信息中的標識信息,映射得到該請求或響應(yīng)所對應(yīng)的虛擬機標識的部件。
19.如權(quán)利要求11所述的估算系統(tǒng),其中所述系統(tǒng)硬件資源包括硬件性能監(jiān)控器,所述硬件性能監(jiān)視器被配置為寄存所述功能單元的事件信息。
20.如前述任一項權(quán)利要求所述的估算系統(tǒng),其中,所述系統(tǒng)硬件資源中包括多個云計算節(jié)點,云計算消費者使用本地計算設(shè)備通過瘦客戶機接口訪問所述多個虛擬機。
全文摘要
本發(fā)明提出了一種虛擬機能耗估計方法及裝置,具體地,提出了一種計算機系統(tǒng)中估算虛擬機能耗的方法和裝置,該方法包括獲取所述系統(tǒng)硬件資源的系統(tǒng)能耗;獲取由所述系統(tǒng)硬件資源劃分出的多個功能單元的事件信息,并將所述事件信息映射至各個所述虛擬機;根據(jù)所述多個功能單元對應(yīng)的多個能耗系數(shù)以及所述映射至各個所述虛擬機的所述功能單元的事件信息計算各個所述虛擬機的能耗。采用本發(fā)明的技術(shù)方案,可以提高虛擬機能耗估算的準確度。
文檔編號G06F1/28GK102759979SQ20111011587
公開日2012年10月31日 申請日期2011年4月29日 優(yōu)先權(quán)日2011年4月29日
發(fā)明者劉亮, 周英, 李立, 王浩, 陳瀅 申請人:國際商業(yè)機器公司