虛擬機(jī)功耗測量和管理的制作方法
【專利說明】
[0001] 本發(fā)明專利申請是國際申請?zhí)枮镻CT/US2011/026353,國際申請日為2011年2月 25日,進(jìn)入中國國家階段的申請?zhí)枮?01180011019.0,名稱為"虛擬機(jī)功耗測量和管理"的 發(fā)明專利申請的分案申請。
技術(shù)領(lǐng)域
[0002] 本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,更具體地,涉及虛擬機(jī)技術(shù)。
【背景技術(shù)】
[0003] 數(shù)據(jù)中心、云計(jì)算基礎(chǔ)設(shè)施、計(jì)算集群、企業(yè)計(jì)算工具和高性能計(jì)算工具在將工作 負(fù)載運(yùn)行在共享物理服務(wù)器上的同時(shí),越來越多地使用虛擬機(jī)來隔離工作負(fù)載。虛擬機(jī)是 對計(jì)算設(shè)備的仿真,其嚴(yán)格意義上是軟件但像物理計(jì)算設(shè)備那樣運(yùn)作。這意味著一個(gè)或多 個(gè)虛擬機(jī)可駐留在單個(gè)物理主機(jī)服務(wù)器上。然而,在運(yùn)行在虛擬機(jī)上的客戶端和全部軟件 看來,每個(gè)虛擬機(jī)是獨(dú)立的服務(wù)器。
[0004] 虛擬化(或使用虛擬機(jī))允許將多個(gè)應(yīng)用安全地置于單個(gè)物理主機(jī)服務(wù)器上,因 為每個(gè)應(yīng)用在其"虛擬"計(jì)算機(jī)內(nèi)部運(yùn)行,并且不影響其他應(yīng)用。這允許服務(wù)器資源被更好 地利用,并且降低所需的服務(wù)器的數(shù)量以及托管它們(諸如電力和冷卻)的操作成本。因 此,虛擬化是管理計(jì)算資源的高效技術(shù),并正在數(shù)據(jù)中心和大規(guī)模計(jì)算工具中獲得廣泛的 接受。
[0005] 數(shù)據(jù)中心和其他計(jì)算工具經(jīng)常監(jiān)視服務(wù)器的功率使用,以便正確地管理功率容量 和分布。功率測量結(jié)果數(shù)據(jù)還用于制定若干手動和自動的功率管理決策。事實(shí)上,功率計(jì) 量在數(shù)據(jù)中心中是如此的廣泛,以至于功率分配單元(PDU)、電源板、服務(wù)器電源都供應(yīng)測 量功率所需的功率計(jì)量儀器,并且在新服務(wù)器中,甚至是服務(wù)器主板已經(jīng)包含了測量功率 所需的功率計(jì)量儀器。測量物理服務(wù)器中的功耗的另一種方法是將功率計(jì)量儀器連接到服 務(wù)器。
[0006] 物理服務(wù)器的功耗可通過計(jì)量被供應(yīng)給服務(wù)器的電量來測量。然而,虛擬機(jī)是在 軟件中被創(chuàng)建的,并且不存在將功率表連接到虛擬機(jī)的簡單方法。這使得測量虛擬機(jī)的功 耗非常困難。用于物理服務(wù)器的技術(shù)僅能報(bào)告服務(wù)器的總的功率提取。但是,它們無法用 于測量駐留在單個(gè)物理主機(jī)服務(wù)器上的多個(gè)虛擬機(jī)中每一個(gè)的單獨(dú)功耗。事實(shí)上,單純地 使用硬件方案無法測量虛擬機(jī)的功耗。
[0007] 測量虛擬機(jī)的功耗的能力是重要的。用戶或服務(wù)器管理器不能測量每臺虛擬機(jī)所 使用的功率。出于若干理由,測量該功率是有用的。例如,如果虛擬機(jī)正在使用過量的功率, 則它可能必須被關(guān)閉或被迀移到具有額外能力的不同的電源電路。另外,軟件開發(fā)者可測 量出它們的軟件在被運(yùn)行于物理服務(wù)器上時(shí)消耗了多少能量,但無法在軟件運(yùn)行在虛擬機(jī) 上時(shí)測量該能量。無法測量功率使用削弱了開發(fā)者優(yōu)化軟件以得到更低功耗的能力。測量 虛擬機(jī)功耗的另一個(gè)用途是基于功率使用向用戶返還費(fèi)用。諸如在云計(jì)算中使用的共享物 理服務(wù)器允許多個(gè)用戶在共享的物理基礎(chǔ)設(shè)施上運(yùn)行虛擬機(jī)。物理服務(wù)器的所有者可能希 望基于功率使用向虛擬機(jī)用戶收費(fèi)。
[0008] 而虛擬機(jī)功率計(jì)量的另一個(gè)用途、以及下面更詳細(xì)地描述的一個(gè)用途產(chǎn)生于虛擬 機(jī)功率設(shè)限。功率設(shè)限允許電力基礎(chǔ)設(shè)施的過度預(yù)訂,并帶來功率容量的更高效的利用率。 然而,當(dāng)前的功率設(shè)限技術(shù)被設(shè)計(jì)用于物理服務(wù)器,而無法在被應(yīng)用到虛擬機(jī)時(shí)很好地工 作。例如,對物理服務(wù)器的功率進(jìn)行設(shè)限導(dǎo)致了對在該服務(wù)器上托管的全部虛擬機(jī)的設(shè)限。 這破壞了虛擬機(jī)所提供的工作負(fù)載的隔離,并可使得使用虛擬化的益處受挫。
[0009] 因此,大規(guī)模計(jì)算工具中功率管理的主要組件之一是對功率的可視性。然而,越來 越多地在數(shù)據(jù)中心中使用的虛擬化機(jī)器正缺少這種能力。使用虛擬機(jī)允許安全地隔離多個(gè) 處于相同位置的工作負(fù)載,使得多個(gè)工作負(fù)載能在更少的服務(wù)器上被合并,并且?guī)肀桓?善的資源利用率。然而,缺少對虛擬機(jī)功率使用的可見性帶走了在無虛擬化的情況下可用 的服務(wù)器功率計(jì)量的許多好處。
【發(fā)明內(nèi)容】
[0010] 提供本
【發(fā)明內(nèi)容】
以便以簡化形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概 念。本
【發(fā)明內(nèi)容】
并不旨在標(biāo)識所要求保護(hù)主題的關(guān)鍵特征或必要特征,也不旨在用于限制 所要求保護(hù)主題的范圍。
[0011] 虛擬機(jī)功率計(jì)量系統(tǒng)和方法的各實(shí)施例測量各個(gè)虛擬機(jī)的功耗。功耗計(jì)量通常用 在物理服務(wù)器上,以制定若干功率管理和操作決策。虛擬機(jī)功率計(jì)量系統(tǒng)和方法的各實(shí)施 例允許在虛擬機(jī)上也能作出這樣的決策。
[0012] 一般的想法是測量整個(gè)物理主機(jī)服務(wù)器的功耗的功率表測量被轉(zhuǎn)換成各個(gè)虛擬 機(jī)功率表,該虛擬機(jī)功率表測量駐留在主機(jī)服務(wù)器上的每個(gè)單獨(dú)虛擬機(jī)的功耗。虛擬機(jī)功 率計(jì)量系統(tǒng)和方法的各實(shí)施例將與任意數(shù)量的虛擬機(jī)一同工作,并且跨多個(gè)物理主機(jī)服務(wù) 器工作。
[0013] 了解單個(gè)虛擬機(jī)的功耗對于在數(shù)據(jù)中心或任一虛擬化服務(wù)器中制定的若干功率 管理決策來說是有用的。例如,虛擬機(jī)功率計(jì)量可用于虛擬機(jī)功率設(shè)限,以允許虛擬化環(huán)境 中的功率過度預(yù)訂??梢詧?zhí)行該虛擬機(jī)管理設(shè)限,而不破壞隔離屬性。各個(gè)虛擬機(jī)功耗測 量結(jié)果還可用于跟蹤跨越多個(gè)虛擬機(jī)的活動(諸如,搜索查詢)的功耗。
[0014] 虛擬機(jī)功率計(jì)量系統(tǒng)和方法的各實(shí)施例不需要供應(yīng)功率模型的硬件。在進(jìn)行中得 知所需要的任何信息。該系統(tǒng)和方法的各實(shí)施例自動地學(xué)習(xí)將硬件(或資源)使用(諸如, 中央處理單元(CPU)使用、磁盤使用、存儲器使用、網(wǎng)絡(luò)使用等)與功耗相關(guān)的功率模型。隨 后跟蹤每個(gè)虛擬機(jī)的硬件使用以推斷該虛擬機(jī)的功耗。
[0015] 該系統(tǒng)和方法的各實(shí)施例在兩大步驟中計(jì)算該功耗。第一,使用物理主機(jī)服務(wù)器 的總功耗以及特定虛擬機(jī)的資源利用率來生成并訓(xùn)練功率模型。資源利用率是對虛擬機(jī)正 在使用多少資源的判定。將這些資源利用率相加以發(fā)現(xiàn)虛擬機(jī)的總的資源利用率。生成將 總的資源利用率與總功耗相關(guān)的功率模型。
[0016] 該系統(tǒng)和方法的各實(shí)施例還在該步驟期間確定最優(yōu)功率模型系數(shù)。這通過確定由 虛擬機(jī)正在使用的資源的數(shù)量N來實(shí)現(xiàn)。生成并求解具有N個(gè)未知數(shù)的一系列N個(gè)等式, 以獲得最優(yōu)功率模型系數(shù)。
[0017] 該系統(tǒng)和方法的各實(shí)施例還包括功率模型學(xué)習(xí)技術(shù),其中所學(xué)到的模型對于在每 個(gè)虛擬機(jī)內(nèi)部托管的工作負(fù)載是唯一的。這說明了在功率使用中工作負(fù)載之間可被發(fā)現(xiàn)的 差距,即使工作負(fù)載具有相同或看起來相似的資源使用。
[0018] 第二,該系統(tǒng)和方法的各實(shí)施例計(jì)算虛擬機(jī)所使用的能量??墒褂萌舾蓪?shí)施例來 計(jì)算該能量。一個(gè)實(shí)施例使用虛擬機(jī)所使用的資源的百分比,并隨后將這些百分比相加以 獲得該虛擬機(jī)的功耗。在其他實(shí)施例中,按照單位而不是百分比來測量所使用的資源。作 為示例,僅舉數(shù)例,所測量的資源可包括CPU、存儲器、磁盤、網(wǎng)卡和風(fēng)扇。在這些實(shí)施例中, 可通過考慮主機(jī)服務(wù)器的CPU頻率來擴(kuò)充功率模型。
[0019] 該系統(tǒng)和方法的各實(shí)施例還可用于獲得特定活動的功耗?;顒涌梢允欠?wù)、請求 (諸如,web搜索查詢)、電子郵件遞送、網(wǎng)頁檢索、數(shù)據(jù)庫操作、或文件更新。即使該活動是 跨多個(gè)虛擬機(jī)并且跨多個(gè)主機(jī)服務(wù)器,也可以計(jì)算該活動的功耗。確定活動時(shí)間段,該活動 時(shí)間段是在計(jì)算基礎(chǔ)設(shè)施上該活動為活躍的時(shí)間段。該系統(tǒng)和方法的各實(shí)施例隨后通過將 各個(gè)活動時(shí)間段期間在該活動上工作的每個(gè)虛擬機(jī)的功耗相加以獲得總的活動功耗,來計(jì) 算功耗。
[0020] 應(yīng)當(dāng)注意,替換實(shí)施例也是可能的,并且此處所討論的步驟和元素可取決于特定 實(shí)施例而改變、添加或消除。這些替換實(shí)施例包括可使用的替換步驟和替換元素,以及可做 出的結(jié)構(gòu)上的改變,而不脫離本發(fā)明的范圍。
【附圖說明】
[0021] 現(xiàn)在參考附圖,在全部附圖中,相同的參考標(biāo)號表示相應(yīng)的部分:
[0022] 圖1是示出在主機(jī)服務(wù)器計(jì)算設(shè)備上實(shí)現(xiàn)的虛擬機(jī)功率計(jì)量系統(tǒng)和方法的各實(shí) 施例的綜合概述的框圖。
[0023]圖2是示出在圖1所示的虛擬機(jī)功率計(jì)量系統(tǒng)和方法的各實(shí)施例中使用的模塊和 數(shù)據(jù)的框圖。
[0024