異構(gòu)并行計算結(jié)點的峰值功耗控制方法
【專利摘要】本發(fā)明公開了一種異構(gòu)并行計算結(jié)點的峰值功耗控制方法,目的是動態(tài)控制異構(gòu)并行結(jié)點的峰值功耗,盡可能地減少功耗控制對結(jié)點執(zhí)行性能的影響。技術(shù)方案是先構(gòu)建由結(jié)點功耗描述文件、結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)、協(xié)處理器負載監(jiān)控子系統(tǒng)、處理器功耗設(shè)置子系統(tǒng)組成的異構(gòu)并行計算結(jié)點峰值功耗控制系統(tǒng);將結(jié)點的相關(guān)功耗參數(shù)記錄在結(jié)點功耗描述文件中;結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)設(shè)置結(jié)點功耗預(yù)算,協(xié)處理器負載監(jiān)控子系統(tǒng)查詢協(xié)處理器的實時運行負載Wco,處理器功耗設(shè)置子系統(tǒng)設(shè)置處理器的功耗閾值。采用本發(fā)明可確保計算結(jié)點的峰值功耗不會超過用戶設(shè)定的功耗預(yù)算,對計算結(jié)點性能影響小,提高了結(jié)點的能耗效率。
【專利說明】異構(gòu)并行計算結(jié)點的峰值功耗控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機領(lǐng)域結(jié)點峰值功耗控制方法,具體涉及一種協(xié)處理器(Co-processor)異構(gòu)并行計算(Heterogeneous Parallel Computing)結(jié)點的峰值功耗控制方法。
【背景技術(shù)】
[0002]大規(guī)模并行計算系統(tǒng)功耗巨大,導(dǎo)致供電開銷、散熱、可靠性、環(huán)境污染等一系列問題。這些計算系統(tǒng)由數(shù)以萬計的計算結(jié)點組成,結(jié)點功耗控制是實現(xiàn)系統(tǒng)功耗控制的基礎(chǔ)。因此,需要對計算結(jié)點的功耗加以控制,即將計算結(jié)點的運行功耗控制在某一閾值之內(nèi)。
[0003]計算結(jié)點內(nèi)異構(gòu)并行體系結(jié)構(gòu)是當(dāng)前高性能計算領(lǐng)域的重要方向,2013年6月發(fā)布的全球計算系統(tǒng)性能排行榜(Top500)前10名中即有4個系統(tǒng)采用協(xié)處理器加速的結(jié)點內(nèi)異構(gòu)并行體系結(jié)構(gòu)。
[0004]在協(xié)處理器異構(gòu)并行體系結(jié)構(gòu)中,如圖1所示,計算結(jié)點包含處理器和協(xié)處理器兩類執(zhí)行設(shè)備,處理器與協(xié)處理器的峰值功耗約占整個結(jié)點峰值功耗的90%,是峰值功耗控制的主要目標(biāo)設(shè)備。
[0005]當(dāng)前,異構(gòu)并行計算結(jié)點的典型配置是協(xié)處理器計算性能比處理器計算性能高I個量級(10倍左右),協(xié)處理器能效也比處理器高5倍左右。因此,異構(gòu)并行計算結(jié)點中,協(xié)處理器的性能和能效都比處理器高,是異構(gòu)并行計算任務(wù)的執(zhí)行主體,功耗控制系統(tǒng)應(yīng)該優(yōu)先保障協(xié)處理器的功耗需求。
[0006]目前的功耗控制方法按設(shè)備功耗閾值的確定方式進行劃分,分為靜態(tài)閾值和動態(tài)閾值兩種:靜態(tài)閾值方法靜態(tài)確定目標(biāo)設(shè)備的功耗閾值,動態(tài)閾值方法則在結(jié)點運行過程中動態(tài)調(diào)節(jié)目標(biāo)設(shè)備的功耗閾值。異構(gòu)并行計算結(jié)點中,以處理器為功耗控制的目標(biāo)設(shè)備,如果采用靜態(tài)閾值方法,則當(dāng)協(xié)處理器運行負載較輕、結(jié)點實時功耗低于預(yù)算,而處理器處于繁忙狀態(tài)且是整個結(jié)點的性能瓶頸時,靜態(tài)設(shè)置的處理器功耗閾值會導(dǎo)致處理器無法工作在最高性能狀態(tài),進而導(dǎo)致不必要的結(jié)點性能損失。目前的動態(tài)閾值方法都基于設(shè)備自身的運行行為來動態(tài)調(diào)節(jié)其功耗閾值。在異構(gòu)并行計算結(jié)點中,處理器和協(xié)處理器都是重要的功耗設(shè)備,只基于處理器自身的運行行為無法判斷協(xié)處理器的實時功耗,從而無法準(zhǔn)確判斷處理器的可用功耗額,也就無法準(zhǔn)確調(diào)節(jié)處理器的功耗閾值。因此,目前的動態(tài)閾值方法不適用于異構(gòu)并行計算結(jié)點的功耗控制。
【發(fā)明內(nèi)容】
[0007]本發(fā)明要解決的技術(shù)問題是如何動態(tài)控制異構(gòu)并行結(jié)點的峰值功耗,在確保結(jié)點運行功耗不超過結(jié)點功耗預(yù)算的前提下,盡可能地減少功耗控制對結(jié)點執(zhí)行性能的影響。
[0008]本發(fā)明異構(gòu)并行計算結(jié)點的峰值功耗控制方法的基本思想是:協(xié)處理器的性能和能效都比處理器高。當(dāng)結(jié)點功耗預(yù)算無法同時滿足處理器和協(xié)處理器的功耗需求時,首先保障協(xié)處理器的功耗需求,剩余功耗再分配給處理器。即當(dāng)協(xié)處理器負載超過閾值、導(dǎo)致結(jié)點功耗需要被控制時,相應(yīng)地設(shè)置處理器功耗閾值,限制處理器的運行功耗;而當(dāng)協(xié)處理器負載低于閾值、結(jié)點功耗小于預(yù)算時,對處理器功耗不加限制,減少峰值功耗控制對處理器執(zhí)行性能的影響。
[0009]本發(fā)明的技術(shù)方案為:根據(jù)用戶設(shè)定的結(jié)點功耗預(yù)算,確定觸發(fā)結(jié)點功耗控制所對應(yīng)的協(xié)處理器負載閾值。實時查詢協(xié)處理器的運行負載。如果協(xié)處理器負載超過閾值,則基于協(xié)處理器的當(dāng)前負載計算協(xié)處理器的功耗需求,進而確定處理器的可用功耗配額,并以此配額作為處理器的功耗閾值;如果協(xié)處理器運行負載低于閾值,則取消對處理器功耗的控制。
[0010]具體技術(shù)方案包括如下步驟:
[0011]第一步,構(gòu)建異構(gòu)并行計算結(jié)點峰值功耗控制系統(tǒng),該系統(tǒng)由結(jié)點功耗描述文件、結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)、協(xié)處理器負載監(jiān)控子系統(tǒng)、處理器功耗設(shè)置子系統(tǒng)組成。
[0012]結(jié)點功耗描述文件保存結(jié)點的相關(guān)功耗參數(shù),共包含6項,分別為處理器最大功耗值(P_MAX_CPU)、協(xié)處理器最大功耗值(P_MAX_C0)、協(xié)處理器空閑功耗值(P_IDLE_C0)、結(jié)點內(nèi)除處理器和協(xié)處理器之外其它所有設(shè)備的功耗最大值(P_MAX_0THER)、結(jié)點空閑功耗值(P_IDLE_N0DE )、結(jié)點最大功耗值(P_MAX_N0DE )。
[0013]結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)接收用戶輸入的結(jié)點功耗預(yù)算值Pbudget,讀取保存在結(jié)點功耗描述文件中的相關(guān)功耗參數(shù),計算觸發(fā)功耗控制所對應(yīng)的協(xié)處理器負載閾值w_th,并將Pbudget和W_th傳遞給協(xié)處理器負載監(jiān)控子系統(tǒng)。
[0014]協(xié)處理器負載監(jiān)控子系統(tǒng)從協(xié)處理器利用率查詢接口讀取協(xié)處理器的實時利用率,從結(jié)點功耗描述文件讀取結(jié)點的功耗參數(shù),從結(jié)點功耗預(yù)算子系統(tǒng)獲得Pbudgrt和w_th,計算處理器的功耗閾值Pepirth,并將Pepirth傳遞給處理器功耗設(shè)置子系統(tǒng)?,F(xiàn)有的安裝在計算結(jié)點上的協(xié)處理器驅(qū)動程序均有實時統(tǒng)計協(xié)處理器利用率,并提供協(xié)處理器利用率查詢接口的功能(如NVidia協(xié)處理器的nvidia-sm1、AMD協(xié)處理器的fglrxinfo、Intel協(xié)處理器的micsmc)。協(xié)處理器負載監(jiān)控子系統(tǒng)通過訪問協(xié)處理器驅(qū)動程序提供的協(xié)處理器利用率查詢接口來讀取協(xié)處理器的實時利用率。
[0015]處理器功耗設(shè)置子系統(tǒng)從協(xié)處理器負載監(jiān)控子系統(tǒng)獲得Pepirth,操作處理器功耗控制接口,設(shè)置處理器的功耗閾值?,F(xiàn)有處理器(如Intel的Sandy Bridge、Ivy Bridge處理器系列,AMD的AthloruOpteron處理器系列)都內(nèi)置了處理器功耗控制支持模塊,處理器功耗控制支持模塊控制處理器功耗不超過閾值,并向軟件提供處理器功耗控制接口,軟件可以操作該接口來動態(tài)設(shè)置處理器的功耗閾值。處理器功耗設(shè)置子系統(tǒng)基于功耗控制接口來控制處理器的功耗。
[0016]第二步,初始化結(jié)點功耗描述文件。查閱異構(gòu)計算結(jié)點的功耗描述手冊,獲得結(jié)點的相關(guān)功耗參數(shù),并將這些參數(shù)記錄在結(jié)點功耗描述文件中。
[0017]第三步,結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)設(shè)置結(jié)點功耗預(yù)算,方法是:
[0018]3.1 接收用戶設(shè)置的 Pbudget。若 P_IDLE_N0DE ( Pbudget ( P_MAX_N0DE,轉(zhuǎn) 3.2 步;如果Pbudgrt小于P_IDLE_N0DE,功耗預(yù)算無法滿足結(jié)點的基本運行需求,結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)向用戶返回錯誤信息,要求用戶重新輸入,轉(zhuǎn)3.1 ;如果Pbudgrt大于P_MAX_N0DE,則結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)自動設(shè)置Pbudgrt為P_MAX_N0DE,轉(zhuǎn)3.2步;[0019]3.2初始化處理器功耗閾值設(shè)置標(biāo)記THepu為O。THcpu為布爾值變量,取值為O或1,0表不未設(shè)置處理器功耗閾值,I表不已設(shè)置處理器功耗閾值。
[0020]3.3 計算 Pbudget 對應(yīng)的 Wco_th,即
【權(quán)利要求】
1.一種異構(gòu)并行計算結(jié)點的峰值功耗控制方法,其特征在于包括以下步驟: 第一步,構(gòu)建異構(gòu)并行計算結(jié)點峰值功耗控制系統(tǒng),該系統(tǒng)由結(jié)點功耗描述文件、結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)、協(xié)處理器負載監(jiān)控子系統(tǒng)、處理器功耗設(shè)置子系統(tǒng)組成;結(jié)點功耗描述文件保存結(jié)點的相關(guān)功耗參數(shù),共包含6項,分別為處理器最大功耗值P_MAX_CPU、協(xié)處理器最大功耗值P_MAX_CO、協(xié)處理器空閑功耗值P_IDLE_CO、結(jié)點內(nèi)除處理器和協(xié)處理器之外其它所有設(shè)備的功耗最大值P_MAX_OTHER、結(jié)點空閑功耗值P_IDLE_NODE、結(jié)點最大功耗值P_MAX_NODE;結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)接收用戶輸入的結(jié)點功耗預(yù)算值Pbudgrt,讀取保存在結(jié)點功耗描述文件中的相關(guān)功耗參數(shù),計算觸發(fā)功耗控制所對應(yīng)的協(xié)處理器負載閾值wco-th,并將Pbudgrt和w_th傳遞給協(xié)處理器負載監(jiān)控子系統(tǒng);協(xié)處理器負載監(jiān)控子系統(tǒng)通過訪問協(xié)處理器驅(qū)動程序提供的協(xié)處理器利用率查詢接口來讀取協(xié)處理器的實時利用率,從結(jié)點功耗描述文件讀取結(jié)點的功耗參數(shù),從結(jié)點功耗預(yù)算子系統(tǒng)獲得Pbudgrt和w_th,計算處理器的功耗閾值Pepirth,并將Peptrth傳遞給處理器功耗設(shè)置子系統(tǒng);處理器功耗設(shè)置子系統(tǒng)從協(xié)處理器負載監(jiān)控子系統(tǒng)獲得Pepirth,操作處理器功耗控制接口設(shè)置處理器的功耗閾值;第二步,初始化結(jié)點功耗描述文件,查閱異構(gòu)計算結(jié)點的功耗描述手冊,獲得結(jié)點的相關(guān)功耗參數(shù),并將這些參數(shù)記錄在結(jié)點功耗描述文件中; 第三步,結(jié)點功耗預(yù)算設(shè)置子系統(tǒng)設(shè)置結(jié)點功耗預(yù)算,方法是: .3.1 接收用戶設(shè)置的 Pbudget,若
【文檔編號】G06F1/32GK103559092SQ201310560455
【公開日】2014年2月5日 申請日期:2013年11月12日 優(yōu)先權(quán)日:2013年11月12日
【發(fā)明者】楊燦群, 劉勇鵬, 盧凱, 肖立權(quán), 杜云飛, 遲萬慶, 王 鋒, 李寬, 邢建英, 高穎慧 申請人:中國人民解放軍國防科學(xué)技術(shù)大學(xué)