本申請要求保護(hù)2014年8月22日提交的名稱為“SIMPLE POWER- AWARE SCHEDULER TO LIMIT POWER CONSUMPTION BY HPC SYSTEM WITHIN A BUDGET(將HPC系統(tǒng)的功率消耗限制在預(yù)算內(nèi)的簡單功率感知調(diào)度器)”的在前美國臨時專利申請No.62/040,576的權(quán)益,通過引用將其整體合并于此。
本申請要求保護(hù)2014年12月24日提交的名稱為“METHOD AND APPARATUS TO GENERATE AND USE POWER, THERMAL AND PERFORMANCE CHARACTERISTICS OF NODES TO IMPROVE ENERGY EFFICIENCY AND REDUCING WAIT TIME FOR JOBS IN THE QUEUE(生成并使用節(jié)點(diǎn)的功率、熱和性能特性以改進(jìn)能量效率且降低隊列中作業(yè)的等待時間的方法和裝置)”的在前美國專利申請No.14/582,783(代理人卷號No.42P74562)的權(quán)益;2014年12月24日提交的名稱為“ADJUSTMENT OF EXECUTION OF TASKS(任務(wù)執(zhí)行的調(diào)整)”的美國專利申請No.14/582,979(代理人卷號No.42P74563)的權(quán)益;2014年12月24日提交的名稱為“CONTROL OF POWER CONSUMPTION(功率消耗的控制)”的美國專利申請No.14/582,985(代理人卷號No.42P74564)的權(quán)益;2014年12月24日提交的名稱為“FORECAST FOR DEMAND OF ENERGY(能量需求的預(yù)測)”的美國專利申請No.14/582,988(代理人卷號No.42P74565)的權(quán)益;2014年12月24日提交的名稱為“METHODS AND APPARATUS TO MANAGE JOBS THAT CAN AND CANNOT BE SUSPENDED WHEN THERE IS A CHANGE IN POWER ALLOCATION TO A DISTRIBUTED COMPUTER SYSTEM(當(dāng)對分布式計算機(jī)系統(tǒng)的功率分配存在變化時管理可以被暫停和不可以被暫停的作業(yè)的方法和裝置)”的美國專利申請No.14/582,772(代理人卷號No.42P74566)的權(quán)益;2014年12月24日提交的名稱為“MANAGING POWER PERFORMANCE OF DISTRIBUTED COMPUTING SYSTEMS(管理分布式計算系統(tǒng)的功率性能)”的美國專利申請No.14/582,743(代理人卷號No.42P74567)的權(quán)益;2014年12月24日提交的名稱為“PROFILING A JOB POWER AND ENERGY CONSUMPTION FOR A DATA PROCESSING SYSTEM(為數(shù)據(jù)處理系統(tǒng)制定作業(yè)功率和能量消耗的簡檔)”的美國專利申請No.14/582,756(代理人卷號No.42P74568)的權(quán)益;2014年12月24日提交的名稱為“A POWER AWARE JOB SCHEDULER AND MANAGER FOR A DATA PROCESSING SYSTEM(用于數(shù)據(jù)處理系統(tǒng)的功率感知作業(yè)調(diào)度器和管理器)”的美國專利申請No.14/582,764(代理人卷號No.42P74569)的權(quán)益。
技術(shù)領(lǐng)域
本公開的實(shí)施例總體上涉及分布式計算機(jī)系統(tǒng)的功率守恒的領(lǐng)域。更具體地,本公開的一個實(shí)施例涉及估計要在分布式計算機(jī)系統(tǒng)內(nèi)的多個節(jié)點(diǎn)上運(yùn)行的作業(yè)的功率性能以改進(jìn)被該分布式計算機(jī)系統(tǒng)處理的作業(yè)的作業(yè)調(diào)度和監(jiān)控。
背景技術(shù):
分布式計算機(jī)系統(tǒng)可以通過執(zhí)行被稱為作業(yè)的計算分配的多個節(jié)點(diǎn)的同時使用來執(zhí)行并行計算。每個節(jié)點(diǎn)可以包括一個或多個處理器、存儲器、操作系統(tǒng)、以及一個或多個輸入/輸出(I/O)部件。節(jié)點(diǎn)可以通過高速網(wǎng)絡(luò)結(jié)構(gòu)(例如以太網(wǎng)、全路徑、無限帶寬或其他網(wǎng)絡(luò))彼此通信,并且可以使用共享文件系統(tǒng)或存儲裝置。作業(yè)可以被劃分成分布在數(shù)千個節(jié)點(diǎn)上的數(shù)千個并行任務(wù)。這些節(jié)點(diǎn)可以每秒彼此同步上百次。
計劃未來的分布式計算機(jī)系統(tǒng)需要幾十兆瓦的功率,這使得它們的功率管理成為行業(yè)中最關(guān)注的問題。將期望這些分布式計算機(jī)系統(tǒng)以有限的功率和能量預(yù)算來遞送百億億次性能。當(dāng)前的分布式計算機(jī)系統(tǒng)可以應(yīng)用功率封頂來遵守受限功率和能量預(yù)算。然而,功率封頂?shù)漠?dāng)前方法對分布式計算機(jī)系統(tǒng)的性能有負(fù)面影響,這歸因于通常不準(zhǔn)確的功率封頂。
當(dāng)前方法基于包括每個節(jié)點(diǎn)的一個或多個部件的熱耗散功率(TDP)值來估計分布式計算機(jī)系統(tǒng)的一個或多個節(jié)點(diǎn)運(yùn)行作業(yè)所需的功率。因?yàn)樽鳂I(yè)實(shí)際上使用該作業(yè)在其上運(yùn)行的每個節(jié)點(diǎn)的TDP值是少見的,所以使用TDP值的估計會導(dǎo)致過高估計。通過過高估計啟動和運(yùn)行作業(yè)所需的功率,當(dāng)前方法會使作業(yè)的開始延遲并且通過阻止其他作業(yè)運(yùn)行而降低分布式計算機(jī)系統(tǒng)的效率。
因?yàn)殚_始作業(yè)的必需功率的過高估計促使分布式計算機(jī)系統(tǒng)延遲作業(yè)的開始直到可得到過高估計的啟動功率為止,所以運(yùn)行作業(yè)的開始被延遲??商娲兀瑔庸β实母鼫?zhǔn)確估計將避免運(yùn)行作業(yè)的延遲。另外,運(yùn)行作業(yè)所需的功率的過高估計導(dǎo)致為該作業(yè)過度分配功率。過度分配帶走了可以被分配給分布式計算機(jī)系統(tǒng)請求被運(yùn)行的其他作業(yè)的功率。
另外,TDP不是可被節(jié)點(diǎn)消耗的最大功率。例如,TDP沒有準(zhǔn)確地測量當(dāng)節(jié)點(diǎn)的每個部件正被使用時的電氣功率消耗,而是測量熱耗散。因此,作業(yè)請求可以會消耗比TDP估計更多的功率是可能的,這可能導(dǎo)致分布式計算機(jī)系統(tǒng)嘗試消耗比公用設(shè)施已經(jīng)分配的功率更多的功率。
附圖說明
通過示例的方式來圖示本發(fā)明的實(shí)施例并且本發(fā)明的實(shí)施例不受附圖的各圖中的限制,在附圖中相似的標(biāo)號指示類似的元件并且在其中:
圖1是接收各種輸入的HPC系統(tǒng)的示例性框圖。
圖2是包括HPC系統(tǒng)100的邏輯的示例性框圖。
圖3是用于在請求使用HPC系統(tǒng)100來處理作業(yè)的同時指定用戶策略的用戶界面屏幕的示例性實(shí)施例。
圖4A是圖示當(dāng)沒有實(shí)施功率監(jiān)控時在確定運(yùn)行作業(yè)必需的資源中使用的示例性參數(shù)的表格。
圖4B是圖示當(dāng)實(shí)施功率監(jiān)控時在確定運(yùn)行作業(yè)必需的資源中使用的示例性參數(shù)的表格。
圖5是圖示用于生成啟動功率的估計的示例性方法的流程圖。
圖6是圖示用于生成對于作業(yè)的最小所需功率的估計的示例性方法的流程圖。
圖7是圖示用于生成為作業(yè)所需的分配功率的估計的示例性方法的流程圖。
圖8是圖示用于基于對于作業(yè)的可用功率生成操作頻率的估計的示例性方法的流程圖。
具體實(shí)施方式
本公開的各種實(shí)施例涉及估計要在分布式計算機(jī)系統(tǒng)上運(yùn)行的作業(yè)的功率性能。可以至少部分基于作業(yè)的所有者是否允許作業(yè)受到功率限制(限制供應(yīng)給作業(yè)的功率的作業(yè)功率策略),作業(yè)的所有者是否允許作業(yè)被暫停和/或要在其上運(yùn)行作業(yè)的分布式計算機(jī)系統(tǒng)的一個或多個節(jié)點(diǎn)的校準(zhǔn)數(shù)據(jù)來確定作業(yè)的功率性能的估計。該分布式計算機(jī)系統(tǒng)可以是例如高性能計算(HPC)系統(tǒng)。在本公開的一些實(shí)施例中,作業(yè)可能不會受到如由作業(yè)的所有者陳述的限制供應(yīng)給該作業(yè)的功率的功率策略;然而,HPC系統(tǒng)可以并且可能將具有不能被HPC系統(tǒng)所處理的作業(yè)的組合超過的總體受限功率預(yù)算。
本公開的實(shí)施例涉及基于將在其上運(yùn)行作業(yè)的每個節(jié)點(diǎn)的實(shí)際功率測量結(jié)果(其考慮各節(jié)點(diǎn)之間的各部分(part-to-part)變化)來估計運(yùn)行該作業(yè)所需的啟動功率和/或最小功率。本公開的其他實(shí)施例涉及基于在運(yùn)行作業(yè)(例如作業(yè)的樣本部分和/或全部作業(yè))的同時得到的測量結(jié)果來估計運(yùn)行該作業(yè)所需的啟動功率和/或最小功率。本公開的還有其他實(shí)施例涉及基于將運(yùn)行作業(yè)的一個或多個節(jié)點(diǎn)將在其上操作的固定頻率來估計運(yùn)行該作業(yè)所需的啟動功率和/或最小功率。
HPC系統(tǒng)可以基于被選擇用來運(yùn)行作業(yè)的節(jié)點(diǎn)將操作的預(yù)定頻率來估計應(yīng)該被分配給該作業(yè)的功率。該估計可以至少基于作業(yè)類型(例如工作負(fù)載類型)、被選擇用來運(yùn)行作業(yè)的節(jié)點(diǎn)的列表、以及可選地要被供應(yīng)給所選節(jié)點(diǎn)的最小功率或所選節(jié)點(diǎn)在運(yùn)行作業(yè)的同時將操作的頻率。該估計可以向HPC系統(tǒng)至少提供對于每個節(jié)點(diǎn)對于每個頻率的功率級(例如平臺最大功率(PMP)、工作負(fù)載最大功率和/或工作負(fù)載平均功率)、允許HPC系統(tǒng)管理冷卻系統(tǒng)的熱估計和/或?qū)τ谒x節(jié)點(diǎn)的一個或多個頻率的性能估計(例如性能度量),其允許用戶(例如作業(yè)的所有者)基于作業(yè)的所估計的性能度量(例如直到完成為止的時間)、所估計的功率級和所估計的總能量消耗來調(diào)整作業(yè)請求。節(jié)點(diǎn)的工作負(fù)載最大功率可以被定義為在節(jié)點(diǎn)被校準(zhǔn)(例如運(yùn)行小型化應(yīng)用程序(“迷你應(yīng)用程序”)和/或作業(yè)的一部分)的同時采樣的最大觀測功率。節(jié)點(diǎn)的工作負(fù)載平均功率可以被定義為在節(jié)點(diǎn)被校準(zhǔn)的同時采樣的所有功率測量結(jié)果的平均功率。在至少一些實(shí)施例中,為了開始作業(yè),使用如這里描述的功率估計技術(shù)之一以及使用如在名稱為“Methods and apparatus to generate and use power, thermal and performance characteristics of nodes to improve energy efficiency and reducing wait time for jobs in the queue.(生成并使用節(jié)點(diǎn)的功率、熱和性能特性以改進(jìn)能量效率且降低隊列中作業(yè)的等待時間的方法和裝置)”的相關(guān)美國專利申請No. 14/582,783(代理人卷號42P74562)中描述的功率校準(zhǔn)技術(shù)之一來估計作業(yè)所需的功率。
工作負(fù)載類型可以被用來確定用于生成如上述估計的校準(zhǔn)數(shù)據(jù)的一部分。例如,如果工作負(fù)載類型(例如作業(yè)的類型)類似于已用來校準(zhǔn)HPC系統(tǒng)的節(jié)點(diǎn)的迷你應(yīng)用程序,則估計器將檢索與使用迷你應(yīng)用程序的節(jié)點(diǎn)的校準(zhǔn)相關(guān)聯(lián)的校準(zhǔn)數(shù)據(jù)(例如存儲在校準(zhǔn)數(shù)據(jù)庫中)。
可替代地,工作負(fù)載類型可以是用戶所請求的實(shí)際作業(yè)的一小部分。在此類示例中,用戶可能已經(jīng)提交了期望作業(yè)的一小部分(例如直到完成為止的總共例如4-5小時的計算)以便在校準(zhǔn)將處理作業(yè)請求的一個或多個節(jié)點(diǎn)中使用。因此,估計器將檢索將處理與期望作業(yè)的一小部分相關(guān)聯(lián)的作業(yè)的一個或多個節(jié)點(diǎn)的校準(zhǔn)數(shù)據(jù)。
在又另一實(shí)施例中,可以在作業(yè)的執(zhí)行期間完成用于處理作業(yè)的節(jié)點(diǎn)的各種參數(shù)(例如除了其他之外尤其溫度和/或功率消耗)的采樣。如果請求再次處理作業(yè)(例如用稍稍變化的輸入?yún)?shù)),則估計器可以檢索與在其前一運(yùn)行時間期間的作業(yè)相關(guān)聯(lián)的校準(zhǔn)數(shù)據(jù)并且在生成估計的過程中使用該校準(zhǔn)數(shù)據(jù)。
可替代地或另外,HPC系統(tǒng)可以估計當(dāng)HPC系統(tǒng)知道為作業(yè)分配的功率時應(yīng)該以其來運(yùn)行該作業(yè)的頻率。該估計可以基于例如作業(yè)的可用功率(例如PMP、工作負(fù)載最大功率或工作負(fù)載平均功率)、作業(yè)和運(yùn)行作業(yè)的所選節(jié)點(diǎn)的列表。該估計可以提供例如所選節(jié)點(diǎn)應(yīng)該以其來操作的頻率、預(yù)期熱耗散、預(yù)期性能、以及可選地以較高頻率和/或較低頻率運(yùn)行作業(yè)所需的功率和預(yù)期熱耗散。
在至少一些實(shí)施例中,使用如名稱為“Methods and apparatus to profile power and energy consumption by a job running in multiple nodes and uses shared resources of a distributed computer system (HPC)(為在多個節(jié)點(diǎn)中運(yùn)行的且使用分布式計算機(jī)系統(tǒng)(HPC)的共享資源的作業(yè)的功率和能量消耗制定簡檔的方法和裝置)”的相關(guān)美國專利申請No.14/582,756(代理人卷號42P74568)中描述的一種或多種監(jiān)控技術(shù)來監(jiān)控作業(yè)功率、系統(tǒng)功率、作業(yè)的完成和作業(yè)暫停狀態(tài)。
參考圖1,示出接收各種輸入的HPC系統(tǒng)的示例性框圖。HPC系統(tǒng)100包括一個或多個操作系統(tǒng)(OS)節(jié)點(diǎn)101(也被稱為頭節(jié)點(diǎn))、一個或多個計算節(jié)點(diǎn)102、一個或多個輸入/輸出(I/O)節(jié)點(diǎn)103和存儲裝置104。高速結(jié)構(gòu)通信連接OS節(jié)點(diǎn)101、計算節(jié)點(diǎn)102和I/O節(jié)點(diǎn)103。高速結(jié)構(gòu)可以是經(jīng)由一個或多個交換器互連的節(jié)點(diǎn)的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。在一個實(shí)施例中,如圖1中所圖示的,I/O節(jié)點(diǎn)103通信連接到存儲裝置104。該存儲裝置104可以是非永久性存儲裝置,諸如易失性存儲器(例如任何類型的隨機(jī)存取存儲器“RAM”);永久性存儲裝置,諸如非易失性存儲器(例如只讀存儲器“ROM”、功率支持的RAM、閃速存儲器、相變存儲器等),固態(tài)驅(qū)動器,硬盤驅(qū)動器,光盤驅(qū)動器或便攜式存儲器設(shè)備。
OS節(jié)點(diǎn)101可以提供訪問計算節(jié)點(diǎn)102的網(wǎng)關(guān)。例如,在提交用于在計算節(jié)點(diǎn)102上進(jìn)行處理的作業(yè)之前,可能需要用戶登陸到HPC系統(tǒng)100,這可能要通過OS節(jié)點(diǎn)101。在本公開的實(shí)施例中,OS節(jié)點(diǎn)101可以接受由用戶提交的作業(yè)并且?guī)椭捎嬎愎?jié)點(diǎn)102處理的作業(yè)的啟用和管理。在一個實(shí)施例中,OS節(jié)點(diǎn)101包括功率監(jiān)控器(未示出);這里描述的功率估計器(未示出);以及功率校準(zhǔn)器(未示出)。
在一個實(shí)施例中,計算節(jié)點(diǎn)102提供大部分處理和計算功率。I/O節(jié)點(diǎn)103可以提供計算節(jié)點(diǎn)102和可以向HPC系統(tǒng)100提供輸入或從HPC系統(tǒng)100接收輸出的外部設(shè)備(例如分開的計算機(jī))之間的接口。
可以通過例如(例如如由系統(tǒng)管理員或諸如數(shù)據(jù)中心管理器之類的管理軟件確定的)公用事業(yè)管理設(shè)施來向HPC系統(tǒng)100提供系統(tǒng)功率分配(Psys)。典型地,Psys將是分配給HPC系統(tǒng)100的有限數(shù)量的功率,HPC系統(tǒng)100將使用其來運(yùn)行各作業(yè)120中的一個或多個。作業(yè)120包括一個或多個用戶請求要通過HPC系統(tǒng)100運(yùn)行的一個或多個作業(yè)。每個作業(yè)都包括將在下面深入討論的“功率策略”。功率策略將幫助HPC系統(tǒng)100為作業(yè)分配功率并且有助于要由HPC系統(tǒng)100運(yùn)行的一個或多個作業(yè)120的管理。
此外,管制策略130將通過提供定義HPC系統(tǒng)100的操作的首要策略來指導(dǎo)運(yùn)行作業(yè)120的管理。包括在管制策略130中的策略的示例包括但不限于或被約束成:(1)最大化所有硬件和軟件資源的的利用(例如不是以高功率運(yùn)行較少的作業(yè)并且留下資源不使用,而是運(yùn)行盡可能多的作業(yè)來使用盡可能多的資源);(2)在所有運(yùn)行的作業(yè)中不具有功率限制的作業(yè)被給予最高優(yōu)先級;和/或(3)為了重新開始暫停處于較高優(yōu)先級的作業(yè)。此類管制策略支配HPC系統(tǒng)100可以調(diào)度、啟用、暫停和重新啟用一個或多個作業(yè)的方式。
I.術(shù)語。
在下面的描述中,某些術(shù)語被用來描述本發(fā)明的特征。例如,在某些情況下,術(shù)語“邏輯”和“引擎”二者代表被配置成執(zhí)行一個或多個功能的硬件、固件和/或軟件。作為硬件,邏輯(或引擎)可以包括具有數(shù)據(jù)處理或存儲功能的電路。此類電路的示例可以包括但不限于或被約束成微處理器、一個或多個處理器核、可編程門陣列、微控制器、專用集成電路、無線接收器、發(fā)射器和/或收發(fā)器電路、半導(dǎo)體存儲器或組合邏輯。
邏輯(或引擎)可以是處于一個或多個軟件模塊的形式的軟件,諸如處于可執(zhí)行應(yīng)用程序的形式的可執(zhí)行代碼、應(yīng)用程序編程接口(API)、子例程、函數(shù)、程序、小應(yīng)用程序、小服務(wù)程序、例程、源代碼、目標(biāo)代碼、共享程序庫/動態(tài)負(fù)載程序庫、或一個或多個指令。這些軟件模塊可以被存儲在任何類型的適當(dāng)非瞬時存儲介質(zhì)或瞬時存儲介質(zhì)(例如、電氣、光學(xué)、聲學(xué)或其他形式的傳播信號,諸如載波、紅外信號或數(shù)字信號)中。非瞬時存儲介質(zhì)的示例可以包括但不限于或被約束成可編程電路;半導(dǎo)體存儲器;非永久性存儲裝置(諸如易失性存儲器(例如任何類型的隨機(jī)存取存儲器“RAM”));永久性存儲裝置(諸如非易失性存儲器(例如只讀存儲器“ROM”、功率支持的RAM、閃速存儲器、相變存儲器等)),固態(tài)驅(qū)動器,硬盤驅(qū)動器,光盤驅(qū)動器或便攜式存儲器設(shè)備。作為固件,可執(zhí)行代碼被存儲在永久性存儲裝置中。
術(shù)語“功率監(jiān)控”應(yīng)該被解釋成通過包括HPC系統(tǒng)的一個或多個部件的動態(tài)測量功率消耗。所得到的測量結(jié)果可以被用來計算例如個體作業(yè)和/或一組作業(yè)的功率消耗,以及提供關(guān)于HPC系統(tǒng)的總功率消耗的統(tǒng)計。
術(shù)語“功率策略”應(yīng)該被解釋成提供給HPC系統(tǒng)的提供關(guān)于對給定作業(yè)的功率的分配和管理的指導(dǎo)的輸入(例如一個或多個參數(shù))。該輸入可以被提供為作業(yè)請求提交的一部分和/或可以被提供為單獨(dú)的輸入(例如經(jīng)由用戶界面屏幕或配置文件)。例如,除了別的之外,該輸入可以指示(i)作業(yè)是否受到功率限制,(ii)作業(yè)可以以其來運(yùn)行的最大和/或最小功率,和/或(iii)處理作業(yè)的一個或多個節(jié)點(diǎn)可以以其來操作的最小和/或最大頻率。
術(shù)語“節(jié)點(diǎn)”應(yīng)該被理解為與至少系統(tǒng)存儲器和/或一個或多個輸入/輸出(I/O)部件隨意成組的一個或多個處理器。該一個或多個處理器、系統(tǒng)存儲器和一個或多個I/O部件可以被稱為遍及說明書和權(quán)利要求的節(jié)點(diǎn)的“部件”。遍及說明書和權(quán)利要求,術(shù)語“處理器”、“計算機(jī)處理單元(CPU)”和“核”將被互換地使用。
術(shù)語“作業(yè)”應(yīng)該被解釋成在HPC系統(tǒng)上執(zhí)行的預(yù)定計算。例如,用戶(例如作業(yè)的所有者)可以請求由HPC來運(yùn)行作業(yè),這意味著用戶正請求使一個或多個計算節(jié)點(diǎn)根據(jù)由用戶提供的輸入?yún)?shù)和/或數(shù)據(jù)來執(zhí)行計算。作業(yè)請求可以指定要被用于處理作業(yè)的一個或多個計算(例如應(yīng)用程序)。
術(shù)語“系統(tǒng)功率(Psys)”應(yīng)該被解釋成由例如設(shè)施或數(shù)據(jù)中心管理器提供給HPC系統(tǒng)的功率量。Psys是在任何給定時間必須分配給一個或多個作業(yè)的HPC系統(tǒng)的功率總量。
術(shù)語“防護(hù)頻帶”應(yīng)該被解釋為幫助管理HPC系統(tǒng)的功率預(yù)算的機(jī)制。在一個實(shí)施例中,防護(hù)頻帶可以是額外功率分配,其可以是分配給作業(yè)的預(yù)定百分比的功率。例如,如果HPC系統(tǒng)將3MW功率分配給作業(yè),則HPC系統(tǒng)可以僅分配2.8MW并且保持0.2MW作為防護(hù)頻帶以防止計算中的尖峰促使作業(yè)的功率消耗超過3MW。防護(hù)頻帶的一個目的是保持作業(yè)的一致功率消耗。
術(shù)語“平臺最大功率(PMP)”應(yīng)該被解釋為當(dāng)節(jié)點(diǎn)正運(yùn)行“功率-病毒”時測得的該節(jié)點(diǎn)的功率級。功率-病毒是在功率-病毒正被運(yùn)行的同時嘗試運(yùn)行盡可能多的節(jié)點(diǎn)的每個部件的工作負(fù)載,其可以是只為校準(zhǔn)創(chuàng)建的人工工作負(fù)載。因此,PMP是節(jié)點(diǎn)可能消耗的最高可能的功率級。
最后,如在這里使用的術(shù)語“或”和“和/或”被解釋為包括的或意指任何一個或任何組合。因此,“A、B或C”或“A、B和/或C”意指“以下各項(xiàng)中的任一個:A;B;C;A和B;A和C;B和C;A、B和C”。僅當(dāng)元件、功能、步驟或動作的組合處于本質(zhì)上互相排斥的某一方式時出現(xiàn)該定義的例外。
本發(fā)明可以被利用來用于分布式計算機(jī)系統(tǒng)(諸如高性能計算(HPC)系統(tǒng))的功率管理。特別地,本公開的實(shí)施例涉及基于作為HPC系統(tǒng)內(nèi)的節(jié)點(diǎn)的校準(zhǔn)的結(jié)果對每個作業(yè)的功率消耗的估計來管理對HPC系統(tǒng)中運(yùn)行的一個或多個作業(yè)的功率分配。因?yàn)楸景l(fā)明容易受到許多不同形式的實(shí)施例的影響,所以意圖將本公開視為本發(fā)明原理的示例并且不意圖將本發(fā)明限于所示出和描述的具體實(shí)施例。
II.功率感知分布式計算機(jī)系統(tǒng)。
參考圖2,示出包括HPC系統(tǒng)100的邏輯的示例性框圖。圖2中圖示的HPC系統(tǒng)100的邏輯為HPC系統(tǒng)100提供大部分功率管理并且包括資源管理器210(其包括功率感知作業(yè)調(diào)度器211和功率感知作業(yè)啟用器212)、校準(zhǔn)器220、估計器230、一個或多個作業(yè)管理器240(每個作業(yè)將具有其自己的作業(yè)管理器)、作業(yè)250、用戶策略205和管制策略130。在一個實(shí)施例中,資源管理器210和作業(yè)管理器240被配置成收集作業(yè)功率數(shù)據(jù)。
校準(zhǔn)器220校準(zhǔn)HPC系統(tǒng)100內(nèi)的每個節(jié)點(diǎn)的功率、熱耗散和性能。校準(zhǔn)器220可以提供用于校準(zhǔn)HPC系統(tǒng)100內(nèi)的節(jié)點(diǎn)的多種方法。在一個實(shí)施例中,校準(zhǔn)器100可以提供第一校準(zhǔn)方法,在其中HPC系統(tǒng)100內(nèi)的每個節(jié)點(diǎn)運(yùn)行樣本工作負(fù)載(例如迷你應(yīng)用程序、應(yīng)用程序的一部分和/或測試腳本),以使得校準(zhǔn)器220可以以預(yù)定時間間隔對各種參數(shù)(例如所消耗的功率)進(jìn)行采樣以便為每個節(jié)點(diǎn)確定除了其他之外尤其(1)平均功率、(2)最大功率和(3)最小功率。此外,可以以節(jié)點(diǎn)的每個操作頻率在每個節(jié)點(diǎn)上運(yùn)行采樣工作負(fù)載。在另一實(shí)施例中,校準(zhǔn)器220可以提供第二校準(zhǔn)方法,在其中在作業(yè)的運(yùn)行時間期間發(fā)生一個或多個節(jié)點(diǎn)的校準(zhǔn)。在這種情況下,校準(zhǔn)器220可以對其上運(yùn)行(例如處理)作業(yè)的一個或多個節(jié)點(diǎn)進(jìn)行采樣。在第二方法中,校準(zhǔn)器220獲得在實(shí)際運(yùn)行時間期間每個節(jié)點(diǎn)的功率測量結(jié)果。
估計器230向資源管理器210提供對于每個作業(yè)的功率消耗的估計,從而使得資源管理器210能夠高效地調(diào)度和監(jiān)控由一個或多個作業(yè)所有者(例如用戶)請求的每個作業(yè)。估計器220可以基于例如存儲在校準(zhǔn)數(shù)據(jù)庫中的最大和平均功率值來提供功率消耗估計,其中通過校準(zhǔn)器220的處理來填充校準(zhǔn)數(shù)據(jù)庫。此外,可以考慮對于每個作業(yè)所需的最小功率??梢员还烙嬈?30用來創(chuàng)建功率消耗估計的其他因素包括但不限于或被約束成:作業(yè)的所有者是否允許作業(yè)受到功率限制(限制供應(yīng)給作業(yè)的功率的作業(yè)功率策略(例如作業(yè)將運(yùn)行的預(yù)定固定頻率、對于作業(yè)所需的最小功率、或者由資源管理器210確定的變化的頻率和/或供應(yīng)的功率)),對于作業(yè)的啟動功率,作業(yè)將運(yùn)行的頻率,HPC系統(tǒng)100可用的功率和/或分配給HPC系統(tǒng)100的功率。
用戶(例如作業(yè)的所有者)所請求的每個作業(yè)附有用戶策略205(也在圖1中圖示)。用戶策略至少包括關(guān)于作業(yè)250是否可能要受到功率限制、功率限制是否被策略允許來限制功率(例如固定頻率、所需最小功率或由資源管理器210確定的變化的頻率和/或功率)、以及作業(yè)250是否可能被暫停的決定。將在下面利用圖3深入討論用戶策略。
在一個實(shí)施例中,功率感知作業(yè)調(diào)度器211被配置成接收針對作業(yè)的模式選擇(例如被包括在用戶策略205內(nèi)),以基于該模式來確定對于作業(yè)的可用功率并基于該可用功率來為作業(yè)分配功率。在一個實(shí)施例中,功率感知作業(yè)調(diào)度器211被配置成基于該可用功率來確定對于作業(yè)的統(tǒng)一頻率。在一個實(shí)施例中,功率感知作業(yè)調(diào)度器211被配置成基于所監(jiān)控的功率、所估計的功率和經(jīng)過校準(zhǔn)的功率中的至少一個來確定對于作業(yè)的可用功率。該功率感知作業(yè)調(diào)度器211和資源管理器210被配置成接收關(guān)于功率消耗的信息,以便向每個作業(yè)分發(fā)功率預(yù)算,以及實(shí)施統(tǒng)一頻率機(jī)制來限制功率,如下面進(jìn)一步詳細(xì)描述的那樣。
資源管理器210使用功率感知作業(yè)調(diào)度器211和功率感知作業(yè)啟用器212來基于接收到的功率輸入(例如用戶策略205和管制策略206)調(diào)度和啟用作業(yè)。在一個實(shí)施例中,資源管理器210是負(fù)責(zé)為一個或多個用戶想要運(yùn)行的交互性和批量作業(yè)分配計算和I/O資源的軟件對象。典型地,資源管理器210還負(fù)責(zé)調(diào)度從作業(yè)隊列之中出來的作業(yè)并按照所調(diào)度的那樣啟用作業(yè)來運(yùn)行。作業(yè)管理器240被配置成控制作業(yè)保持在為該作業(yè)所分配的功率預(yù)算內(nèi),如下面進(jìn)一步詳細(xì)描述的那樣。在一個實(shí)施例中,作業(yè)管理器240負(fù)責(zé)在作業(yè)已經(jīng)被啟用之后將該作業(yè)操作在一個或多個功率策略的約束之內(nèi)。在一個實(shí)施例中,作業(yè)管理器240被用來控制按照由用戶和/或管理員中的至少一個指定的策略參與作業(yè)的執(zhí)行的所有部件(例如節(jié)點(diǎn)或其他部件)的功率性能。在名稱為“Methods and apparatus for a power aware job scheduler and manager to operate a distributed computing (HPC) within given power limits with high energy efficiency(用于在給定功率限制內(nèi)以高能量效率操作分布式計算(HPC)的功率感知作業(yè)調(diào)度器和管理器的方法和裝置)”的美國專利申請No.14/582,764(代理人卷號No.42P74569)中描述了功率感知作業(yè)調(diào)度器211和作業(yè)管理器240。
A.示例性功率策略選擇用戶界面。
參考圖3,示出用于在請求使用HPC系統(tǒng)100處理的作業(yè)的同時指定用戶策略的用戶界面屏幕的示例性實(shí)施例。該用戶界面屏幕300包括顯示區(qū)310、320和330。顯示區(qū)310允許用戶指定是否允許作業(yè)(例如作業(yè)250)受到功率限制(例如選擇“否”產(chǎn)生功率限制策略310“沒有功率限制”,如圖下面4A和4B中看到的)。
當(dāng)用戶允許作業(yè)受到功率限制時顯示區(qū)320關(guān)于選擇預(yù)定功率限制策略之一。在圖3中示出的實(shí)施例中,顯示區(qū)320提供四個附加的預(yù)定功率限制策略321-323。功率限制策略321是固定頻率策略(“固定頻率”),在其中用戶指定作業(yè)將在其上運(yùn)行的一個或多個節(jié)點(diǎn)應(yīng)該操作的特定頻率。功率限制策略322是最小作業(yè)功率策略(“最小作業(yè)功率”),在其中用戶指定要被供應(yīng)給在其上運(yùn)行作業(yè)250的一個或多個節(jié)點(diǎn)的最小功率。功率限制策略323是自動模式(“自動模式”),在其中資源管理器210可以改變一個或多個節(jié)點(diǎn)操作的頻率和/或供應(yīng)給正在其上運(yùn)行作業(yè)250的一個或多個節(jié)點(diǎn)的功率。功率限制策略324是最大作業(yè)功率策略(“最大作業(yè)功率”),在其中用戶指定要被供應(yīng)給在其上運(yùn)行作業(yè)250的一個或多個節(jié)點(diǎn)的最大功率。顯示區(qū)330 關(guān)于在處理期間作業(yè)250是否可能被暫停的選擇。
用戶界面屏幕不是用戶向HPC系統(tǒng)100提供輸入?yún)?shù)(諸如例如功率策略、最小所需頻率、最小所需功率和/或作業(yè)是否可能被暫停)的唯一方法??商娲?,此類參數(shù)可以作為作業(yè)提交和/或作為配置文件(例如文本文件)的一部分提供給HPC系統(tǒng)100。在又另一實(shí)施例中,此類參數(shù)可以被系統(tǒng)管理員、設(shè)施管理器/管理員設(shè)置以及/或者被預(yù)定為利用HPC系統(tǒng)100的用戶賬戶的一部分。
B.用于生成功率和頻率估計的示例性參數(shù)。
參考圖4A,示出了圖示當(dāng)沒有實(shí)施功率監(jiān)控時在確定運(yùn)行作業(yè)必需的資源中使用的示例性參數(shù)的表格。表格401包括:列421,其包括在運(yùn)行作業(yè)的估計中提供的參數(shù);以及第一行430,其展示用戶可選擇的各種功率策略。第一功率策略“沒有功率限制”被展示在列422中。第二功率策略“固定頻率”被展示在列423中。第三功率策略“最小功率”被展示在列424中,第四功率策略“自動模式”被展示在列425中并且第五功率策略“最大功率”被展示在列426中。
根據(jù)一個實(shí)施例,估計器230不知道用戶所選擇的功率策略。例如,資源管理器210(例如作業(yè)調(diào)度器211和/或作業(yè)啟用器212)可以向估計器230提供對于估計作業(yè)所需的啟動功率的請求并且以指定頻率明確地請求PMP(這將含蓄地意指沒有實(shí)施功率監(jiān)控,如圖4A中所圖示的)。
如在列422中所圖示的,當(dāng)用戶選擇功率策略“沒有功率限制”時,資源管理器210將從估計器230請求下面的參數(shù):對于作業(yè)所需的啟動功率為對于所選節(jié)點(diǎn)的PMP;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的最大頻率(例如所有計算節(jié)點(diǎn)102可以具有同一最大頻率);運(yùn)行作業(yè)所需的最小功率為PMP;以及要為作業(yè)分配的功率為PMP。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出PMP和所選節(jié)點(diǎn)可以以其來操作的最大頻率。
當(dāng)用戶選擇功率策略“固定頻率”時,資源管理器210將從估計器230請求以下參數(shù)(其中用Fs表示由用戶選擇的頻率):對于作業(yè)所需的啟動功率為對于所選節(jié)點(diǎn)在Fs的PMP;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為Fs;運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)Fs處的PMP;以及要為作業(yè)分配的功率是Fs處的PMP。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出Fs處的PMP。
當(dāng)用戶選擇功率策略“最小功率”時,資源管理器210將從估計器230請求以下參數(shù)(其中用Pmin表示由用戶建立的最小功率):對于作業(yè)所需的啟動功率為對于所選節(jié)點(diǎn)的Pmin;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為第一操作頻率F0_1,在PMP小于或等于可用功率且F0_1處的PMP等于或大于Pmin的情況下為最大頻率。運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)Fmin處的PMP和Pmin的較大值;以及要為作業(yè)分配的功率為最小所需功率和F0_1處的PMP的較大值。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出F0_1,以及Fmin處的PMP和Pmin的較大值(當(dāng)作業(yè)不能被暫停時)。
當(dāng)用戶選擇功率策略“自動模式”時,資源管理器210將從估計器230請求以下參數(shù):對于作業(yè)所需的啟動功率為Fmin處的PMP,其中Fmin表示所選節(jié)點(diǎn)的最低頻率;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為F0_1;運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)Fmin處的PMP;以及要為作業(yè)分配的功率為最小所需功率和F0_1處的PMP的較大值。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出F0_1;最小所需功率和Fmin處的PMP的較大值;以及Fmin處的PMP(當(dāng)作業(yè)不能被暫停時)。
當(dāng)用戶選擇功率策略“最大功率”時,資源管理器210將從估計器230請求以下參數(shù)(其中用Pmax表示由用戶建立的最大功率):對于作業(yè)所需的啟動功率為Fmin處的PMP(當(dāng)Fmin處的PMP小于對于所選節(jié)點(diǎn)的Pmax時);所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為第二操作頻率F0_2,在PMP小于或等于可用功率和最大功率的較小值的情況下為最大頻率;運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)Fmin處的PMP;以及要為作業(yè)分配的功率為Pmax和F0_2處的PMP的較小值。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出Fmin處的PMP(當(dāng)Fmin處的PMP小于對于所選節(jié)點(diǎn)的Pmax時);F0_2;Fmin處的PMP(當(dāng)作業(yè)不能被暫停時);以及Pmax和F0_2處的PMP的較小值。
參考圖4B,示出了圖示當(dāng)實(shí)施功率監(jiān)控時在確定運(yùn)行作業(yè)必需的資源中使用的示例性參數(shù)的表格。表格402包括:列441,其包括在運(yùn)行作業(yè)的估計中提供的參數(shù);以及第一行450,其展示用戶可選擇的各種功率策略。第一功率策略“沒有功率限制”被展示在列442中。第二功率策略“固定頻率”被展示在列443中。第三功率策略“最小功率”被展示在列444中,第四功率策略“自動模式”被展示在列445中并且第五功率策略“最大功率”被展示在列446中。
當(dāng)實(shí)施功率監(jiān)控時,HPC系統(tǒng)100(特別地,作業(yè)管理器240)不斷地感知被作業(yè)250消耗的功率,因?yàn)楸幌牡墓β适潜粍討B(tài)測量的。相反,當(dāng)不實(shí)施功率監(jiān)控時,HPC系統(tǒng)100基于Psys來確定可用功率以及分配給作業(yè)250的功率(其是靜態(tài)值)。
如列442中所圖示的,當(dāng)用戶選擇功率策略“沒有功率限制”時,資源管理器210將從估計器230請求下面的參數(shù):對于作業(yè)所需的啟動功率為對于所選節(jié)點(diǎn)的工作負(fù)載最大功率加上防護(hù)頻帶;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為節(jié)點(diǎn)的最大頻率;運(yùn)行作業(yè)所需的最小功率為工作負(fù)載最大功率加上防護(hù)頻帶;以及要為作業(yè)分配的功率為工作負(fù)載最大功率加上防護(hù)頻帶。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出對于所選節(jié)點(diǎn)的工作負(fù)載最大功率加上防護(hù)頻帶;以及所選節(jié)點(diǎn)的最大頻率。
當(dāng)用戶選擇功率策略“固定頻率”時,資源管理器210將從估計器230請求以下參數(shù):對于作業(yè)所需的啟動功率為所選節(jié)點(diǎn)在Fs的工作負(fù)載最大值;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為Fs;運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)在Fs的工作負(fù)載最大值;以及要為作業(yè)分配的功率為Fs處的工作負(fù)載最大功率。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出對于所選節(jié)點(diǎn)在Fs的工作負(fù)載最大值;以及在Fs的工作負(fù)載最大值(當(dāng)作業(yè)不能被暫停時)。
當(dāng)用戶選擇功率策略“最小功率”時,資源管理器210將從估計器230請求以下參數(shù):對于作業(yè)所需的啟動功率為對于所選節(jié)點(diǎn)的Pmin;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為第三操作頻率F0_3,在工作負(fù)載平均功率小于或等于可用功率且F0_3處的工作負(fù)載平均功率大于Pmin的情況下為最大頻率。運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)Fmin處的工作負(fù)載最大功率和Pmin的較大值;以及要為作業(yè)分配的功率為最小所需功率和F0_3處的工作負(fù)載平均值的較大值。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出F0_3;以及Fmin處的工作負(fù)載最大值功率和Pmin的較大值(當(dāng)作業(yè)不能被暫停時);以及最小所需功率和F0_3處的工作負(fù)載平均值的較大值。
當(dāng)用戶選擇功率策略“自動模式”時,資源管理器210將從估計器230請求以下參數(shù):對于作業(yè)所需的啟動功率為Fmin處的工作負(fù)載平均值;所選節(jié)點(diǎn)應(yīng)該以其被運(yùn)行的頻率為F0_3;運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)Fmin處的工作負(fù)載最大功率;以及要為作業(yè)分配的功率為最小所需功率和F0_3處的工作負(fù)載平均值的較大值。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出對于所選節(jié)點(diǎn)在Fmin的工作負(fù)載平均值;F0_3;Fmin處的工作負(fù)載最大功率(當(dāng)作業(yè)不能被暫停時);以及最小所需功率和F0_3處的工作負(fù)載平均值的較大值。
當(dāng)用戶選擇功率策略“最大功率”時,估計器230將向資源管理器210提供以下參數(shù):對于作業(yè)所需的啟動功率為Fmin處的工作負(fù)載平均值(當(dāng)Fmin處的工作負(fù)載平均值小于對于所選節(jié)點(diǎn)的Pmax時),否則為Pmax;所選節(jié)點(diǎn)應(yīng)該以第四操作頻率F0_4被運(yùn)行,在工作負(fù)載最大功率小于或等于可用功率和最大功率Pmax的較小值的情況下為最大頻率;運(yùn)行作業(yè)所需的最小功率為(i)零(當(dāng)作業(yè)可以被暫停時),或者(ii)Fmin處的工作負(fù)載最大功率;以及要為作業(yè)分配的功率是F0_4處的工作負(fù)載最大功率和Pmax的較小值。因此,估計器230將查閱校準(zhǔn)器數(shù)據(jù)庫來確定,并輸出Fmin處的工作負(fù)載平均值(當(dāng)Fmin處的工作負(fù)載平均值小于對于所選節(jié)點(diǎn)的Pmax時);F0_4;Fmin處的工作負(fù)載最大功率(當(dāng)作業(yè)不能被暫停時);以及F0_4處的工作負(fù)載最大功率和 Pmax的較小值。
C.估計功率性能的示例性方法。
參考圖5,示出了圖示用于生成啟動功率的估計的示例性方法的流程圖。圖5中圖示的每個框都表示在啟用作業(yè)之前生成可用的對于作業(yè)所需的啟動功率的估計的方法500中所執(zhí)行的操作。在操作501中,估計器230接收作為輸入的唯一作業(yè)標(biāo)識(ID)、在其上運(yùn)行作業(yè)的節(jié)點(diǎn)的列表、以及可選地節(jié)點(diǎn)在運(yùn)行作業(yè)的同時以其操作的指定頻率。當(dāng)提供指定頻率時(在操作502處為是),啟動頻率Fs被設(shè)置為指定頻率(操作503)。當(dāng)沒有提供指定頻率時(在操作502處為否),最小頻率Fmin和啟動頻率Fs被設(shè)置為對于所選節(jié)點(diǎn)的列表內(nèi)的每個節(jié)點(diǎn)的最低頻率(操作504)。
在操作505中,估計器230確定對應(yīng)于唯一作業(yè)ID的作業(yè)類型是否存在于校準(zhǔn)器數(shù)據(jù)庫中(例如已經(jīng)利用滿足與唯一作業(yè)ID的作業(yè)類型的相似度閾值的工作負(fù)載校準(zhǔn)了所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn))。當(dāng)在校準(zhǔn)器數(shù)據(jù)庫中找到該作業(yè)類型時(在操作505處為是),對于每個節(jié)點(diǎn)的啟動功率Ps[NX](其中NX表示節(jié)點(diǎn)的所選列表上的一個或多個一個節(jié)點(diǎn)中的一個)被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得的對于每個節(jié)點(diǎn)在Fs的平均工作負(fù)載功率(操作506)。
當(dāng)在校準(zhǔn)器數(shù)據(jù)庫中沒有找到該作業(yè)類型時(在操作505處為否),對于每個節(jié)點(diǎn)的啟動功率Ps[Nx]被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得的對于每個節(jié)點(diǎn)在Fs的平均PMP(操作507)。
在操作508處,當(dāng)作業(yè)以按照比例縮放(scale)來運(yùn)行時Ps[NX]被設(shè)置成對于每個節(jié)點(diǎn)N在Fs的平均工作負(fù)載功率(Ps_scaled[NX])。術(shù)語“Pa_scaled[NX]”和“Pmax_scaled[NX]”分別指代當(dāng)在指定數(shù)目(作為一個示例,X可以等于10,000)的計算節(jié)點(diǎn)上處理作業(yè)時在計算節(jié)點(diǎn)Nx上運(yùn)行作業(yè)所需的平均和最大節(jié)點(diǎn)功率。按照比例縮放考慮了當(dāng)在指定數(shù)目的節(jié)點(diǎn)上將作業(yè)按照比例縮放來運(yùn)行時每個節(jié)點(diǎn)消耗的功率可能改變的事實(shí),這歸因于在操作于每個計算節(jié)點(diǎn)Nx上的過程正等待通信(例如在計算節(jié)點(diǎn)之間和/或與OS節(jié)點(diǎn)101一起)的同時每個計算節(jié)點(diǎn)NX的降低的功率消耗。根據(jù)一個實(shí)施例,對于較大數(shù)目的計算節(jié)點(diǎn)等待通信的時間會更長。
例如,對于迷你應(yīng)用程序校準(zhǔn)可以是一次在100個節(jié)點(diǎn)上運(yùn)行,然而實(shí)際作業(yè)請求可能請求使用10,000個節(jié)點(diǎn)。在某些情況下,當(dāng)作業(yè)在10,000個節(jié)點(diǎn)上運(yùn)行時每個節(jié)點(diǎn)的平均功率消耗和最大功率消耗可能更少,因?yàn)?0,000個節(jié)點(diǎn)之間的通信會花費(fèi)比100個節(jié)點(diǎn)之間的通信更多的時間并且在節(jié)點(diǎn)等待通信發(fā)生時消耗比節(jié)點(diǎn)正處理計算時更少的功率。因此,估計器230可以對校準(zhǔn)數(shù)據(jù)執(zhí)行按照比例縮放過程以便基于在校準(zhǔn)期間所使用的節(jié)點(diǎn)的數(shù)目和在作業(yè)的實(shí)際處理中使用的節(jié)點(diǎn)的數(shù)目來按照比例縮放測量結(jié)果(例如最大溫度、平均溫度、最大功率、平均功率等)。
在操作509處,對于作業(yè)的總啟動功率Ps被設(shè)置成對于所選節(jié)點(diǎn)的列表上的所有節(jié)點(diǎn)的Ps_scaled[NX]的和。在操作510處,添加對共享節(jié)點(diǎn)的估計。共享節(jié)點(diǎn)是對多于一個作業(yè)執(zhí)行處理的節(jié)點(diǎn)。共享節(jié)點(diǎn)的示例是I/O節(jié)點(diǎn),其中I/O節(jié)點(diǎn)執(zhí)行在多個節(jié)點(diǎn)之間共享的存儲設(shè)備的控制和/或執(zhí)行對(例如與第二HPC系統(tǒng)和/或用戶設(shè)備的)網(wǎng)絡(luò)對接的控制。對共享節(jié)點(diǎn)的估計包括基于一個或多個共享節(jié)點(diǎn)將執(zhí)行的功能來估計一個或多個共享節(jié)點(diǎn)將消耗的功率。類似的校準(zhǔn)技術(shù)可以被用來確定一個或多個共享節(jié)點(diǎn)的功率消耗。在操作511中,將對唯一作業(yè)ID的Ps和Fs的估計輸出給資源管理器210。
現(xiàn)在參考圖6,示出了圖示用于生成對于作業(yè)的最小所需功率的估計的示例性方法的流程圖。圖6中圖示的每個框都表示在生成運(yùn)行作業(yè)所需的最小功率的估計的方法600中所執(zhí)行的操作(運(yùn)行作業(yè)所需的最小功率通常小于或等于如圖5中圖示的啟動功率)。在操作601中,估計器230至少接收作為輸入的唯一作業(yè)ID和在其上運(yùn)行作業(yè)的節(jié)點(diǎn)的列表。在操作602處,F(xiàn)min[N]被設(shè)置為對于每個節(jié)點(diǎn)的最低頻率。
在操作603中,估計器230確定對應(yīng)于唯一作業(yè)ID的作業(yè)類型是否存在于校準(zhǔn)器數(shù)據(jù)庫中。當(dāng)在校準(zhǔn)器數(shù)據(jù)庫中找到該作業(yè)類型時(在操作603處為是),對于每個節(jié)點(diǎn)的最小功率Pmin[NX]被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得的對于每個節(jié)點(diǎn)在Fmin的平均工作負(fù)載功率(操作604)。當(dāng)在校準(zhǔn)器數(shù)據(jù)庫中沒有找到該作業(yè)類型時(在操作603處為否),對于每個節(jié)點(diǎn)的最小功率Pmin[NX]被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得對于的每個節(jié)點(diǎn)在Fmin的平均PMP(操作605)。
在操作606處,Pmin[NX]被設(shè)置成當(dāng)作業(yè)以按照比例縮放來運(yùn)行時對于每個節(jié)點(diǎn)N在Fmin的平均工作負(fù)載功率(Pmin_scaled[NX])。
在操作607處,對于作業(yè)的總最小功率Pmin被設(shè)置成對于所選節(jié)點(diǎn)的列表上的所有節(jié)點(diǎn)的Pmin_scaled[NX]的和。在操作608處,添加對共享節(jié)點(diǎn)的估計。在操作609中,將對唯一作業(yè)ID的Pmin和Fmin的估計輸出給資源管理器210。
現(xiàn)在參考圖7,示出了圖示用于生成對于作業(yè)所需的分配功率的估計的示例性方法的流程圖。圖7中圖示的每個框都表示在生成運(yùn)行作業(yè)所需的分配功率的估計的方法700中所執(zhí)行的操作。在操作701中,估計器230至少接收作為輸入的唯一作業(yè)標(biāo)識(ID)和在其上運(yùn)行作業(yè)的節(jié)點(diǎn)的列表、以及節(jié)點(diǎn)在運(yùn)行作業(yè)的同時以其來操作的分配頻率Fa。
在操作702中,估計器230確定對應(yīng)于唯一作業(yè)ID的作業(yè)類型是否存在于校準(zhǔn)器數(shù)據(jù)庫中。當(dāng)在校準(zhǔn)器數(shù)據(jù)庫中找到該作業(yè)類型時(在操作702處為是),對于每個節(jié)點(diǎn)的分配功率Pa[NX]被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得的對于每個節(jié)點(diǎn)在Fa的平均工作負(fù)載功率(操作703)。當(dāng)在校準(zhǔn)器數(shù)據(jù)庫中沒有找到該作業(yè)類型時(在操作702處為否),對于每個節(jié)點(diǎn)的分配功率Pa[NX]被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得的對于每個節(jié)點(diǎn)在Fa的平均PMP(操作704)。
在操作705處, Pa[NX]被設(shè)置成當(dāng)作業(yè)以按照比例縮放來運(yùn)行時對于每個節(jié)點(diǎn)N在Fa的平均工作負(fù)載功率(Pa_scaled[NX]),并且Pmax[NX]被設(shè)置成當(dāng)作業(yè)以按照比例縮放來運(yùn)行時對于每個節(jié)點(diǎn)N在Fa的最大工作負(fù)載。
在操作706處,對于作業(yè)所需的總分配功率Pa被設(shè)置成對于所選節(jié)點(diǎn)的列表上的所有節(jié)點(diǎn)的Pa_scaled[NX]的和。在操作707處,添加對共享節(jié)點(diǎn)的估計。
在操作708中,估計器230輸出分別作為對作業(yè)的分配的功率和最大功率的估計的Pa和Pmax。
現(xiàn)在參考圖8,示出了圖示用于基于對于作業(yè)的可用功率生成操作頻率的估計的示例性方法的流程圖。圖8中圖示的每個框都表示在基于運(yùn)行作業(yè)的可用功率生成操作頻率的估計的方法800中所執(zhí)行的操作。在操作801中,估計器230至少接收作為輸入的作業(yè)類型、對于作業(yè)可用的功率(Pavail)、和在其上運(yùn)行作業(yè)的節(jié)點(diǎn)的列表。
在操作802處,操作頻率(Fo)和分配的功率(Pa)被設(shè)置成“未定義的”值。作為在操作811處由估計器230的輸出的Fo是提供給估計器230的節(jié)點(diǎn)的列表的節(jié)點(diǎn)應(yīng)該基于Pavail以其來操作的頻率的估計。在操作811處輸出的Fo表示節(jié)點(diǎn)的列表上的節(jié)點(diǎn)可以以其來操作以使得節(jié)點(diǎn)將不會消耗比Pavail更多的功率的最高頻率。在操作803處,變量Fo_next被設(shè)置成對于每個節(jié)點(diǎn)的最低頻率(例如如在校準(zhǔn)器數(shù)據(jù)庫中提供的)。
例如,用戶可以提交要以自動模式運(yùn)行的作業(yè)“Job_A”。當(dāng)作業(yè)準(zhǔn)備好運(yùn)行時,作業(yè)啟用器212確定存在要被分配給Job_A的1.2MW的可用功率。隨后,資源管理器210可以從估計器230除了其他之外尤其請求節(jié)點(diǎn)在消耗小于或等于1.2MW功率的同時應(yīng)該以其來操作以運(yùn)行作業(yè)的頻率的估計。至少基于作業(yè)類型和節(jié)點(diǎn)的列表,該估計向資源管理器210提供Job_A在消耗小于或等于1.2MW功率的同時所表明的可以以其來運(yùn)行的最大頻率的輸出。估計器230還可以在估計中包括Job_A在以2.3GHz操作的同時可以消耗的平均功率的估計和最大功率的估計。
在操作804處,估計器230確定對于作業(yè)類型的工作負(fù)載的校準(zhǔn)數(shù)據(jù)是否存在于校準(zhǔn)器數(shù)據(jù)庫中。當(dāng)在校準(zhǔn)器數(shù)據(jù)中找到對于該作業(yè)類型的工作負(fù)載的校準(zhǔn)數(shù)據(jù)時(在操作804處為是),對于每個節(jié)點(diǎn)的可用功率Pa_next[NX]被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得的對于每個節(jié)點(diǎn)在Fo_next的工作負(fù)載功率(操作805)。工作負(fù)載功率基于在操作801處作為輸入接收的功率類型參數(shù)。功率類型可以是例如PMP、平均工作負(fù)載功率或最大工作負(fù)載功率??梢愿鶕?jù)用戶輸入(例如功率策略選擇)和/或是否使用功率監(jiān)控來確定功率類型(例如當(dāng)不使用功率監(jiān)控時功率類型可以是PMP)。當(dāng)沒有在校準(zhǔn)器數(shù)據(jù)中找到對于該作業(yè)類型的工作負(fù)載的校準(zhǔn)數(shù)據(jù)時(在操作804處為否),對于每個節(jié)點(diǎn)的可用功率Pa_next[NX]被設(shè)置成從校準(zhǔn)器數(shù)據(jù)庫獲得的對于每個節(jié)點(diǎn)在Fo_next的平均PMP(操作806)。
在操作807處,Pa_next[NX] 被設(shè)置成當(dāng)作業(yè)以按照比例縮放來運(yùn)行時對于每個節(jié)點(diǎn)N在Fo_next的工作負(fù)載功率(Pa_ next_scaled[NX]),如關(guān)于操作804所描述的,并且Pmax_next[NX]被設(shè)置成當(dāng)作業(yè)以按照比例縮放來運(yùn)行時對于每個節(jié)點(diǎn)N在Fo_next的最大工作負(fù)載(Pmax_next_scaled[NX])。在操作808處,表示對于作業(yè)所需的總功率的變量Pa_next被設(shè)置成對于所選節(jié)點(diǎn)的列表上的所有節(jié)點(diǎn)的Pa_ next_scaled[Nx]的和。在操作809處,添加對共享節(jié)點(diǎn)的估計。
在操作810處,估計器230確定可變功率Pa_next是否小于可用功率Pavail(或者Pmax_next小于Pavail)。當(dāng)Pa_next不小于Pavail時(在操作810處為否),估計器230輸出包括以下各項(xiàng)的估計:(i)Fo為對作業(yè)的操作頻率的估計,(ii)Pa為當(dāng)作業(yè)以Fo操作時估計的工作負(fù)載功率,(iii)Pmax為在Fo的最大工作負(fù)載功率,(iv)Fo_prev為在校準(zhǔn)數(shù)據(jù)庫中保持的操作頻率列表上僅低于Fo的操作頻率,(v)Pa_prev為當(dāng)作業(yè)以Fo_prev操作時估計的功率,(vi)Pmax_prev為在Fo_prev的最大工作負(fù)載功率,(vii)Fo_next為在校準(zhǔn)數(shù)據(jù)庫中保持的操作頻率列表上僅高于Fo的操作頻率,(viii)Pa_next為當(dāng)作業(yè)以Fo_next操作時估計的功率,以及(vii)Pmax_next為在Fo_next的最大工作負(fù)載功率(操作811)。當(dāng)對于每個節(jié)點(diǎn)的最低頻率處的功率(參見操作803)小于可用功率時,操作811將Fa和Pa返回為“未定義的”值?;诒辉O(shè)置成“未定義的” Fa和Pa,HPC系統(tǒng)100將確定用戶所請求的作業(yè)不能在期望的功率類型下以當(dāng)前可用功率來運(yùn)行。
當(dāng)Pa小于Pavail時(在操作810處為是),估計器230將Fo設(shè)置成等于Fo_next并且將Pa設(shè)置成等于Pa_next(操作812)。在操作813處,估計器230確定所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)是否可以以比Fo_next更高的頻率操作(操作813)。當(dāng)所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)不能以比Fo_next更高的頻率操作時(操作813處為否),估計器230輸出包括以下各項(xiàng)的估計:(i)Fo為對作業(yè)的操作頻率的估計,(ii)Pa為當(dāng)作業(yè)以Fo操作時估計的工作負(fù)載功率,(iii)Pmax為在Fo的最大工作負(fù)載功率,(iv)Fo_prev為在校準(zhǔn)數(shù)據(jù)庫中保持的操作頻率列表上僅低于Fo的操作頻率,(v)Pa_prev為當(dāng)作業(yè)以Fo_prev操作時估計的功率,(vi)Pmax_prev為在Fo_prev的最大工作負(fù)載功率,(vii)Fo_next為在校準(zhǔn)數(shù)據(jù)庫中保持的操作頻率列表上僅高于Fo的操作頻率,(viii)Pa_next為當(dāng)作業(yè)以Fo_next操作時估計的作業(yè)功率,以及(vii)Pmax_next為在Fo_next的最大工作負(fù)載功率(操作811)。
當(dāng)所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)能夠以比Fo更高的頻率操作時(操作813處為是),F(xiàn)o_next被設(shè)置成校準(zhǔn)器數(shù)據(jù)庫中列出的下一更高頻率(操作814)。當(dāng)Fo_next被設(shè)置成校準(zhǔn)器數(shù)據(jù)庫中列出的下一更高頻率(操作814)時,方法800返回如上所討論的操作804。
下面的示例關(guān)于其他實(shí)施例:
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)頻率的列表;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成功率估計;以及由估計器模塊向資源管理器提供功率估計。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)頻率的列表;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成功率估計;以及由估計器模塊向資源管理器提供功率估計,其中該校準(zhǔn)數(shù)據(jù)包括最大功率、平均功率、最大溫度、平均功率、性能度量或最小所需功率中的一個或多個。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)頻率的列表;響應(yīng)于接收到多個工作負(fù)載參數(shù),估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);估計器模塊生成基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)的功率估計;以及估計器模塊向資源管理器提供功率估計,其中該功率估計包括以下各項(xiàng)中的一個或多個:所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以頻率列表的每個頻率運(yùn)行該工作負(fù)載類型的工作負(fù)載的同時所消耗的最大功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以頻率列表的每個頻率運(yùn)行該工作負(fù)載的同時所消耗的平均功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以頻率列表的每個頻率運(yùn)行該工作負(fù)載的同時的最大溫度,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以頻率列表的每個頻率運(yùn)行該工作負(fù)載的同時的平均功率,在以頻率列表的每個頻率運(yùn)行該工作負(fù)載的同時對于該工作負(fù)載類型的性能度量,或?qū)τ谒x節(jié)點(diǎn)的列表上的節(jié)點(diǎn)以頻率列表的每個頻率執(zhí)行該工作負(fù)載的最小所需功率。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)頻率的列表;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成功率估計;以及由估計器模塊向資源管理器提供功率估計,其中該工作負(fù)載類型包括小應(yīng)用程序、應(yīng)用程序的一部分或測試腳本之一的類型,其中在所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)的校準(zhǔn)中使用該小應(yīng)用程序、應(yīng)用程序的一部分和測試腳本。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)頻率的列表;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成功率估計;以及由估計器模塊向資源管理器提供功率估計,其中生成功率估計包括按照比例縮放校準(zhǔn)數(shù)據(jù),其中當(dāng)分布式計算機(jī)系統(tǒng)執(zhí)行該工作負(fù)載類型的作業(yè)時按照比例縮放調(diào)整所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)所消耗的功率以考慮所選節(jié)點(diǎn)的列表的尺寸。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該校準(zhǔn)數(shù)據(jù)包括最大功率、平均功率、最大溫度、平均功率或性能度量中的一個或多個。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該頻率估計還包括所選頻率,以及所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載類型的工作負(fù)載的同時所消耗的最大功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時所消耗的平均功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的最大溫度,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的平均功率,在以所選頻率運(yùn)行該工作負(fù)載的同時對于該工作負(fù)載類型的性能度量,或?qū)τ谒x節(jié)點(diǎn)的列表上的節(jié)點(diǎn)以所選頻率執(zhí)行該工作負(fù)載的最小所需功率中的一個或多個。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該頻率估計還包括所選頻率,以及所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載類型的工作負(fù)載的同時所消耗的最大功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時所消耗的平均功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的最大溫度,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的平均功率,在以所選頻率運(yùn)行該工作負(fù)載的同時對于該工作負(fù)載類型的性能度量,或?qū)τ谒x節(jié)點(diǎn)的列表上的節(jié)點(diǎn)以所選頻率執(zhí)行該工作負(fù)載的最小所需功率中的一個或多個,其中該所選頻率是所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)可以以其來操作以使得所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)在運(yùn)行該工作負(fù)載的同時所消耗的總功率不會超過可用功率的最高頻率。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該頻率估計還包括所選頻率,以及所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載類型的工作負(fù)載的同時所消耗的最大功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時所消耗的平均功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的最大溫度,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的平均功率,在以所選頻率運(yùn)行該工作負(fù)載的同時對于該工作負(fù)載類型的性能度量,或?qū)τ谒x節(jié)點(diǎn)的列表上的節(jié)點(diǎn)以所選頻率執(zhí)行該工作負(fù)載的最小所需功率中的一個或多個,其中該頻率估計還包括所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以第二頻率運(yùn)行該工作負(fù)載的同時所消耗的平均功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以第二頻率運(yùn)行該工作負(fù)載的同時所消耗的最大功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以第三頻率運(yùn)行該工作負(fù)載的同時所消耗的平均功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以第三頻率運(yùn)行該工作負(fù)載的同時所消耗的最大功率,其中該第二頻率是比以其來校準(zhǔn)所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)的所選頻率更高的下一頻率,并且該第三頻率是以其來校準(zhǔn)所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)的下一更低頻率。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該工作負(fù)載類型包括小應(yīng)用程序、應(yīng)用程序的一部分或測試腳本之一的類型,其中在所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)的校準(zhǔn)中使用該小應(yīng)用程序、應(yīng)用程序的一部分和測試腳本。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該輸入?yún)?shù)還包括作為產(chǎn)生最快性能度量的頻率或產(chǎn)生最高能量效率度量的頻率之一的對于所選頻率的選項(xiàng)。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該輸入?yún)?shù)還包括作為產(chǎn)生最快性能度量的頻率或產(chǎn)生最高能量效率度量的頻率之一的對于所選頻率的選項(xiàng),其中產(chǎn)生最快性能度量的頻率是所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)以其操作來以最快時間完成該工作負(fù)載類型的工作負(fù)載的頻率。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該輸入?yún)?shù)還包括作為產(chǎn)生最快性能度量的頻率或產(chǎn)生最高能量效率度量的頻率之一的對于所選頻率的選項(xiàng),其中產(chǎn)生最高能量效率度量的頻率是所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)以其操作來以所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)之中的最低聚集功率消耗完成該工作負(fù)載類型的工作負(fù)載的頻率。
一種其上存儲有指令的非瞬時計算機(jī)可讀存儲介質(zhì),該指令可由一個或多個處理器來執(zhí)行以便實(shí)行包括以下內(nèi)容的操作:由通過一個或多個處理器來執(zhí)行的估計器模塊接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表,以及(iii)分布式計算機(jī)系統(tǒng)可用的功率值;響應(yīng)于接收到多個工作負(fù)載參數(shù),由估計器模塊從校準(zhǔn)數(shù)據(jù)庫檢索校準(zhǔn)數(shù)據(jù);由估計器模塊基于多個工作負(fù)載參數(shù)和校準(zhǔn)數(shù)據(jù)生成頻率估計;以及由估計器模塊向資源管理器提供頻率估計,其中該頻率估計包括節(jié)點(diǎn)在處理工作負(fù)載的同時應(yīng)該以其操作的所選頻率,以及以該頻率處理該工作負(fù)載將消耗的對應(yīng)功率,其中該頻率估計還包括所選頻率,以及所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載類型的工作負(fù)載的同時所消耗的最大功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時所消耗的平均功率,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的最大溫度,所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在以所選頻率運(yùn)行該工作負(fù)載的同時的平均功率,在以所選頻率運(yùn)行該工作負(fù)載的同時對于該工作負(fù)載類型的性能度量,或所選節(jié)點(diǎn)的列表上的節(jié)點(diǎn)以所選頻率執(zhí)行該工作負(fù)載的最小所需功率中的一個或多個,其中生成頻率估計包括按照比例縮放校準(zhǔn)數(shù)據(jù),其中當(dāng)分布式計算機(jī)系統(tǒng)執(zhí)行該工作負(fù)載類型的作業(yè)時按照比例縮放調(diào)整所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)所消耗的功率以考慮所選節(jié)點(diǎn)的列表的尺寸。
一種為分布式計算機(jī)系統(tǒng)生成功率估計的系統(tǒng)包括:一個或多個處理器;以及通信耦合到該一個或多個處理器的存儲模塊,該存儲模塊包括估計器模塊,其接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,以及(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表;為所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)確定最低頻率;通過(i)確定對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在最低頻率的平均功率消耗以及(ii)按照比例縮放對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)的平均功率消耗來生成功率估計;以及將功率估計提供給資源管理器,其中該功率估計包括開始處理工作負(fù)載類型的作業(yè)的最小所需功率。
一種系統(tǒng)包括一個或多個處理器以及通信耦合到該一個或多個處理器的存儲模塊,該存儲模塊包括估計器模塊,其接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,以及(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表;為所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)確定最低頻率;通過(i)確定對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在最低頻率的平均功率消耗以及(ii)按照比例縮放對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)的平均功率消耗來生成功率估計;以及將功率估計提供給資源管理器,其中該功率估計包括開始處理工作負(fù)載類型的作業(yè)的最小所需功率,其中當(dāng)該多個輸入?yún)?shù)還包括指定頻率時,該最低頻率被設(shè)置成指定頻率。
一種系統(tǒng)包括一個或多個處理器以及通信耦合到該一個或多個處理器的存儲模塊,該存儲模塊包括估計器模塊,其接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,以及(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表;為所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)確定最低頻率;通過(i)確定對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在最低頻率的平均功率消耗以及(ii)按照比例縮放對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)的平均功率消耗來生成功率估計;以及將功率估計提供給資源管理器,其中該功率估計包括開始處理工作負(fù)載類型的作業(yè)的最小所需功率,其中當(dāng)該多個輸入?yún)?shù)不包括指定頻率時,該最低頻率被設(shè)置成與分布式計算機(jī)系統(tǒng)的校準(zhǔn)數(shù)據(jù)庫內(nèi)存儲的校準(zhǔn)數(shù)據(jù)相關(guān)聯(lián)的對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)的最低頻率。
一種系統(tǒng)包括一個或多個處理器以及通信耦合到該一個或多個處理器的存儲模塊,該存儲模塊包括估計器模塊,其接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,以及(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表;為所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)確定最低頻率;通過(i)確定對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在最低頻率的平均功率消耗以及(ii)按照比例縮放對于所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)的平均功率消耗來生成功率估計;以及將功率估計提供給資源管理器,其中該功率估計包括開始處理工作負(fù)載類型的作業(yè)的最小所需功率,其中當(dāng)確定與針對該工作負(fù)載類型的節(jié)點(diǎn)的所選列表上的節(jié)點(diǎn)的校準(zhǔn)相關(guān)聯(lián)的數(shù)據(jù)存在于包括在分布式計算機(jī)系統(tǒng)中的校準(zhǔn)數(shù)據(jù)庫中時,(i)基于存儲在校準(zhǔn)數(shù)據(jù)庫中的與該工作負(fù)載類型相關(guān)聯(lián)的校準(zhǔn)數(shù)據(jù)為節(jié)點(diǎn)的所選列表上的每個節(jié)點(diǎn)確定平均工作負(fù)載功率;以及(ii)對節(jié)點(diǎn)的所選列表上的每個節(jié)點(diǎn)的平均工作負(fù)載功率進(jìn)行按照比例縮放和求和,其中在功率估計中該求和被提供為啟動功率。
一種系統(tǒng)包括一個或多個處理器以及通信耦合到該一個或多個處理器的存儲模塊,該存儲模塊包括估計器模塊,其接收多個輸入?yún)?shù),該多個輸入?yún)?shù)包括(i)工作負(fù)載類型,以及(ii)屬于分布式計算機(jī)系統(tǒng)的所選節(jié)點(diǎn)的列表;為所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)確定最低頻率;通過(i)確定所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)在最低頻率的平均功率消耗以及(ii)按照比例縮放所選節(jié)點(diǎn)的列表上的每個節(jié)點(diǎn)的平均功率消耗來生成功率估計;以及將功率估計提供給資源管理器,其中該功率估計包括開始處理工作負(fù)載類型的作業(yè)的最小所需功率,其中當(dāng)確定與針對該工作負(fù)載類型的節(jié)點(diǎn)的所選列表上的節(jié)點(diǎn)的校準(zhǔn)相關(guān)聯(lián)的數(shù)據(jù)不存在于包括在分布式計算機(jī)系統(tǒng)中的校準(zhǔn)數(shù)據(jù)庫中時,(i)基于存儲在校準(zhǔn)數(shù)據(jù)庫中的與功率-病毒相關(guān)聯(lián)的校準(zhǔn)數(shù)據(jù)為節(jié)點(diǎn)的所選列表上的每個節(jié)點(diǎn)確定平均最大功率;以及(ii)對節(jié)點(diǎn)的所選列表上的每個節(jié)點(diǎn)的平均最大功率進(jìn)行按照比例縮放和求和,其中在功率估計中該求和被提供為啟動功率。
在前面的描述中,參考本發(fā)明的具體示例性實(shí)施例描述了本發(fā)明,然而,顯而易見的是在不偏離如在所附權(quán)利要求中闡述的本發(fā)明的更廣闊精神和范圍的情況下可以對其進(jìn)行各種修改和改變。