專利名稱:調(diào)節(jié)功耗的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及調(diào)節(jié)功耗。
技術(shù)背景大型信息技術(shù)(IT)基礎(chǔ)設(shè)施(諸如數(shù)據(jù)中心)的能量和冷卻成本很 容易超過(guò)每年數(shù)百萬(wàn)元。然而,每個(gè)數(shù)據(jù)中心內(nèi)的計(jì)算資源(諸如中 夾處理單元(CPU),存儲(chǔ)器,網(wǎng)絡(luò)交換機(jī)等)的使用遠(yuǎn)小于最大性能。 因此,大多數(shù)能量和冷卻成本被"空閑"計(jì)算資源消耗,因此浪費(fèi)了 能量并且提高了 IT基礎(chǔ)設(shè)施的成本。如本文所提到的,以及如本領(lǐng)域 所理解的,信息技術(shù)或者IT包括所有形式的技術(shù),包括但不限于硬件 和軟件信息系統(tǒng)以及軟件應(yīng)用程序的設(shè)計(jì)、開(kāi)發(fā)、安裝和實(shí)現(xiàn),它們 用于創(chuàng)建、存儲(chǔ)、交換和利用多種形式的信息,所述多種形式包括但 不限于商務(wù)數(shù)據(jù)、會(huì)話、靜止圖像、電影和多媒體呈現(xiàn)技術(shù),以及對(duì)信息系統(tǒng)和應(yīng)用程序的設(shè)計(jì)、發(fā)展、安裝和實(shí)現(xiàn)。目前存在幾個(gè)用于諸如數(shù)據(jù)中心之類的IT基礎(chǔ)設(shè)施的成本和能量 節(jié)約方案。 一個(gè)解決方案是在數(shù)據(jù)中心中采用能量星(Energy Star) 或者高極配置和能量接口 (ACPI)適應(yīng)設(shè)備。這些設(shè)備能夠以不同的功 率模式運(yùn)行,諸如當(dāng)它們處于空閑狀態(tài)或者未被激活使用的低功率模 式或待機(jī)功率模式。然而,隨著硅制造尺寸不斷減小,提供了越來(lái)越 小的電子設(shè)備及其之間的空間,甚至那些處于待機(jī)功率模式的設(shè)備也 通過(guò)附近加電裝置的電流漏泄不斷吸取或消耗能量。因此,每個(gè)設(shè)備 必須完全被關(guān)閉或斷電(例如,拔出插頭)以實(shí)現(xiàn)最大的節(jié)能。另一種解決方案涉及使用CPU或存儲(chǔ)器功率節(jié)流技術(shù),在超過(guò)功 率或熱極限閾值時(shí)節(jié)流處理、操作或吞吐量的發(fā)送速率(issue rate)。 然而,這種功率節(jié)流技術(shù)提供了有限的節(jié)能,因?yàn)槿缟纤?,電流?泄損耗仍然存在。另 一種由許多數(shù)據(jù)中心供應(yīng)商支持的成本節(jié)約方案 是艮卩時(shí)按需i曽容(instant capacity on demand)。在jt匕方案中,給 計(jì)算資源的顧客或用戶提供了基于其當(dāng)前需求動(dòng)態(tài)獲得使用空閑計(jì)算 資源的權(quán)利的選擇。雖然此方案允許數(shù)據(jù)中心顧客利用經(jīng)濟(jì)合算的手段來(lái)隨著工作量需求增加而增加計(jì)算能力,但是實(shí)際上沒(méi)有節(jié)能的概 念因?yàn)樵诖蠖鄶?shù)情況下空閑的計(jì)算資源駐留在數(shù)據(jù)中心并且在它們等 待調(diào)用的同時(shí)消耗能量。發(fā)明內(nèi)容根據(jù)本發(fā)明的實(shí)施例,提供一種用于動(dòng)態(tài)調(diào)節(jié)信息技術(shù)(IT)基礎(chǔ) 設(shè)施中的功耗的系統(tǒng),所述信息技術(shù)基礎(chǔ)設(shè)施具有通過(guò)網(wǎng)絡(luò)互連的多 個(gè)計(jì)算節(jié)點(diǎn),所述系統(tǒng)包括在該多個(gè)計(jì)算節(jié)點(diǎn)的每個(gè)計(jì)算節(jié)點(diǎn)使用 的至少 一個(gè)虛擬機(jī)(VM)主機(jī),該至少 一個(gè)VM主機(jī)可運(yùn)行以主控至少一 個(gè)VM客戶機(jī),并且該多個(gè)計(jì)算節(jié)點(diǎn)中不同的計(jì)算節(jié)點(diǎn)上的VM主機(jī)是 版本可兼容的以允許VM客戶機(jī)在VM主機(jī)之間遷移;以及管理模塊, 其通過(guò)網(wǎng)絡(luò)連接至該多個(gè)計(jì)算節(jié)點(diǎn)以接收該多個(gè)計(jì)算節(jié)點(diǎn)中每個(gè)計(jì)算 節(jié)點(diǎn)的計(jì)算資源的性能規(guī)格的本地測(cè)量,管理模塊可運(yùn)行以至少基于 所接收的該多個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格通過(guò)在VM主機(jī)之間遷移VM客戶 機(jī)來(lái)動(dòng)態(tài)調(diào)節(jié)該多個(gè)計(jì)算節(jié)點(diǎn)的功耗。根據(jù)本發(fā)明的實(shí)施例,提供一種用于在系統(tǒng)中動(dòng)態(tài)調(diào)節(jié)功耗的方 法,所述方法包括以下步驟標(biāo)識(shí)系統(tǒng)中的多個(gè)計(jì)算節(jié)點(diǎn);在該多個(gè) 計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)實(shí)現(xiàn)至少一個(gè)虛擬機(jī);在該多個(gè)計(jì)算節(jié)點(diǎn) 中的每個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM主機(jī)上實(shí)例化至少一個(gè)VM客戶機(jī); 監(jiān)控該多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī)的工作 量需求并且本地測(cè)量每個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格;以及確定該多個(gè)計(jì)算 節(jié)點(diǎn)中的一個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī)的工作量需求是否超過(guò) 或者低于一個(gè)計(jì)算節(jié)點(diǎn)的容量;以及當(dāng)確定該至少一個(gè)VM客戶機(jī)的工 作量需求低于一個(gè)計(jì)算節(jié)點(diǎn)的容量時(shí),a)提供將該至少一個(gè)VM客戶機(jī) 到系統(tǒng)中標(biāo)識(shí)的多個(gè)節(jié)點(diǎn)中的另一個(gè)節(jié)點(diǎn)的遷移;以及b)—旦提供遷 移則將一個(gè)利用不足的計(jì)算節(jié)點(diǎn)斷電以節(jié)省功耗。根據(jù)本發(fā)明的實(shí)施例,提供一種其上編碼了程序代碼的計(jì)算機(jī)可 讀介質(zhì),所述程序代碼用于動(dòng)態(tài)調(diào)節(jié)具有多個(gè)計(jì)算節(jié)點(diǎn)的系統(tǒng)中的功 耗,所述編碼的程序代碼包括計(jì)算機(jī)程序代碼,其被執(zhí)行以在多個(gè) 計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)實(shí)現(xiàn)至少 一 個(gè)虛擬機(jī)(VM);計(jì)算機(jī)程序代 碼,其被執(zhí)行以在該多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM 主機(jī)上實(shí)例化至少一個(gè)VM客戶機(jī);計(jì)算機(jī)程序代碼,其被執(zhí)行以監(jiān)控該多個(gè)計(jì)算節(jié)點(diǎn)中每個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī)的工作量需求 并且本地測(cè)量每個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格;以及計(jì)算機(jī)程序代碼,其被 執(zhí)行以確定該多個(gè)計(jì)算節(jié)點(diǎn)其中一個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī) 的工作量需求是否超過(guò)或者低于一個(gè)計(jì)算節(jié)點(diǎn)的容量;以及計(jì)算機(jī)程 序代碼,其被執(zhí)行以當(dāng)確定該至少 一 個(gè)VM客戶機(jī)的工作量需求低于該 一個(gè)計(jì)算節(jié)點(diǎn)的容量時(shí),a)提供將該至少 一個(gè)VM客戶機(jī)遷移到系統(tǒng)中 標(biāo)識(shí)的多個(gè)節(jié)點(diǎn)中的另一個(gè)節(jié)點(diǎn);以及b)—旦提供遷移則將該一個(gè)利 用不足的計(jì)算節(jié)點(diǎn)斷電以節(jié)省功耗。
附圖中,相似的數(shù)字表示相、似的元件,^其中「、圖1示出了其中可以實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的IT系統(tǒng)。圖2示出了根據(jù)一個(gè)實(shí)施例的IT系統(tǒng)的計(jì)算節(jié)點(diǎn)中的物理硬件。圖3A-B示出了根據(jù)一個(gè)實(shí)施例的調(diào)節(jié)IT系統(tǒng)功耗的方法。
具體實(shí)施方式
為了簡(jiǎn)單和說(shuō)明性目的,主要通過(guò)參考其中的例子來(lái)描述實(shí)施例 的原理。在隨后的描述中,記載了很多具體細(xì)節(jié),以便提供對(duì)實(shí)施例 的徹底理解。然而對(duì)于本領(lǐng)域普通技術(shù)人員顯而易見(jiàn)的是,所述實(shí)施 例可以在不限于這些具體細(xì)節(jié)的情況下來(lái)實(shí)施。在其它情況下,未詳 細(xì)描述公知方法和結(jié)構(gòu)以免不必要地模糊實(shí)施例。方法和系統(tǒng),利用軟件使用代理和虛擬機(jī)(VM)主^U來(lái)實(shí)現(xiàn)成本和能源 節(jié)約。如本文所提到的,VM主機(jī)是在物理或硬件計(jì)算平臺(tái)內(nèi)創(chuàng)建的抽 象或虛擬化的計(jì)算層或平臺(tái)。虛擬化的計(jì)算環(huán)境采用底層物理計(jì)算平用程序,;斤述操作系統(tǒng)(以4物理計(jì)算平臺(tái)的操作系;充;目同i不同。;VM主機(jī)又被稱為系統(tǒng)管理程序或VM監(jiān)控器。根據(jù)此處所迷的各種實(shí)施率浪;的問(wèn):。通過(guò)將該:術(shù)與此處所述^新硬^和軟件:合,虛擬 化概念可用于在IT基礎(chǔ)設(shè)施內(nèi)提供能量和成本節(jié)約。圖1示出了一種其中可以實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的IT基礎(chǔ)設(shè)施或 系統(tǒng)100的示范性框圖,諸如數(shù)據(jù)中心或IT網(wǎng)絡(luò)組織。對(duì)于本領(lǐng)域普 通技術(shù)人員顯而易見(jiàn)的是,在不脫離本發(fā)明的精神或范圍的情況下, 系統(tǒng)100代表一般化的示意表示并且可以添加其它部件或者去掉或修 改現(xiàn)有部件。系統(tǒng)100包括多個(gè)互連的計(jì)算節(jié)點(diǎn)110a-n,其可運(yùn)行以通過(guò)網(wǎng)絡(luò) 180在它們之間并與其它網(wǎng)絡(luò)節(jié)點(diǎn)交換信息。如此處提到的,計(jì)算節(jié)點(diǎn) UOa-n可以是具有相關(guān)物理硬件130的物理計(jì)算平臺(tái),諸如個(gè)人數(shù)字 助理(PDA)、膝上型或臺(tái)式個(gè)人計(jì)算機(jī)(PC)、工作站、服務(wù)器,以及其 它類似的計(jì)算設(shè)備或計(jì)算機(jī)化設(shè)備??蛇x地,計(jì)算節(jié)點(diǎn)UOa-n可以是 葉片(blade)服務(wù)器系統(tǒng)中的服務(wù)器葉片。任何兩個(gè)或更多計(jì)算節(jié)點(diǎn) 110a-n,可以具有相同或不同的硬件配置用于它們的物理計(jì)算平臺(tái)。每 個(gè)計(jì)算節(jié)點(diǎn)可運(yùn)行以獨(dú)立于其它計(jì)算節(jié)點(diǎn)通過(guò)完全的關(guān)閉電源(即斷 電)或置于功率待機(jī)模式而斷電。網(wǎng)絡(luò)180可運(yùn)行以在計(jì)算節(jié)點(diǎn)110a-n 之間提供通信信道。網(wǎng)絡(luò)180可以實(shí)現(xiàn)為局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、 公用數(shù)據(jù)網(wǎng)(例如,因特網(wǎng))、專用數(shù)據(jù)網(wǎng)(例如,內(nèi)部網(wǎng)),或者是它 們的任何組合。網(wǎng)絡(luò)180可以執(zhí)行有線協(xié)議,諸如以太網(wǎng)令牌環(huán)網(wǎng)等 等,無(wú)線協(xié)議,諸如單元數(shù)字分組數(shù)據(jù)、Mobitex、 IEEE801. 11系列、 藍(lán)牙、無(wú)線應(yīng)用協(xié)議、移動(dòng)裝置的全局系統(tǒng)等等,或者是它們的任何 組合。在每個(gè)計(jì)算節(jié)點(diǎn)110a-n使用的是能夠主控(host)多VM-客戶環(huán)境 的虛擬化層。所述虛擬化層由一個(gè)或多個(gè)VM主機(jī)120實(shí)現(xiàn),每個(gè)VM 主機(jī)用作每個(gè)計(jì)算節(jié)點(diǎn)的物理硬件130和這種計(jì)算節(jié)點(diǎn)主控的一個(gè)或 多個(gè)VM客戶機(jī)140a-n之間的抽象層。VM主機(jī)120可以利用專有的或 商業(yè)上可獲得的軟件實(shí)現(xiàn)以在固件層160上面運(yùn)行。諸如系統(tǒng)管理員 的用戶可以負(fù)責(zé)確定要實(shí)例化多少VM客戶機(jī)。在一個(gè)實(shí)施例中,在獨(dú) 立的計(jì)算節(jié)點(diǎn)上運(yùn)行的VM主機(jī)120是版本可兼容的從而可運(yùn)行以在彼 此之間遷移VM客戶機(jī)。從VM客戶機(jī)的角度看,它不區(qū)分VM主機(jī)的虛 擬化硬件和這種VM主機(jī)的底層計(jì)算節(jié)點(diǎn)的專用物理硬件130。如本文 所提到的,VM客戶機(jī)是操作環(huán)境(通常是OS)及其中的應(yīng)用程序的一 個(gè)實(shí)例。因此,VM客戶機(jī)的工作量要求指的是VM客戶機(jī)以期望的性能 水平有效地運(yùn)行操作環(huán)境及其中的應(yīng)用程序所需要的計(jì)算資源量。同樣,計(jì)算資源的工作量容量指的是處理資源在沒(méi)有失敗的情況下可以 有效處理的工作量的最大量。物理硬件130包括一個(gè)或多個(gè)計(jì)算資源,諸如處理器、存儲(chǔ)器設(shè) 備和輸入/輸出(1/0)設(shè)備,正如以下將進(jìn)一步詳細(xì)描述的。這些計(jì)算 資源由固件160的編程指令控制,所述固件駐留在每個(gè)計(jì)算資源。圖2 示出了每個(gè)計(jì)算節(jié)點(diǎn)110a-n中物理硬件130的框圖。應(yīng)該理解的是, 可以使用更復(fù)雜的物理硬件。而且,可以在物理硬件130上添加或去 除部件以提供期望的功能。物理硬件130包括一個(gè)或多個(gè)處理器,諸如處理器202,提供執(zhí)行 軟件的執(zhí)行平臺(tái)。因此,所述物理硬件130可以包括任何多種計(jì)算機(jī) 處理器(諸如英特爾和美國(guó)AMD公司的處理器)的一個(gè)或多個(gè)單核或 多核處理器。如本文所提到的,計(jì)算機(jī)處理器可以是通用處理器,諸 如中央處理單元(CPU)或任何其它多目的處理器或微處理器。計(jì)算機(jī)處 理器也可以是專用的處理器,諸如圖形處理單元(GPU)、音頻處理器、 數(shù)字信號(hào)處理器、或?qū)S糜谝粋€(gè)或多個(gè)處理目的的另一種處理器。來(lái) 自處理器202的命令和數(shù)據(jù)在系統(tǒng)通信總線204上通信。物理硬件130 還包括處理它的中心功能的核心邏輯芯片組224,包括通信功能(諸如 高速緩存指令),用于處理存儲(chǔ)器的控制器、總線接口邏輯、和通信 總線204上的數(shù)據(jù)通路功能。 一般說(shuō)來(lái),核心邏輯芯片組224處理不 由處理器202主控的、物理硬件130的任何中心或重要功能。物理硬件130還包括主存儲(chǔ)器206和次級(jí)存儲(chǔ)器208,其中軟件在 運(yùn)行期間駐留在主存儲(chǔ)器206上。次級(jí)存儲(chǔ)器208可用來(lái)存儲(chǔ)實(shí)現(xiàn)一 個(gè)或多個(gè)VM主機(jī)140a-n,或其部分的軟件程序、應(yīng)用程序或模塊。主 存儲(chǔ)器206和次級(jí)存儲(chǔ)器208 (和可選擇的可移動(dòng)存儲(chǔ)單元214)每一個(gè) 都包括計(jì)算機(jī)可讀介質(zhì)(CRM),諸如硬盤驅(qū)動(dòng)器和/或表示軟盤驅(qū)動(dòng)器、 磁帶驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等的可移動(dòng)存儲(chǔ)驅(qū)動(dòng)器212,或者其中存儲(chǔ)軟 件副本的非易失性存儲(chǔ)器。在一個(gè)例子中,主存儲(chǔ)器206或者次級(jí)存 儲(chǔ)器208還包括ROM (只讀存儲(chǔ)器)、EPROM (可擦除可編程只讀存儲(chǔ)器)、 EEPROM(電可擦除可編程只讀存儲(chǔ)器),或者任何其它電子的、光學(xué)的、 磁的或者其它能夠給處理器或者處理單元提供計(jì)算機(jī)可讀指令的存儲(chǔ) 或者發(fā)送裝置。物理硬件130可選擇性地包括為連接至每個(gè)計(jì)算節(jié)點(diǎn) 的顯示器(未示出)提供圖像的顯示適配器222,輸入設(shè)備的無(wú)線或者有線用戶接口 218,所述輸入設(shè)備諸如是鍵盤、鼠標(biāo)、輸入筆等。提供網(wǎng) 絡(luò)接口 230用于經(jīng)由例如網(wǎng)絡(luò)180與其它計(jì)算節(jié)點(diǎn)進(jìn)行通信。在一個(gè)實(shí)施例中,物理硬件130還包括自診斷單元或者模塊226, 其用來(lái)實(shí)時(shí)測(cè)量物理硬件130中計(jì)算資源的性能規(guī)格。自診斷單元226 可運(yùn)行以經(jīng)由通信總線204接進(jìn)本地于或內(nèi)置于計(jì)算資源的性能計(jì)數(shù) 器中以測(cè)量性能規(guī)格。除了使用通信總線204,可選地,考慮這樣的實(shí) 施例,其中自診斷單元226可以使用點(diǎn)到點(diǎn)鏈路或者旁帶(又名帶外) 接口連接每個(gè)計(jì)算資源,并由這種計(jì)算資源支持以接進(jìn)計(jì)算資源中的 本地性能計(jì)數(shù)器。這種接口的例子包括但是不局限于系統(tǒng)管理總線 (SMBus)接口、聯(lián)合檢驗(yàn)行動(dòng)小組(JTAG)總線、或者其它類似的低管腳 數(shù)接口。性能規(guī)格的例子包括但是不局限于資源利用率,諸如CPU利 用率(例如,用于特定應(yīng)用程序或操作的CPU時(shí)間)、存儲(chǔ)器利用率(例 如,用于特定應(yīng)用程序或操作的存儲(chǔ)器)、和I/O利用率(例如,用于 特定應(yīng)用程序或操作的1/0帶寬)。性能規(guī)格的其它例子包括但是不局 限于1/0和存儲(chǔ)器吞吐量(例如,每時(shí)間單元接收或者傳送多少數(shù)據(jù), 每時(shí)間單元讀出或者寫入存儲(chǔ)器多少數(shù)椐),操作的等待時(shí)間(例如, 對(duì)輸入進(jìn)行計(jì)算操作以提供輸出所導(dǎo)致多長(zhǎng)時(shí)間延遲),能量提取(計(jì) 算資源或者特定應(yīng)用程序或操作消耗的能量)。提供利用率代理228以實(shí)時(shí)追蹤或者監(jiān)控自診斷單元"6收集的 性能規(guī)格。利用率代理228也執(zhí)行功率時(shí)序控制來(lái)為物理硬件130及 其中的部件提供功率。利用率代理228可以由硬件控制器實(shí)現(xiàn),其包 括,例如可編程序控制器、或者駐留在物理硬件130的存儲(chǔ)器中的軟 件、或者硬件和軟件組合,以收集由一個(gè)或多個(gè)診斷單元226測(cè)量的 性能規(guī)格并將物理硬件130中的部件切換到不同的功率模式。在一個(gè) 實(shí)施例中,利用率代理228具有與自診斷單元226連接的通信信道或 者接口以便于追蹤或者監(jiān)控性能規(guī)格。它也與物理硬件130中的一個(gè) 或多個(gè)電源(未示出)連接以實(shí)現(xiàn)上述的功率時(shí)序控制。在另一個(gè)實(shí)施 例中,診斷單元226和利用率代理228被并入具有與物理硬件130中 的一個(gè)或多個(gè)電源的上述接口的單個(gè)單元或者模塊中。在另一個(gè)實(shí)施 例中,每個(gè)計(jì)算資源(例如,處理器202、主存儲(chǔ)器206、次級(jí)存儲(chǔ)器 208、核心邏輯芯片組224)包括其中的自診斷單元,并且利用率代理 228具有與這些計(jì)算資源連接的通信信道以追蹤或者監(jiān)控這些資源的性能規(guī)格。如上所述,物理硬件130的各種部件可以彼此獨(dú)立地實(shí)現(xiàn)??蛇x 地,物理硬件130中的所有部件都是在片上系統(tǒng)(SoC)的體系結(jié)構(gòu)中實(shí) 現(xiàn)的,其中它們實(shí)現(xiàn)為一個(gè)半導(dǎo)體封裝的實(shí)例。也設(shè)想到其他的可選 實(shí)施例,其中一個(gè)或多個(gè)部件可以集成在一起并且還獨(dú)立于其它部件。 例如,CPU可以包括集成的存儲(chǔ)器,諸如主存儲(chǔ)器206或者集成的顯示 適配器222 (或者任何其它視頻控制器)。也設(shè)想到其他實(shí)施例,其中處 理器202是基于鏈接的處理器,其不采用系統(tǒng)通信總線204來(lái)與物理 硬件130中的其它部件進(jìn)行數(shù)據(jù)傳送。相反,處理器202可以具有與 每個(gè)其它部件的點(diǎn)到點(diǎn)鏈接。重新參考圖1,每個(gè)計(jì)算節(jié)點(diǎn)110a-n中的利用率代理監(jiān)控測(cè) 量的其中計(jì)算資源的性能規(guī)格并且經(jīng)由網(wǎng)絡(luò)180將這些信息提供或者 發(fā)送到中央管理智能(CMI)模塊190,中央管理智能(CMI)模塊然后使用 這種信息動(dòng)態(tài)管理計(jì)算節(jié)點(diǎn)110a-n來(lái)提供對(duì)這些節(jié)點(diǎn)的功耗的動(dòng)態(tài)調(diào) 整。在一個(gè)實(shí)施例中,利用率代理228和CMI模塊190被并入到單個(gè) 單元或者模塊中?;诰幊痰紺MI模塊190中的預(yù)定規(guī)則或者標(biāo)準(zhǔn), 例如,基于在計(jì)算節(jié)點(diǎn)110a采用的VM主機(jī)120的資源利用率的下降, CMI模塊190可以命令將在一個(gè)計(jì)算節(jié)點(diǎn)使用的VM主機(jī)中的一個(gè) 或多個(gè)VM客戶機(jī)140a-n卸載或者遷移到另 一計(jì)算節(jié)點(diǎn)使用的VM主機(jī) 120。 一旦給定的VM主機(jī)不再具有VM客戶機(jī),那么它的底層計(jì)算節(jié)點(diǎn) 可以由CMI模塊190斷電(置于斷電的模式或者待機(jī)功率模式)以便減 少功耗。如前所述,這可以由每個(gè)計(jì)算節(jié)點(diǎn)獨(dú)立于系統(tǒng)100中的其它 計(jì)算節(jié)點(diǎn)而切換到不同功率模式的能力實(shí)現(xiàn)。同時(shí)當(dāng)所選的VM主機(jī)位 于不同位置的計(jì)算節(jié)點(diǎn)時(shí)不會(huì)發(fā)生電流泄漏。隨著現(xiàn)有或者其他的VM 客戶機(jī)工作量需求的提高,根據(jù)需要可以對(duì)斷電的計(jì)算節(jié)點(diǎn)再次加電 或者恢復(fù)在線來(lái)提供其他的計(jì)算資源以容納其他的VM客戶機(jī)或者從超 出預(yù)訂的VM主機(jī)轉(zhuǎn)移那些已有的VM客戶機(jī)。在一個(gè)實(shí)施例中,在獨(dú)立于計(jì)算節(jié)點(diǎn)110a-n的所管理環(huán)境的計(jì)算 平臺(tái)上主控CMI模塊190以免干涉或者影響從這種管理環(huán)境測(cè)量的性 能規(guī)格。而且,在每個(gè)計(jì)算節(jié)點(diǎn)llOa-n中的硬件級(jí)使用自診斷單元226 確保從每個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算資源的本地性能計(jì)數(shù)器測(cè)量準(zhǔn)確的性能規(guī) 格。與傳統(tǒng)依賴于運(yùn)行在固件層160(例如,諸如用戶或者特權(quán)級(jí)別應(yīng)用程序)上部的典型診斷軟件基于一些特定基準(zhǔn)測(cè)試來(lái)計(jì)算而不是測(cè) 量性能規(guī)格相反,所迷基準(zhǔn)測(cè)試可以或者不可以應(yīng)用到計(jì)算節(jié)點(diǎn)主控的VM客戶機(jī)所期望的那些操作。這種診斷軟件進(jìn)一步使用常規(guī)系統(tǒng)中 的計(jì)算資源并偏離實(shí)際設(shè)計(jì)為要測(cè)量的相同性能規(guī)格。圖3A-B示出了用于調(diào)節(jié)IT基礎(chǔ)設(shè)施或者系統(tǒng)(諸如數(shù)據(jù)中心或 者IT網(wǎng)絡(luò)組織)的功耗的方法300。只為了舉例說(shuō)明的目的,而并非 限制,方法300是在圖1示出的系統(tǒng)100的背景下描述的。在310,諸如節(jié)點(diǎn)110a-n的多個(gè)計(jì)算節(jié)點(diǎn)被標(biāo)識(shí)在系統(tǒng)100中以 標(biāo)識(shí)待動(dòng)態(tài)功耗調(diào)節(jié)的計(jì)算資源庫(kù)。節(jié)點(diǎn)100a-n可以位于相同的地理 位置或者是地理上分散的(即位于不同地理位置)。這可能由CMI模塊 190使用任何適當(dāng)?shù)膶S谢蛘呱虡I(yè)上可獲得的系統(tǒng)分析或者網(wǎng)絡(luò)管理 軟件實(shí)現(xiàn)。該識(shí)別包括識(shí)別在每個(gè)計(jì)算節(jié)點(diǎn)100a-n處的計(jì)算資源以及 它們的工作量容量。在312,在每個(gè)標(biāo)識(shí)的計(jì)算節(jié)點(diǎn)100a-n實(shí)現(xiàn)至少一個(gè)VM主才幾120。該實(shí)現(xiàn)可以由用戶執(zhí)行,諸如系統(tǒng)管理員,將專有或商業(yè)可獲得的軟 件加載到計(jì)算節(jié)點(diǎn)100a-n中以使用VM主機(jī)120。如前所述,在獨(dú)立的移VM客戶機(jī)。在314,在每個(gè)計(jì)算節(jié)點(diǎn)110a-n (或者其子集)使用的每個(gè)VM主 才幾120上對(duì)一個(gè)或多個(gè)VM客戶機(jī)進(jìn)4亍實(shí)例化以處理給予系統(tǒng)100的工 作量。如前所述,基于在每個(gè)計(jì)算節(jié)點(diǎn)可獲得的計(jì)算資源以及它們的 工作量容量和給予系統(tǒng)100的工作量,諸如系統(tǒng)管理員的用戶可以確 定在計(jì)算節(jié)點(diǎn)110a-n的一個(gè)或多個(gè)VM主機(jī)上要實(shí)例化的VM客戶機(jī)的 期望數(shù)目(通過(guò)對(duì)VM主機(jī)的軟件編程)。因此,用戶可以確定或者選擇 所有或者某些計(jì)算節(jié)點(diǎn)110a-n將要用于實(shí)例化期望數(shù)目的VM客戶機(jī)。 例如,兩個(gè)VM客戶機(jī)140a-b在計(jì)算節(jié)點(diǎn)110a的VM主機(jī)120上#:實(shí) 例化,而兩個(gè)其它VM客戶機(jī)140c-d在計(jì)算節(jié)點(diǎn)llOn的VM主機(jī)120 上被實(shí)例化。在316, CMI模塊190不斷地監(jiān)控在所選VM主機(jī)中運(yùn)行的該一個(gè) 或多個(gè)實(shí)例化的VM客戶機(jī)的工作量要求和這種VM客戶機(jī)在底層計(jì)算 節(jié)點(diǎn)中的相應(yīng)資源利用率。這種資源利用率是由如前所述的每個(gè)計(jì)算 節(jié)點(diǎn)中的自診斷單元226從性能規(guī)格的本地測(cè)量中獲得的。該監(jiān)控可以以預(yù)定周期執(zhí)行,例如每30秒時(shí)間。因此,接著上述的例子,CM模 塊190不斷地監(jiān)控在計(jì)算節(jié)點(diǎn)UOa主控的兩個(gè)VM客戶機(jī)140a-b(和在 此節(jié)點(diǎn)的相應(yīng)資源利用率)和在計(jì)算節(jié)點(diǎn)11 On主控的兩個(gè)VM客戶機(jī) 140c-d (和在此節(jié)點(diǎn)的相應(yīng)資源利用率)。在318, CMI模塊190確定在任何所選計(jì)算節(jié)點(diǎn)(諸如在當(dāng)前例子 中是計(jì)算節(jié)點(diǎn)110a和110n)監(jiān)控的工作量需求是否已經(jīng)增加,使得底 層物理硬件130中的計(jì)算資源變得超過(guò)預(yù)定值(基于在所選處計(jì)算節(jié)點(diǎn) 不斷測(cè)量的性能規(guī)格),或者監(jiān)控的工作量需求已經(jīng)減少使得在任何所 選計(jì)算節(jié)點(diǎn)的底層物理硬件130中的計(jì)算資源變得利用不足(也基于在計(jì)算節(jié)點(diǎn)不斷測(cè)量的性能規(guī)格)。在320,如果CMI模塊190確定計(jì)算節(jié)點(diǎn)(諸如在當(dāng)前例子中是計(jì) 算節(jié)點(diǎn)110a)的底層物理硬件130的容量由于在此節(jié)點(diǎn)主控的VM客戶 機(jī)(諸如VM客戶機(jī)140a-b )工作量要求的增加而超過(guò)預(yù)定值(基于不 斷測(cè)量的性能規(guī)格),那么CMI模塊190可以應(yīng)用其預(yù)定規(guī)則來(lái)加電 系統(tǒng)100的一個(gè)或多個(gè)其他的計(jì)算節(jié)點(diǎn)以容納所提高的工作量需求。 其他的處理節(jié)點(diǎn)可以是在系統(tǒng)100中被插入和加電的新計(jì)算節(jié)點(diǎn),諸 如新計(jì)算節(jié)點(diǎn)110(n+l)。其他的處理節(jié)點(diǎn)也可以是先前標(biāo)識(shí)在系統(tǒng)100 中的已有斷電計(jì)算節(jié)點(diǎn)并且現(xiàn)在被加電以處理提高的工作量需求,諸 如計(jì)算節(jié)點(diǎn)llOb。為繼續(xù)當(dāng)前例子,在計(jì)算節(jié)點(diǎn)110a主控的已有VM 客戶機(jī)140b,或者由計(jì)算節(jié)點(diǎn)110a主控的其他VM客戶機(jī)140f的工作 量需求有所增加。因此,對(duì)新的計(jì)算節(jié)點(diǎn)U0(n+1)或者已有計(jì)算節(jié)點(diǎn) 110b加電以將其中一個(gè)已有VM客戶機(jī)140a-b或者其他的VM客戶機(jī) 140f遷移到加電的計(jì)算節(jié)點(diǎn)110(n+l)或者110b中的VM主機(jī)120。然而在322,如果CMI模塊190確定計(jì)算節(jié)點(diǎn)的底層物理硬件130 中的計(jì)算資源的容量利用不足,那么它可以接著應(yīng)用它的預(yù)定規(guī)則以 進(jìn)一步確定任何其他所選計(jì)算節(jié)點(diǎn)是否有足夠的計(jì)算資源以容納當(dāng)前 在利用不足的計(jì)算節(jié)點(diǎn)駐留或者運(yùn)行的VM客戶機(jī)的工作量需求。 在當(dāng)前例子中,如杲計(jì)算節(jié)點(diǎn)110a被此節(jié)點(diǎn)容納的VM客戶機(jī)140a-b 利用不足,那么CMI模塊190確定計(jì)算節(jié)點(diǎn)110n除了它自己的VM客 戶機(jī)140c-d是否具有足夠的工作量容量以容納VM客戶機(jī)140a-b。當(dāng) 然,如果開(kāi)始只有一個(gè)計(jì)算節(jié)點(diǎn)被選擇主控VM客戶機(jī),并且這個(gè)節(jié)點(diǎn) 是利用不足的,那么這個(gè)節(jié)點(diǎn)保持有效服務(wù)。在324,如果CMI模塊190確定在其他所選計(jì)算節(jié)點(diǎn)沒(méi)有足夠的計(jì)算資 源容納當(dāng)前駐留在利用不足的計(jì)算節(jié)點(diǎn)的VM客戶機(jī),那么這些VM客 戶機(jī)保持原樣。然而在326,如果CMI模塊190確定在一個(gè)或多個(gè)其它節(jié)點(diǎn)有足夠 的資源來(lái)容納當(dāng)前駐留在利用不足的計(jì)算節(jié)點(diǎn)的那些VM客戶機(jī),那么 它卸載或者遷移這些VM客戶機(jī)到該一個(gè)或多個(gè)其它節(jié)點(diǎn)并且對(duì)利用不 足的計(jì)算節(jié)點(diǎn)斷電(經(jīng)由其中的利用率代理226)以便減少系統(tǒng)100中 的功耗。例如,VM客戶機(jī)140a-b然后被遷移到計(jì)算節(jié)點(diǎn)110n中的VM 主機(jī)120。在一個(gè)實(shí)施例中,對(duì)于VM客戶機(jī)的遷移可以考慮一個(gè)或多 個(gè)附加規(guī)則或者標(biāo)準(zhǔn)。其中一個(gè)規(guī)則可以基于在計(jì)算節(jié)點(diǎn)中加電等待 時(shí)間對(duì)VM客戶機(jī)的遷移的影響。例如,利用不足的計(jì)算節(jié)點(diǎn)110a的 加電等待時(shí)間可能太長(zhǎng)而不能容納任何后來(lái)的重新遷移的VM客戶機(jī)到 該節(jié)點(diǎn),因?yàn)闀r(shí)間延遲可能防礙VM客戶機(jī)的操作。因此,計(jì)算節(jié)點(diǎn)可 以保持服務(wù)以主控它已有的VM客戶機(jī),盡管確定該計(jì)算節(jié)點(diǎn)利用不足。在一個(gè)實(shí)施例中,上述方法300也適用于在VM主機(jī)支持實(shí)時(shí)添加 和刪除單個(gè)計(jì)算資源的實(shí)例中的單個(gè)計(jì)算節(jié)點(diǎn)中的VM主機(jī)之間遷移 VM客戶機(jī),所述單個(gè)計(jì)算資源諸如CPU,存儲(chǔ)器,1/0控制器,磁心邏 輯芯片組等等,借此這些計(jì)算資源的每一個(gè)都可運(yùn)行為在不同的功率 模式之間轉(zhuǎn)換,而獨(dú)立于其它計(jì)算資源。本文已經(jīng)描述和示出的是實(shí)施例以及它的一些變化。本文使用的 術(shù)語(yǔ)、描述和附圖只是通過(guò)舉例說(shuō)明的方式示出,而不意味著限制。 本領(lǐng)域技術(shù)人員會(huì)意識(shí)到,在本發(fā)明主題的精神和范圍內(nèi)許多變化都 是可能的,其將要由以下權(quán)利要求以及它們的等效物定義,其中所有 術(shù)語(yǔ)都意味著它們最寬的合理意義,除非另有指出。
權(quán)利要求
1、一種用于動(dòng)態(tài)調(diào)節(jié)信息技術(shù)(IT)基礎(chǔ)設(shè)施中的功耗的系統(tǒng)(100),所述信息技術(shù)基礎(chǔ)設(shè)施具有通過(guò)網(wǎng)絡(luò)互連的多個(gè)計(jì)算節(jié)點(diǎn)(110a-n),所述系統(tǒng)包括在該多個(gè)計(jì)算節(jié)點(diǎn)的每個(gè)計(jì)算節(jié)點(diǎn)使用的至少一個(gè)虛擬機(jī)(VM)主機(jī)(120),該至少一個(gè)VM主機(jī)可運(yùn)行以主控至少一個(gè)VM客戶機(jī)(140a-n),并且該多個(gè)計(jì)算節(jié)點(diǎn)中不同的計(jì)算節(jié)點(diǎn)上的VM主機(jī)是版本可兼容的以允許VM客戶機(jī)在VM主機(jī)之間遷移;以及管理模塊(190),其通過(guò)網(wǎng)絡(luò)連接至該多個(gè)計(jì)算節(jié)點(diǎn)以接收該多個(gè)計(jì)算節(jié)點(diǎn)中每個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算資源的性能規(guī)格的本地測(cè)量,管理模塊可運(yùn)行以至少基于所接收的該多個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格通過(guò)在VM主機(jī)之間遷移VM客戶機(jī)來(lái)動(dòng)態(tài)調(diào)節(jié)該多個(gè)計(jì)算節(jié)點(diǎn)的功耗。
2、 如權(quán)利要求1所述的系統(tǒng),其中每個(gè)計(jì)算節(jié)點(diǎn)包括診斷單元 (226),其可運(yùn)行為從每個(gè)計(jì)算節(jié)點(diǎn)中的計(jì)算資源的本地性能計(jì)數(shù)器測(cè) 量性能規(guī)格,以提供對(duì)每個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格的本地測(cè)量。
3、 如權(quán)利要求2所述的系統(tǒng),其中每個(gè)計(jì)算節(jié)點(diǎn)還包括利用率代 理(228),其可運(yùn)行以監(jiān)控診斷單元測(cè)量的每個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格的 本地測(cè)量。
4、 如權(quán)利要求l所述的系統(tǒng),其中該多個(gè)計(jì)算節(jié)點(diǎn)(110a-n)中的 至少一個(gè)計(jì)算節(jié)點(diǎn)是具有與該多個(gè)計(jì)算節(jié)點(diǎn)中的另一計(jì)算節(jié)點(diǎn)的物理 計(jì)算平臺(tái)不同的硬件配置。
5、 如權(quán)利要求l所迷的系統(tǒng),其中該多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算 節(jié)點(diǎn)可運(yùn)行為獨(dú)立于該多個(gè)計(jì)算節(jié)點(diǎn)中的其他計(jì)算節(jié)點(diǎn)在多個(gè)功率模 式之間切換。
6、 如權(quán)利要求1所述的系統(tǒng),其中管理模塊(290)可運(yùn)行為將該 多個(gè)計(jì)算節(jié)點(diǎn)中的一個(gè)計(jì)算節(jié)點(diǎn)切換到斷電狀態(tài)以在所有VM客戶機(jī)從 一個(gè)計(jì)算節(jié)點(diǎn)遷移到該多個(gè)計(jì)算節(jié)點(diǎn)中的至少另一個(gè)計(jì)算節(jié)點(diǎn)時(shí)節(jié)省功率。
7、 一種用于在系統(tǒng)中動(dòng)態(tài)調(diào)節(jié)功耗的方法,所述方法包括以下步驟標(biāo)識(shí)系統(tǒng)中的多個(gè)計(jì)算節(jié)點(diǎn)(310);在該多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)實(shí)現(xiàn)至少一個(gè)虛擬機(jī)(VM) (312);在該多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM主機(jī)上實(shí)例 化至少一個(gè)VM客戶才凡(314);監(jiān)控該多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī)的 工作量需求并且本地測(cè)量每個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格(316);以及確定該多個(gè)計(jì)算節(jié)點(diǎn)中的一個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī)的工作量需求是否超過(guò)或者低于一個(gè)計(jì)算節(jié)點(diǎn)的容量(318);以及當(dāng)確定該至少一個(gè)VM客戶機(jī)的工作量需求低于一個(gè)計(jì)算節(jié)點(diǎn)的容 量時(shí),a) 提供將該至少一個(gè)VM客戶機(jī)到系統(tǒng)中標(biāo)識(shí)的多個(gè)節(jié)點(diǎn)中的另一 個(gè)節(jié)點(diǎn)的遷移;以及b) —旦提供遷移則將一個(gè)利用不足的計(jì)算節(jié)點(diǎn)斷電以節(jié)省功耗 (326)。
8、 如權(quán)利要求7所述的方法,其中當(dāng)確定該至少一個(gè)VM客戶機(jī) 的工作量需求超過(guò)一個(gè)計(jì)算節(jié)點(diǎn)的容量時(shí),對(duì)其他計(jì)算節(jié)點(diǎn)加電以提 供其他容量容納該至少一個(gè)VM客戶機(jī)的工作量需求。
9、 如權(quán)利要求7所迷的方法,其中提供該至少一個(gè)VM客戶機(jī)的 遷移包括確定在另一個(gè)計(jì)算節(jié)點(diǎn)是否有足夠的容量來(lái)容納來(lái)自該一個(gè)計(jì)算 節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī);以及當(dāng)確定在該另一個(gè)計(jì)算節(jié)點(diǎn)有足夠的容量時(shí),將該至少一個(gè)VM客戶機(jī) 從該一個(gè)計(jì)算節(jié)點(diǎn)遷移到該另一個(gè)計(jì)算節(jié)點(diǎn)。
10、 一種其上編碼了程序代碼的計(jì)算機(jī)可讀介質(zhì),所述程序代碼 用于動(dòng)態(tài)調(diào)節(jié)具有多個(gè)計(jì)算節(jié)點(diǎn)的系統(tǒng)中的功耗,所述編碼的程序代 碼包括計(jì)算機(jī)程序代碼,其被執(zhí)行以在多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié)點(diǎn) 實(shí)現(xiàn)至少一個(gè)虛擬機(jī)(VM) (312);計(jì)算機(jī)程序代碼,其被執(zhí)行以在該多個(gè)計(jì)算節(jié)點(diǎn)中的每個(gè)計(jì)算節(jié) 點(diǎn)的該至少一個(gè)VM主機(jī)上實(shí)例化至少一個(gè)VM客戶機(jī)(314);計(jì)算機(jī)程序代碼,其被執(zhí)行以監(jiān)控該多個(gè)計(jì)算節(jié)點(diǎn)中每個(gè)計(jì)算節(jié) 點(diǎn)的該至少一個(gè)VM客戶機(jī)的工作量需求并且本地測(cè)量每個(gè)計(jì)算節(jié)點(diǎn)的 性能規(guī)格(316);以及計(jì)算機(jī)程序代碼,其被執(zhí)行以確定該多個(gè)計(jì)算節(jié)點(diǎn)其中 一個(gè)計(jì)算節(jié)點(diǎn)的該至少一個(gè)VM客戶機(jī)的工作量需求是否超過(guò)或者低于一個(gè)計(jì)算 節(jié)點(diǎn)的容量(318);以及計(jì)算機(jī)程序代碼,其被執(zhí)行以當(dāng)確定該至少一個(gè)VM客戶機(jī)的工作量需求低于該一個(gè)計(jì)算節(jié)點(diǎn)的容量時(shí),a) 提供將該至少一個(gè)VM客戶機(jī)遷移到系統(tǒng)中標(biāo)識(shí)的多個(gè)節(jié)點(diǎn)中的另一個(gè)節(jié)點(diǎn);以及b) —旦提供遷移則將該一個(gè)利用不足的計(jì)算節(jié)點(diǎn)斷電以節(jié)省功耗 (326)。
全文摘要
本發(fā)明涉及調(diào)節(jié)功耗。提供了一種用于動(dòng)態(tài)調(diào)節(jié)信息技術(shù)(I T)基礎(chǔ)設(shè)施中的功耗的系統(tǒng)(100),所述信息技術(shù)基礎(chǔ)設(shè)施具有通過(guò)網(wǎng)絡(luò)互連的多個(gè)計(jì)算節(jié)點(diǎn)。系統(tǒng)(100)包括在多個(gè)計(jì)算節(jié)點(diǎn)的每個(gè)計(jì)算節(jié)點(diǎn)使用的至少一個(gè)虛擬機(jī)(VM)主機(jī)(120),該至少一個(gè)VM主機(jī)可運(yùn)行以容納至少一個(gè)VM客戶機(jī)(110a-n),并且該多個(gè)計(jì)算節(jié)點(diǎn)中不同的計(jì)算節(jié)點(diǎn)上的VM主機(jī)是版本可兼容的以允許VM客戶機(jī)在VM主機(jī)之間遷移。系統(tǒng)還包括管理模塊(190),其通過(guò)網(wǎng)絡(luò)連接至該多個(gè)計(jì)算節(jié)點(diǎn)以接收多個(gè)計(jì)算節(jié)點(diǎn)中每個(gè)計(jì)算節(jié)點(diǎn)的計(jì)算資源性能規(guī)格的本地測(cè)量,管理模塊可運(yùn)行為至少基于所接收的多個(gè)計(jì)算節(jié)點(diǎn)的性能規(guī)格通過(guò)在VM主機(jī)之間遷移VM客戶機(jī)動(dòng)態(tài)調(diào)節(jié)多個(gè)計(jì)算節(jié)點(diǎn)的功耗。
文檔編號(hào)G06F1/32GK101231552SQ200810003830
公開(kāi)日2008年7月30日 申請(qǐng)日期2008年1月24日 優(yōu)先權(quán)日2007年1月24日
發(fā)明者A·R·惠勒 申請(qǐng)人:惠普開(kāi)發(fā)有限公司