專利名稱:管理分布式計(jì)算系統(tǒng)中的功率供應(yīng)的制作方法
管理分布式計(jì)算系統(tǒng)中的功率供應(yīng)背景向諸如數(shù)據(jù)中心、網(wǎng)格、云、容器等大規(guī)模計(jì)算基礎(chǔ)結(jié)構(gòu)中的大量的分布式計(jì)算元件供應(yīng)功率(power)通常是ー個(gè)具有挑戰(zhàn)性的問(wèn)題。通常,使用靜態(tài)連線(wiring)和功率備份基礎(chǔ)結(jié)構(gòu)來(lái)將固定的功率預(yù)算或功率量分配到多個(gè)功率消耗元件,包括計(jì)算機(jī)服務(wù)器、存儲(chǔ)設(shè)施、以及網(wǎng)絡(luò)設(shè)備等(統(tǒng)稱為計(jì)算元件)。這些元件的功率消耗不是靜態(tài)的,而是經(jīng)常隨著在這些元件上執(zhí)行的用戶應(yīng)用的動(dòng)態(tài)工作負(fù)載或數(shù)據(jù)訪問(wèn)模式而改變。由這些改變所帶來(lái)的ー個(gè)問(wèn)題在于靜態(tài)功率分配基礎(chǔ)結(jié)構(gòu)可能即便在其他元件存在多余容量時(shí)也不能容易地向需要功率的元件重新分配功率。目前,為了在這種改變期間保持系統(tǒng)工作,向該系統(tǒng)的每ー不同部分提供大量的多余功率容量以便能夠適應(yīng)每一部分中的動(dòng)態(tài)需求變化。因此,在功率供應(yīng)系統(tǒng)的ー個(gè)部分中功率可能未被充分利用,而同時(shí)在該功率供應(yīng)系統(tǒng)的另一部分中功率可能不足。 下面討論與動(dòng)態(tài)功率管理相關(guān)的技木。概述以下概述僅是為了介紹在以下詳細(xì)描述中討論的某些概念而被包括的。本概述并不是全面的,并且不g在描繪所要求保護(hù)的主題的范圍,該范圍由所附的權(quán)利要求書(shū)來(lái)闡明。簡(jiǎn)言之,可以在線方式,或者將在線方式與離線方式相組合地,監(jiān)視各計(jì)算元件的功率消耗,并且可跨越功率分配基礎(chǔ)結(jié)構(gòu)將功率使用與功率可用性或指定預(yù)算相比較。例如,功率分配基礎(chǔ)結(jié)構(gòu)可能跨數(shù)據(jù)中心聯(lián)位(房間)、機(jī)架、電路、容器、或個(gè)體服務(wù)器或群集具有固定的功率預(yù)算。當(dāng)超出被預(yù)算的邊界的一個(gè)或多個(gè)處的功率預(yù)算(或接近超出或預(yù)測(cè)要超出)時(shí),可啟動(dòng)功率預(yù)算實(shí)施來(lái)主動(dòng)地(或搶先地)減少該基礎(chǔ)結(jié)構(gòu)中的過(guò)載部分(或者預(yù)測(cè)要過(guò)載的部分,分別地)中的功率使用?;谟脩艉?或操作者所指定的功率管理策略,使用一個(gè)或多個(gè)實(shí)施機(jī)制來(lái)控制功率使用。這些機(jī)制可包括以下的或其他的。工作負(fù)載中導(dǎo)致増加的功率使用的部分或全部可被遷移到功率基礎(chǔ)結(jié)構(gòu)中沒(méi)有超出功率預(yù)算的那些部分(例如,不同的聯(lián)位(colo))。對(duì)于無(wú)狀態(tài)服務(wù),可終止過(guò)載點(diǎn)處的應(yīng)用實(shí)例或托管(host)應(yīng)用實(shí)例的虛擬機(jī)(VM),并且在稍后的時(shí)間在同一服務(wù)器或不同服務(wù)器上實(shí)例化新的實(shí)例或托管新實(shí)例的VM ;即便在應(yīng)用狀態(tài)可被重新創(chuàng)建的情況下(例如,在即時(shí)消息收發(fā)服務(wù)中使用存儲(chǔ)在用戶客戶端中的信息),這些技術(shù)也是適用的。應(yīng)用組件本身或托管應(yīng)用組件的虛擬機(jī)可被遷移或臨時(shí)掛起執(zhí)行(例如,分頁(yè)(page)到存儲(chǔ))并在稍后的時(shí)間在同一服務(wù)器或不同服務(wù)器上恢復(fù),過(guò)載部分中的服務(wù)器可被關(guān)閉或變換到低功率執(zhí)行狀態(tài)或低功率睡眠狀態(tài)并在該基礎(chǔ)結(jié)構(gòu)的其他部分中啟動(dòng)類似的服務(wù)器。進(jìn)入數(shù)據(jù)中心的用戶エ作負(fù)載可被重新定向到同一數(shù)據(jù)中心或其他數(shù)據(jù)中心中的非過(guò)載部分中的服務(wù)器。可通過(guò)減少某些服務(wù)器(例如,執(zhí)行低優(yōu)先級(jí)或低收益應(yīng)用的那些服務(wù)器)上的CPU處理器頻率(和/或存儲(chǔ)器/高速緩存分配以及存儲(chǔ)器帶寬以及其他資源)來(lái)減少那些服務(wù)器上的功率使用??蓽p少分配給某些應(yīng)用的CPU時(shí)間,從而允許處理器以低功率執(zhí)行狀態(tài)或低功率睡眠狀態(tài)花費(fèi)更多時(shí)間,并因此減少平均功率提取。可向用戶、操作者、以及軟件應(yīng)用發(fā)送自動(dòng)化的功率警告,可通過(guò)改變它們的處理類型(例如,電影流傳輸服務(wù)器可從高清分辨率切換到標(biāo)準(zhǔn)清晰度)來(lái)對(duì)所述警告進(jìn)行響應(yīng),并且減少的工作負(fù)載減少了所提取的功率。可重定向進(jìn)入的用戶請(qǐng)求,并且可基于可用功率容量、動(dòng)態(tài)功率定價(jià)/可用性、托管計(jì)算元件的可用性及容量、遷移成本(諸如遷移中導(dǎo)致的帶寬和等待時(shí)間)以及其他因素來(lái)跨地理上分布的數(shù)據(jù)中心遷移工作負(fù)載。還可調(diào)用由所部屬的軟件和硬件提供的其他功率控制選項(xiàng)。許多附帶特征將參考以下的詳細(xì)描述并結(jié)合附圖
考慮以在下文解釋。附圖簡(jiǎn)述根據(jù)附圖閱讀以下詳細(xì)描述,將更好地理解本發(fā)明,其中在所附描述中使用相同的附圖標(biāo)記來(lái)指代相同的部分。圖I示出用于ー計(jì)算基礎(chǔ)結(jié)構(gòu)的功率分配系統(tǒng)。
圖2示出計(jì)算基礎(chǔ)結(jié)構(gòu)。圖3示出用于實(shí)現(xiàn)能量實(shí)施模塊(EEM)功能的兩個(gè)模塊。圖4示出用于跨機(jī)架管理功率消耗的一實(shí)現(xiàn)。圖5示出由管理系統(tǒng)執(zhí)行的實(shí)例功率管理過(guò)程。詳細(xì)描述功率分配概覽圖I示出用于ー計(jì)算基礎(chǔ)結(jié)構(gòu)的功率分配系統(tǒng)100。大多數(shù)數(shù)據(jù)中心、服務(wù)器場(chǎng)等具有某種程度上固定的功率供應(yīng)系統(tǒng)。即,功率是以固定部分提供的,所述部分隨著從功率供應(yīng)器或功率源102到最終消耗功率的計(jì)算設(shè)備104的距離而減少。盡管已經(jīng)知道功率供應(yīng)器或功率源改變分配給各電路的功率的量,然而在任何給定時(shí)刻,為了討論可假定該供應(yīng)是固定的,或者動(dòng)態(tài)地改變分配的能力是有限的或不便的。例如,忽略在線纜、變壓器、開(kāi)關(guān)等中的功率損耗,可以從源102到分配點(diǎn)114 (例如,鄰居、校園、功率子站等)、到電路1116、到電路3118、到各設(shè)備104以不斷減少的固定量106、108、110、112提供功率。所述計(jì)算元件或設(shè)備104可以是諸如服務(wù)器、交換機(jī)、路由器、數(shù)據(jù)存儲(chǔ)設(shè)備(例如,磁帶排(tapebank))、容器、用于計(jì)算機(jī)刀片等的機(jī)架等等的計(jì)算元件。數(shù)據(jù)中心、計(jì)算云、或其他類型的協(xié)調(diào)計(jì)算基礎(chǔ)結(jié)構(gòu)可依賴功率分配系統(tǒng)100,比如圖I中示出的功率分配系統(tǒng)。例如,服務(wù)器的群集可用于向顧客提供通用服務(wù)/應(yīng)用托管。在許多情況下,在任何給定時(shí)刻運(yùn)行的各種類型的被托管應(yīng)用以及它們的工作負(fù)載可能以難以預(yù)測(cè)或預(yù)先知曉的方式波動(dòng)。錯(cuò)誤狀態(tài)、網(wǎng)絡(luò)或服務(wù)器故障、對(duì)被托管的應(yīng)用/服務(wù)的增加的外部需求、以及許多其他因素可能無(wú)法預(yù)測(cè)且快速地增加個(gè)體服務(wù)器、服務(wù)器群集、超級(jí)計(jì)算機(jī)、甚至整個(gè)數(shù)據(jù)中心(它們可能在物理上遠(yuǎn)離而可經(jīng)由網(wǎng)絡(luò)集成以提供一致且統(tǒng)ー的托管服務(wù))的計(jì)算負(fù)載,并因此增加其功率消耗。類似地,低計(jì)算工作負(fù)載可在功率供應(yīng)基礎(chǔ)結(jié)構(gòu)的另一部分中創(chuàng)建多余的未消耗的功率。圖2示出計(jì)算基礎(chǔ)結(jié)構(gòu)。該示例基礎(chǔ)結(jié)構(gòu)具有兩個(gè)數(shù)據(jù)中心100。為了討論,可認(rèn)為數(shù)據(jù)中心100是用于安置計(jì)算元件或設(shè)備104并可能向它們提供功率、冷卻、人類操作者訪問(wèn)等的任何任意単元。分布式管理系統(tǒng)130具有獲得主機(jī)處的應(yīng)用的資源使用的測(cè)量,以及云托管平臺(tái)的不同運(yùn)行時(shí)屬性和特征,和/或聚集任意主機(jī)組的測(cè)量(例如,存儲(chǔ)器使用、CPU利用、活動(dòng)進(jìn)程/線程、網(wǎng)絡(luò)連接、網(wǎng)絡(luò)帶寬使用、功率消耗、盤(pán)驅(qū)動(dòng)器活動(dòng)、存儲(chǔ)器錯(cuò)誤、高速緩存命中率等)的能力。對(duì)于可使用的各種技術(shù)之ー的附加描述,參見(jiàn)申請(qǐng)?zhí)枮?2/774,203,代理人檔案號(hào)為328557. 01,標(biāo)題為“管理云計(jì)算系統(tǒng)上的應(yīng)用的運(yùn)行時(shí)執(zhí)行(Managing Runtime Execution of Applications on Cloud ComputingSystems),,、提父日為2012年5月5日的美國(guó)專利申請(qǐng),通過(guò)對(duì)其引用將其結(jié)合于此。功率監(jiān)視和管理數(shù)據(jù)中心100可包括各種計(jì)算設(shè)備104。計(jì)算設(shè)備104可包括應(yīng)用托管軟件132,該軟件允許向設(shè)備供應(yīng)各種應(yīng)用134,所述應(yīng)用通常將經(jīng)由網(wǎng)絡(luò)訪問(wèn)并提供數(shù)據(jù),包括向其外部用戶提供數(shù)據(jù)。計(jì)算設(shè)備104還可托管數(shù)據(jù)庫(kù)、提供DNS或web服務(wù)、提供負(fù)載平衡器、或其他專用的基礎(chǔ)結(jié)構(gòu)型軟件。計(jì)算設(shè)備104還可具有監(jiān)視組件135,該監(jiān)視組件向管理系統(tǒng)130提供性能、資源使用、可用性、功率消耗、以及網(wǎng)絡(luò)統(tǒng)計(jì)數(shù)據(jù)以及其他度量和屬性。計(jì)算設(shè)備104的監(jiān)視組件135可合作以形成對(duì)等網(wǎng)絡(luò)以計(jì)算全局狀態(tài)的聚集視圖,或允許將數(shù)據(jù)收集到中心服務(wù)器或多個(gè)邏輯中心化服務(wù)器,以用于自動(dòng)化分析和決策(稍后討論)、聚集、共享、相關(guān)推斷等。監(jiān)視組件135被示出為駐留在托管軟件132內(nèi),因?yàn)橥泄苘浖?32可便于管理監(jiān)視組件135。然而,監(jiān)視組件不需要被托管軟件132管理。監(jiān)視組件135可以是獨(dú)立的,并且與托管軟件132分開(kāi),或者在某些計(jì)算設(shè)備104上,監(jiān)視組件135可由托管 軟件132處理,而在其他計(jì)算設(shè)備上它們可以是自治的。數(shù)據(jù)中心100還可具有管理和組織單元,例如,群集136、子群集138、建筑物140、容器、聯(lián)位、以及其他。各組織單元可對(duì)應(yīng)于固定功率量106、108、110、112中的各個(gè)。管理系統(tǒng)130獲得關(guān)于各層組織(諸如個(gè)體設(shè)備、和/或群集、和/或子群集、和/或電路等)的功率使用的信息。管理系統(tǒng)130可獲得設(shè)備104的使用等級(jí)并得出組織單元(諸如機(jī)架、群集、容器、聯(lián)位等)的使用等級(jí)、以及被托管的應(yīng)用和VM(虛擬機(jī))的性能、服務(wù)級(jí)協(xié)定(SLA)、以及優(yōu)先級(jí)等。管理系統(tǒng)130進(jìn)而可確定哪些組織単元具有多余的和/或不足的功率。管理系統(tǒng)130隨后可指示(例如,經(jīng)由網(wǎng)絡(luò)消息或直接地經(jīng)由控制臺(tái)終端)各設(shè)備104采取動(dòng)作,所述動(dòng)作將減少和/或増加功率消耗。例如,管理系統(tǒng)130可向設(shè)備104傳送消息來(lái)遷移、終止、收緊(throttle down)等應(yīng)用142。在遷移的情況下,應(yīng)用142可被移動(dòng)到(或激活,放松)等另ー設(shè)備104上具有多余的可用功率的功率単元上??蔀槎鄠€(gè)其他應(yīng)用、虛擬機(jī)等執(zhí)行同一過(guò)程。凈效應(yīng)將是有問(wèn)題的功率単元上的功率消耗將降低,而另一功率単元上的功率消耗將增加,但是這兩個(gè)單元上的功率使用將在它們的指定功率預(yù)算內(nèi)??蔀槎鄠€(gè)功率單元執(zhí)行同一過(guò)程來(lái)確保它們的運(yùn)行時(shí)功率使用不超出它們的指定功率預(yù)算。在一個(gè)實(shí)施例中,通過(guò)使用虛擬機(jī),管理系統(tǒng)130可調(diào)節(jié)服務(wù)器或設(shè)備104上的計(jì)算負(fù)載(并因此調(diào)節(jié)功率消耗)。該管理系統(tǒng)可遷移整個(gè)虛擬機(jī)、減少/増加對(duì)虛擬機(jī)可用的計(jì)算資源(例如,増加/減少虛擬CPU速度、虛擬存儲(chǔ)器、高速緩存分配、存儲(chǔ)器帶寬分配等),比如說(shuō),基于它們的優(yōu)先級(jí)、收益級(jí)別、利用率,臨時(shí)掛起其執(zhí)行并在稍后的時(shí)間在同一服務(wù)器或在不同服務(wù)器上恢復(fù),或以其他方式操縱或重新配置虛擬機(jī)來(lái)調(diào)整計(jì)算負(fù)載以適合跨越數(shù)據(jù)中心100、云基礎(chǔ)結(jié)構(gòu)等的當(dāng)前功率分配。在另ー實(shí)施例中,管理系統(tǒng)130可根據(jù)當(dāng)前功率使用致使云計(jì)算基礎(chǔ)結(jié)構(gòu)將用戶請(qǐng)求路由到托管在同一數(shù)據(jù)中心或不同數(shù)據(jù)中心中的不同服務(wù)器。為了闡述,管理系統(tǒng)130可為各功率消耗単元(例如,聯(lián)位、容器、機(jī)架、個(gè)體服務(wù)器)具有功率封頂(cap)或限制,其中在虛擬化的云環(huán)境中實(shí)施功率封頂。這可允許功率過(guò)度預(yù)定(over-subscription),其中被托管的應(yīng)用或VM的聚集峰值功率消耗超出指定功率預(yù)算,這可減少功率供應(yīng)成本。某些商業(yè)可用的服務(wù)器或設(shè)備104用硬件來(lái)提供功率計(jì)量和封頂(capping)功能,而用于使用動(dòng)態(tài)電壓頻率縮放(DVFS)實(shí)施功率預(yù)算的方法是可用的。然而,當(dāng)多個(gè)分布式應(yīng)用或虛擬化應(yīng)用共享一物理服務(wù)器時(shí),在服務(wù)器上作為整體實(shí)施功率封頂影響該服務(wù)器上的所有正在運(yùn)行的VM的性能。由于這些應(yīng)用中僅一個(gè)應(yīng)用中有多余負(fù)載,這可能影響多個(gè)應(yīng)用的性能。而且,這些功率相關(guān)的方面可體現(xiàn)在功率策略中。注意,功率策略可指定或表征應(yīng)用行為的期望特征,諸如在一天的不同時(shí)間或在不同用戶需要和工作負(fù)載期間不同服務(wù)器組件(或分組)上的功率消耗的特征。對(duì)于功率相關(guān)策略的示例,參見(jiàn)上面提到的相關(guān)專利申請(qǐng)的圖4。還參見(jiàn)對(duì)策略的相關(guān)討論。通過(guò)允許為個(gè)體應(yīng)用或VM指定功率策略,在每應(yīng)用或每VM基礎(chǔ)上調(diào)節(jié)功率消耗可是可能的。當(dāng)物理服務(wù)器超出其功率封頂時(shí),在任何服務(wù)器或設(shè)備104上運(yùn)行的能量實(shí)施模塊(管理系統(tǒng)130的實(shí)施例或組件)能夠通過(guò)以下方式來(lái)實(shí)施封頂根據(jù)用戶指定的策略,選擇性地扼流對(duì)個(gè)體應(yīng)用或VM的資源分配、臨時(shí)掛起正在運(yùn)行的VM的子集的執(zhí)行并在稍后時(shí)間在同一服務(wù)器上或在不同服務(wù)器上恢復(fù)該子集、終止該VM并在稍后時(shí)間在同一服務(wù)器上或在不同服務(wù)器上實(shí)例化托管新應(yīng)用實(shí)例的新VM (在無(wú)狀態(tài)服務(wù)的情況下,也用 于支持應(yīng)用狀態(tài)的重新創(chuàng)建的有狀態(tài)服務(wù))、或其他動(dòng)作。例如,用戶策略可能要求用于低優(yōu)先級(jí)應(yīng)用的VM首先被封頂,并且如果這一動(dòng)作不足以滿足功率封頂,隨后可扼流較高優(yōu)先級(jí)的VM??墒褂肊EM來(lái)實(shí)現(xiàn)共享云基礎(chǔ)結(jié)構(gòu)中的優(yōu)先級(jí)知曉能量記賬和實(shí)施。假定云服務(wù)器托管來(lái)自其工作負(fù)載動(dòng)態(tài)改變的高優(yōu)先級(jí)交互式應(yīng)用的VM,以及執(zhí)行諸如web爬行(crawling)、數(shù)據(jù)復(fù)制、科學(xué)工作負(fù)載、以及DryadLINQ/Map-Reduce作業(yè)等后臺(tái)任務(wù)的低優(yōu)先級(jí)VM??苫赩M放置約束跨越各云服務(wù)器來(lái)分布來(lái)自所有應(yīng)用的VM。EEM監(jiān)視所使用的所有服務(wù)器上的功率封頂。當(dāng)EEM檢測(cè)到正在超出功率封頂或者預(yù)測(cè)可能在不久的將來(lái)超出功率封頂時(shí),它根據(jù)所指定的實(shí)施策略來(lái)實(shí)施該封頂。考慮EEM中的用于功率封頂實(shí)施的以下示意性策略“減少低優(yōu)先級(jí)后臺(tái)VM的CPU分配、并且僅在不足以使功率消耗進(jìn)入指定功率預(yù)算時(shí)收緊給高優(yōu)先級(jí)VM的資源?!备鶕?jù)該策略,當(dāng)向服務(wù)器機(jī)架供應(yīng)功率的電路斷路器接近其容量時(shí),EEM將首先選擇該機(jī)架內(nèi)的服務(wù)器上的低優(yōu)先級(jí)VM來(lái)減少功率使用,而不是收緊整個(gè)服務(wù)器,收緊整個(gè)服務(wù)器可能是對(duì)在其上運(yùn)行的高優(yōu)先級(jí)VM施加扼流。功率策略實(shí)施圖3示出用于實(shí)現(xiàn)能量實(shí)施模塊(EEM)功能的兩個(gè)模塊。功率監(jiān)視器160模塊監(jiān)視功率使用,而基于優(yōu)先級(jí)的功率分配器(PPA) 162模塊實(shí)施功率策略。圖3還示出應(yīng)用163、用戶策略規(guī)范164、以及應(yīng)用監(jiān)視器166,其中的每一個(gè)均在上面提到的相關(guān)專利申請(qǐng)中描述過(guò)。關(guān)于功率監(jiān)視器160,如果基于硬件的功率測(cè)量設(shè)施在該服務(wù)器或設(shè)備104上可用,則這一設(shè)施可用于功率監(jiān)視器160。某些服務(wù)器具有這種內(nèi)建的功率計(jì)量硬件,但是如果這種硬件不可用,則可使用其他技術(shù)。例如,WattsUp PRO ES功率計(jì)量器可用于測(cè)量服務(wù)器功率。在這種情況下,用于該功率計(jì)量器的串行化協(xié)議驅(qū)動(dòng)器可以被接口到應(yīng)用監(jiān)視器166來(lái)訪問(wèn)功率數(shù)據(jù)。應(yīng)用監(jiān)視器166可將功率數(shù)據(jù)轉(zhuǎn)發(fā)到其他監(jiān)視器或管理模塊來(lái)聚集、相關(guān)、和分析等。關(guān)于PPA 162,可通過(guò)改變分配給該服務(wù)器上的VM的CPU時(shí)間或比例或用其他方式來(lái)實(shí)施功率封頂。在一個(gè)實(shí)施例中,處理器時(shí)間扼流本身可能就足夠了,因?yàn)樘幚砥魍ǔX暙I(xiàn)了小型服務(wù)器的總功率消耗的大部分。作為附加或替代,例如,可執(zhí)行每進(jìn)程、每應(yīng)用、或每VM扼流。當(dāng)所分配的CPU時(shí)間減少時(shí),服務(wù)器的處理器以低功率/執(zhí)行狀態(tài)花費(fèi)更多時(shí)間,由此減少功率使用。在一個(gè)實(shí)施例中,可使用Windows Hyper-V來(lái)虛擬化。諸如Xen VMM等類似功能在其他系統(tǒng)中可用。對(duì)于關(guān)于如何修改Hyper-V來(lái)改變CPU時(shí)間分配的更多細(xì)節(jié),參見(jiàn)R. Nathuji、P. England、P. Sharma和A. Singh.在2009年4月的第四屆計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)中的反饋控制實(shí)現(xiàn)和設(shè)計(jì)國(guó)際研討會(huì)(FeBID)中的“用于虛擬化服務(wù)器的反饋驅(qū)動(dòng)的 qos-知曉的功率預(yù)算(Feedback drivenqos-aware power budgeting forvirtualized servers),,。盡管對(duì)托管多個(gè)VM的個(gè)體服務(wù)器的處理器時(shí)間扼流可能解決該服務(wù)器的功率封頂,然而,也可跨多個(gè)服務(wù)器管理功率。在數(shù)據(jù)中心中,多個(gè)服務(wù)器可能正在運(yùn)行同一云服務(wù),例如,具有HTTP前端的多層web和電子商務(wù)應(yīng)用、應(yīng)用中間層、以及數(shù)據(jù)庫(kù)后端。從而,扼流一個(gè)服務(wù)器可能致使該服務(wù)器成為該云服務(wù)的瓶頸,由此降低整個(gè)服務(wù)的性能。而且,服務(wù)器可能共享公共功率供應(yīng)并且可能具有基于其功率供應(yīng)容量的外殼級(jí)(enclosurelevel)(例如,機(jī)架、容器)的總功率消耗限制。因此,功率管理可能需要在數(shù)據(jù)中心中在外 殼級(jí)執(zhí)行。為了允許此功能,可實(shí)現(xiàn)簡(jiǎn)單的全局功率控制策略。功率管理的示例圖4示出用于跨機(jī)架管理功率消耗的一實(shí)現(xiàn)。應(yīng)當(dāng)注意,可使用機(jī)架以外的任何功率管理單元,例如,建筑物、電路、容器、聯(lián)位、不間斷電源等。如圖4中所示,功率監(jiān)視器160 (例如,功率計(jì)量表)測(cè)量跨機(jī)架188的所有服務(wù)器180的總功率消耗,并將這些值發(fā)送到管理系統(tǒng)130,管理系統(tǒng)130可以是協(xié)作代理的網(wǎng)絡(luò)、應(yīng)用監(jiān)視程序、或運(yùn)行在指定管理服務(wù)器上的程序、以及其他配置。管理系統(tǒng)130還收集每個(gè)服務(wù)器180上運(yùn)行的個(gè)體VM 186的功率使用,可使用功率監(jiān)視器160來(lái)計(jì)算每VM功率使用,例如在每一服務(wù)器180上的根系統(tǒng)管理程序中運(yùn)行的Joulemeter (參見(jiàn)A. Kansal> F. Zhao、J. Liu、N. Kothari以及 A. Bhattacharya 的“虛擬機(jī)功率計(jì)量和供應(yīng)(Virtual machinepower metering andprovisioning)”,關(guān)于云計(jì)算的ACM研討會(huì),2010年)。當(dāng)管理系統(tǒng)130檢測(cè)到一機(jī)架(例如機(jī)架I 188)的功率消耗高于預(yù)定功率預(yù)算時(shí),它選擇該機(jī)架188上具有最高功率利用的必要數(shù)量的VM 186 (以滿足功率預(yù)算)來(lái)遷移到以低于其功率預(yù)算操作的其他機(jī)架一諸如機(jī)架2 I 92 —上的未被充分利用的服務(wù)器190上,并將指示此決定的消息發(fā)送到資源管理器194來(lái)致動(dòng)。如果未被充分利用的服務(wù)器不可用于托管被遷移的VM,或者遷移成本比其益處更昂貴,則這些VM可被臨時(shí)掛起執(zhí)行并例如在稍后的時(shí)間恢復(fù)。本示例功率策略盡管很簡(jiǎn)單,但是會(huì)減少在其遷移期間VM的性能。為了最小化對(duì)性能的影響,一種替代策略會(huì)是首先將處理后臺(tái)任務(wù)(例如,用于web搜索的計(jì)算索引、map-reduce作業(yè)、科學(xué)工作負(fù)載、DryadLINQ/Map-Reduce作業(yè)等)的VM 186 (或向其賦予最高優(yōu)先級(jí))從具有功率容量過(guò)載的機(jī)架遷移到在低于其功率容量的機(jī)架上托管的未被充分利用的服務(wù)器,并且如果仍不足以滿足功率過(guò)載機(jī)架上的功率封頂,則該策略可以是遷移處理前臺(tái)任務(wù)的VM并對(duì)交互式VM賦予遷移的最低處理優(yōu)先級(jí)。而且,基于將功率利用、優(yōu)先級(jí)、收益級(jí)、以及用戶交互性(例如,對(duì)性能的SLA懲罰)以及其他因素進(jìn)行組合的混合方案可被用來(lái)劃分VM的遷移優(yōu)先級(jí)來(lái)滿足跨機(jī)架的功率預(yù)算。這樣的策略的兩個(gè)示例如下。向VM賦予遷移優(yōu)先級(jí)的第一個(gè)混合示例策略會(huì)是將較高的優(yōu)先級(jí)賦予較高的功率消耗,并且如果兩個(gè)VM具有相同的功率使用,則使對(duì)性能影響具有較低的SLA懲罰的VM更優(yōu)先。第二個(gè)混合示例策略會(huì)使將較高的優(yōu)先級(jí)賦予對(duì)性能降低具有最少SLA懲罰的VM,并且如果兩個(gè)VM對(duì)性能的SLA懲罰相同,則選擇具有較高功率消耗的VM。如上,如果未被充分利用的服務(wù)器不可用于托管被遷移的VM,或者遷移成本比其益處更昂貴,則這些VM可被臨時(shí)掛起執(zhí)行并在稍后的時(shí)間在同一服務(wù)器或在不同服務(wù)器上恢復(fù),以及其他策略。圖5示出由管理系統(tǒng)130執(zhí)行的實(shí)例功率管理過(guò)程。重復(fù)地接收功率測(cè)量220。重復(fù)地使用所述測(cè)量來(lái)標(biāo)識(shí)222需要減少其功率消耗的功率基礎(chǔ)結(jié)構(gòu)。然后將與所標(biāo)識(shí)222的功率基礎(chǔ)結(jié)構(gòu)相對(duì)應(yīng)的候選計(jì)算元件(例如,應(yīng)用、VM、CPU、服務(wù)器)標(biāo)識(shí)224為用于遷移或者用于執(zhí)行其他功率減少動(dòng)作的潛在候選??苫谟脩艉?或操作者創(chuàng)作的功率使用和實(shí)施策略來(lái)標(biāo)識(shí)224計(jì)算元件。在其中收緊所標(biāo)識(shí)224的計(jì)算元件可能需要在別處的計(jì)算的補(bǔ)償性增加的實(shí)施例中,該過(guò)程可包括標(biāo)識(shí)226適合作為重新分配228所標(biāo)識(shí)224的計(jì) 算元件的目標(biāo)的基礎(chǔ)結(jié)構(gòu)。例如,功率管理策略可提供將被賦予使其計(jì)算負(fù)載增加的優(yōu)先權(quán)的計(jì)算元件的條件或特征,例如,具有未被充分利用的功率容量的計(jì)算元件。在接收到進(jìn)一步的功率測(cè)量后,該過(guò)程可以可選地確定230所標(biāo)識(shí)的基礎(chǔ)結(jié)構(gòu)是否使其功率消耗充分降低。如果否,則可不采取更多的動(dòng)作232??墒褂闷渌^(guò)程來(lái)完成功率平衡。在一個(gè)實(shí)施例中,可將功率分配和SLA性能相組合,并且如果應(yīng)用性能不滿足SLA,則可分配更多功率,或者可防止功率被減少。結(jié)語(yǔ)簡(jiǎn)言之,可監(jiān)視各計(jì)算元件的功率消耗并且可跨功率分布基礎(chǔ)結(jié)構(gòu)將功率使用與功率可用性或指定的預(yù)算進(jìn)行比較。例如,功率分配基礎(chǔ)結(jié)構(gòu)可能跨數(shù)據(jù)中心聯(lián)位(房間)、機(jī)架、電路、容器、或個(gè)體服務(wù)器或群集具有固定的功率預(yù)算。當(dāng)超出被預(yù)算的邊界的一個(gè)或多個(gè)處的功率預(yù)算(或接近超出或預(yù)測(cè)要超出)時(shí),可啟動(dòng)功率預(yù)算實(shí)施來(lái)主動(dòng)地減少該基礎(chǔ)結(jié)構(gòu)中的過(guò)載部分中的功率使用。基于用戶和/或操作者所指定的功率管理策略,使用一個(gè)或多個(gè)實(shí)施機(jī)制來(lái)控制功率使用。這些機(jī)制可包括以下的或其他的。導(dǎo)致增加的功率使用的工作負(fù)載和處理這些工作負(fù)載的應(yīng)用或VM中的一部分或全部可被遷移到功率基礎(chǔ)結(jié)構(gòu)中沒(méi)有超出功率預(yù)算的那些部分。虛擬機(jī)可被遷移,過(guò)載部分中的應(yīng)用實(shí)例或服務(wù)器可被關(guān)閉而該基礎(chǔ)結(jié)構(gòu)的其他部分中的類似應(yīng)用實(shí)例或服務(wù)器可被啟動(dòng)。進(jìn)入數(shù)據(jù)中心的用戶進(jìn)來(lái)請(qǐng)求以及正在運(yùn)行的工作負(fù)載可被重新定向或遷移到同一數(shù)據(jù)中心或其他數(shù)據(jù)中心中的非過(guò)載部分中的服務(wù)器。可通過(guò)減少某些服務(wù)器(例如,執(zhí)行低優(yōu)先級(jí)或低收益應(yīng)用的那些服務(wù)器)上的CPU處理器頻率(或存儲(chǔ)器/高速緩存/存儲(chǔ)器帶寬分配以及其他資源,每應(yīng)用或每VM)來(lái)減少那些服務(wù)器上的功率使用??蓽p少分配給某些應(yīng)用的CPU時(shí)間,從而允許處理器以低功率執(zhí)行狀態(tài)或低功率睡眠狀態(tài)花費(fèi)更多時(shí)間,并因此減少平均功率提取。可向用戶、操作者、以及軟件應(yīng)用發(fā)送自動(dòng)化的功率警告,可通過(guò)改變它們的處理類型(例如,電影流傳輸服務(wù)器可從高清分辨率切換到標(biāo)準(zhǔn)清晰度)來(lái)對(duì)所述警告進(jìn)行響應(yīng),并且減少的工作負(fù)載減少了所提取的功率??苫诳捎霉β嗜萘俊?dòng)態(tài)功率定價(jià)/可用性、托管計(jì)算元件的可用性及容量、遷移成本(諸如遷移中導(dǎo)致的帶寬和等待時(shí)間)以及其他因素來(lái)跨地理上分布的數(shù)據(jù)中心遷移工作負(fù)載。還可調(diào)用由所部屬的軟件和硬件提供的其他功率控制選項(xiàng)。以上討論的實(shí)施例和特征都可用儲(chǔ)存在易失性或非易失性計(jì)算機(jī)或設(shè)備可讀介質(zhì)中的信息的形式來(lái)實(shí)現(xiàn)。這被認(rèn)為至少包括諸如光學(xué)存儲(chǔ)(例如,⑶一 ROM)、磁介質(zhì)、閃速ROM、或存儲(chǔ)可快速訪問(wèn)的數(shù)字信息的任何現(xiàn)有或未來(lái)裝置等介質(zhì)。所存儲(chǔ)的信息可采用機(jī)器可執(zhí)行指令(例如,經(jīng)編譯的可執(zhí)行二進(jìn)制代碼)、源代碼、字節(jié)代碼、或可用于允許或配置計(jì)算機(jī)設(shè)備來(lái)執(zhí)行上述各實(shí)施例的信息的任何其它形式。這還被認(rèn)為至少包括諸如RAM和/或在程序的執(zhí)行期間存儲(chǔ)諸如CPU指令等信息以實(shí)現(xiàn)一實(shí)施例的虛擬存儲(chǔ)器等易 失性存儲(chǔ)器,以及存儲(chǔ)允許程序或可執(zhí)行代碼被加載和執(zhí)行的信息的非易失性介質(zhì)。實(shí)施例和特征可在任何類型的計(jì)算設(shè)備上執(zhí)行,這些計(jì)算設(shè)備包括便攜設(shè)備、工作站、服務(wù)器、移動(dòng)無(wú)線設(shè)備等。
權(quán)利要求
1.一種由計(jì)算機(jī)執(zhí)行的方法,所述方法包括 接收來(lái)自多個(gè)服務(wù)器計(jì)算機(jī)和/或應(yīng)用和/或虛擬機(jī)(VM)的功率測(cè)量,所述功率測(cè)量包括所述服務(wù)器計(jì)算機(jī)的或個(gè)體應(yīng)用的或托管所述應(yīng)用的VM的功率消耗的測(cè)量,所述服務(wù)器計(jì)算機(jī)從在所述服務(wù)器計(jì)算機(jī)外部的相應(yīng)的功率基礎(chǔ)結(jié)構(gòu)単元接收功率; 評(píng)估所述功率測(cè)量來(lái)確定所述功率基礎(chǔ)結(jié)構(gòu)単元中的一個(gè)是否需要減少功率使用;以及 響應(yīng)于確定存在功率減少需要,向從該功率基礎(chǔ)結(jié)構(gòu)単元接收功率的一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)發(fā)送ー個(gè)或多個(gè)消息,所述消息致使所述ー個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)上的計(jì)算的減少。
2.如權(quán)利要求I所述的方法,其特征在于,需要功率減少的功率基礎(chǔ)結(jié)構(gòu)単元是通過(guò)從多個(gè)服務(wù)器計(jì)算機(jī)的所接收的功率測(cè)量中計(jì)算和預(yù)測(cè)的總功率并基于所述總功率確定要減少所述多個(gè)服務(wù)器計(jì)算機(jī)的計(jì)算負(fù)載來(lái)標(biāo)識(shí)的,所述多個(gè)服務(wù)器計(jì)算機(jī)從所述功率基礎(chǔ)結(jié)構(gòu)單兀接收其功率。
3.如權(quán)利要求2所述的方法,其特征在于,所述確定是使用功率消耗策略來(lái)執(zhí)行的,其中所述策略指定希望的或強(qiáng)制的功率使用特征。
4.如權(quán)利要求I所述的方法,其特征在于,計(jì)算和/或功率的減少是通過(guò)停用、終止和重新創(chuàng)建、遷移、重新分配資源、和/或調(diào)整運(yùn)行在所述ー個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)上的虛擬機(jī)(VM)上的工作負(fù)載來(lái)實(shí)現(xiàn),所述停用包括臨時(shí)掛起或暫停井隨后在同一服務(wù)器或在不同服務(wù)器上恢復(fù),所述終止和重新創(chuàng)建包括終止過(guò)載點(diǎn)處的應(yīng)用實(shí)例并在稍后的時(shí)間在同一服務(wù)器或在不同服務(wù)器上實(shí)例化新實(shí)例或托管它們的VM,其中在必要時(shí)在其上重新創(chuàng)建應(yīng)用狀態(tài)。
5.如權(quán)利要求I所述的方法,其特征在干,計(jì)算和/或功率的減少是通過(guò)致使所述ー個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)上的ー個(gè)或多個(gè)CPU消耗更少的功率來(lái)實(shí)現(xiàn)的,而致使所述ー個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)上的ー個(gè)或多個(gè)CPU消耗更少的功率是通過(guò)使用諸如頻率縮放的處理器功率管理調(diào)節(jié)器改變影響其功率消耗的CPU的設(shè)置來(lái)實(shí)現(xiàn)的。
6.如權(quán)利要求I所述的方法,其特征在干,進(jìn)ー步響應(yīng)于標(biāo)識(shí)該功率消耗単元,増加沒(méi)有從過(guò)載的功率基礎(chǔ)結(jié)構(gòu)単元接收功率的一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)上的計(jì)算負(fù)載。
7.如權(quán)利要求6所述的方法,其特征在干,増加計(jì)算是通過(guò)激活或改變沒(méi)有從過(guò)載的功率基礎(chǔ)結(jié)構(gòu)單元接收功率的一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)上執(zhí)行的ー個(gè)或多個(gè)VM來(lái)實(shí)現(xiàn)的。
8.ー種方法,包括 接收定義計(jì)算設(shè)備的功率消耗限制的策略; 接收所述計(jì)算設(shè)備的功率消耗的測(cè)量; 從所述測(cè)量確定所述計(jì)算設(shè)備中的ー個(gè)超出所述策略中的功率消耗限制或?qū)Τ鏊霾呗灾械墓β氏南拗朴胸暙I(xiàn);以及 響應(yīng)于所述確定,致使所述計(jì)算設(shè)備中的一個(gè)的功率消耗減少,其中所述計(jì)算設(shè)備中的所述ー個(gè)不是與執(zhí)行所述過(guò)程的計(jì)算設(shè)備相同的設(shè)備。
9.如權(quán)利要求8所述的方法,其特征在干,還包括進(jìn)ー步通過(guò)如下動(dòng)作對(duì)所述確定進(jìn)行響應(yīng)標(biāo)識(shí)從沒(méi)有向所確定的計(jì)算設(shè)備供應(yīng)功率的功率基礎(chǔ)結(jié)構(gòu)獲得功率的ー個(gè)或多個(gè)計(jì)算設(shè)備,并且致使所標(biāo)識(shí)的一個(gè)或多個(gè)計(jì)算設(shè)備的功率消耗的増加。
10.如權(quán)利要求8所述的方法,其特征在于,功率消耗的増加和/或功率消耗的減少是通過(guò)以下動(dòng)作中的ー個(gè)或多個(gè)來(lái)實(shí)現(xiàn)的改變CPU頻率設(shè)置、改變高速緩存分配、改變存儲(chǔ)器分配、改變存儲(chǔ)器帶寬分配以及其他資源、改變應(yīng)用的處理優(yōu)先級(jí)、或向應(yīng)用發(fā)送信號(hào)以致使所述應(yīng)用増加或減少其計(jì)算負(fù)載。
11.如權(quán)利要求8所述的方法,其特征在于,所述測(cè)量是由作為所述計(jì)算設(shè)備的硬件的一部分的功率監(jiān)視器提供和/或由在所述計(jì)算設(shè)備中的一些上運(yùn)行的估計(jì)虛擬機(jī)的功率消耗的軟件模塊提供的。
12.—種由ー個(gè)或多個(gè)計(jì)算機(jī)執(zhí)行的用于管理多個(gè)計(jì)算機(jī)中的功率消耗的方法,所述方法包括 重復(fù)地評(píng)估多個(gè)計(jì)算機(jī)的功率消耗,以便通過(guò)聚集任何給定的多個(gè)計(jì)算機(jī)中的單個(gè)計(jì)算機(jī)的功率消耗的標(biāo)記來(lái)評(píng)估所述給定的多個(gè)計(jì)算機(jī),其中所述評(píng)估標(biāo)識(shí)過(guò)度消耗功率的多個(gè)計(jì)算機(jī)并且標(biāo)識(shí)不足地消耗功率的多個(gè)計(jì)算機(jī);以及 通過(guò)向第一多個(gè)計(jì)算機(jī)中的一些計(jì)算機(jī)傳送第一消息來(lái)指示所述ー些計(jì)算機(jī)降低它們的計(jì)算工作負(fù)載來(lái)對(duì)所述第一多個(gè)計(jì)算機(jī)已被標(biāo)識(shí)為過(guò)度消耗功率做出響應(yīng);以及 通過(guò)向被標(biāo)識(shí)為不足地消耗功率的第二多個(gè)計(jì)算機(jī)中的其他計(jì)算機(jī)傳送第二消息來(lái)進(jìn)ー步對(duì)所述第一多個(gè)計(jì)算機(jī)已被標(biāo)識(shí)為過(guò)度消耗功率做出響應(yīng),所述第二消息指示所述其他計(jì)算機(jī)増加它們的計(jì)算工作負(fù)載。
13.如權(quán)利要求12所述的方法,其特征在于,所述評(píng)估是基于由在所述計(jì)算機(jī)上運(yùn)行的軟件應(yīng)用所提供的功率消耗的估計(jì)的。
14.如權(quán)利要求12所述的方法,其特征在于,在所述計(jì)算機(jī)上運(yùn)行的功率監(jiān)視程序提供所述計(jì)算機(jī)中的單個(gè)功率消耗的測(cè)量,并且通過(guò)減少CPU速度、暫?;驕p慢應(yīng)用程序、改變虛擬機(jī)的配置、重新分配資源或遷移應(yīng)用來(lái)降低所述計(jì)算工作負(fù)載。
15.如權(quán)利要求12所述的方法,其特征在于,所述指示降低計(jì)算工作負(fù)載是通過(guò)將虛擬機(jī)從所述第一多個(gè)計(jì)算機(jī)遷移走來(lái)執(zhí)行的。
全文摘要
通過(guò)重復(fù)地評(píng)估多個(gè)計(jì)算機(jī)的功率消耗,一個(gè)或多個(gè)計(jì)算機(jī)管理多個(gè)計(jì)算機(jī)中的功率消耗,以便通過(guò)聚集任何給定的多個(gè)計(jì)算機(jī)中的單個(gè)計(jì)算機(jī)的功率消耗的標(biāo)記來(lái)評(píng)估所述給定的多個(gè)計(jì)算機(jī)。所述評(píng)估標(biāo)識(shí)或預(yù)測(cè)過(guò)度消耗功率的多個(gè)計(jì)算機(jī)并且標(biāo)識(shí)不足地消耗功率的多個(gè)計(jì)算機(jī)。向被標(biāo)識(shí)為過(guò)度消耗功率的第一多個(gè)計(jì)算機(jī)發(fā)送消息以指示其包含的計(jì)算機(jī)或虛擬機(jī)(VM)中的一些降低它們的計(jì)算工作負(fù)載。向被標(biāo)識(shí)為不足地消耗功率的第二多個(gè)計(jì)算機(jī)發(fā)送消息以指示其他計(jì)算機(jī)增加他們的計(jì)算工作負(fù)載。
文檔編號(hào)G06F1/26GK102844724SQ201180015946
公開(kāi)日2012年12月26日 申請(qǐng)日期2011年3月18日 優(yōu)先權(quán)日2010年3月25日
發(fā)明者N·簡(jiǎn)恩, A·坎薩爾 申請(qǐng)人:微軟公司