專利名稱:一種同構集群系統(tǒng)中基于動態(tài)電壓調節(jié)技術的自適應節(jié)能調度方法
技術領域:
本發(fā)明涉及一種計算機系統(tǒng)節(jié)能調度方法,特別是涉及ー種同構集群系統(tǒng)中基于動態(tài)電壓調節(jié)技術的自適應節(jié)能調度方法。
背景技術:
集群是ー種并行分布式處理系統(tǒng),由很多連接在一起的獨立計算機組成,像ー個単獨集成的計算資源一樣協(xié)同工作,對于用戶來說就像ー個獨立的計算系統(tǒng)。自20世紀90年代以來,隨著PC機性能的顯著提高和價格的日益下降,高速網(wǎng)絡的發(fā)展,以及集群軟件的日益成熟,集群系統(tǒng)已經成為高性能計算的主流平臺,為計算密集型和通信密集型任務提供各種計算需求。
集群系統(tǒng)已經在エ商業(yè)等諸多領域得到廣泛應用。然而,集群系統(tǒng)在提供強大計算能力的同時也消耗了巨大的能量。例如,IBM的Roadrunner功率為2483. 47千瓦,在第32屆五百強的排名中名列第一,雖然Cray Jaguar排名第二,而它的功率卻已高達6950. 60千瓦。據(jù)統(tǒng)計,2008年服務于互聯(lián)網(wǎng)的路由器、服務器、交換機、冷卻設施、數(shù)據(jù)中心等各種設備總共消耗8680億度電,占全球總耗電量的5. 3%。按照目前的增長趨勢,到2025年,IT行業(yè)平均能耗會達到2008年的5倍。巨大的能耗代價成為制約集群系統(tǒng)發(fā)展的重要瓶頸,急需得到有效的解決。用有向無環(huán)圖(DAG, Directed Acyclic Graph)來表示并行任務調度問題一直是ー個研究熱點,并行任務調度問題已經被證明是NP完全問題,在國內外引起了廣泛的研究。調度的目標是要在滿足任務優(yōu)先約束關系的前提下,根據(jù)適當?shù)姆峙洳呗源_定ー種分派和執(zhí)行順序,將可并行執(zhí)行的任務合理分配到各處理機上有序地執(zhí)行,以達到減少總的執(zhí)行時間的目的?;诓煌恼{度策略,現(xiàn)有的調度方法主要可以分為三類表調度方法,聚簇調度方法,基于任務復制的調度方法。集群系統(tǒng)中的節(jié)能可以采取傳統(tǒng)的調度方法,運行流程也非常相似,只是在調度過程中綜合考慮了節(jié)能這一目標。其中,調度方法的選擇對于調度結果具有較大的影響,因為不恰當?shù)恼{度方法可能會使真正強大的計算能力得不到體現(xiàn),甚至會降低系統(tǒng)性能,増加系統(tǒng)能耗。目前,現(xiàn)有的節(jié)能調度方法大多數(shù)是基于以上三種調度方法,再結合動態(tài)電壓調節(jié)(DVS, Dynamic Voltage Scaling)、動態(tài)功耗管理(DPM, DynamicPower Management)、自適應鏈路速率(ALR, Adaptive Link Rate)等節(jié)能技術來優(yōu)化處理器能耗和網(wǎng)絡能耗。動態(tài)電壓調節(jié)(DVS)技術是ー種新型硬件節(jié)能技木。其基本思想是在不影響處理器正常運行的情況下動態(tài)地調節(jié)處理器電壓和頻率,使得處理器不總以最高電壓工作,從而起到降低能耗的目的。目前絕大多數(shù)處理器都用CMOS技術制造,而且支持多種處理器頻率和電壓設置。CMOS電路的功耗正比于時鐘頻率和電壓的平方,即每個時鐘周期的能量消耗正比于電壓的平方。對于ー個任務來說,完成它所需要的時鐘周期是固定的,所消耗的能量與電壓的平方成正比,通過降低電壓就可以降低能耗。雖然時鐘頻率與電壓之間的線性關系,降低電壓會調低時鐘頻率,増加任務的完成時間,但可以利用任務的空閑時間降低處理器電壓和頻率,在不影響其他任務執(zhí)行的前提下可以降低系統(tǒng)能耗。在電壓調節(jié)過程中,電壓管理芯片能夠執(zhí)行微小的電壓調整,并且能在極短的時間內(幾十微秒內)完成電壓的調整。目前,國內外有關同構集群系統(tǒng)環(huán)境下基于性能和能耗的研究主要有
美國辛辛那提大學的D. P. Agrawal等人在同構集群系統(tǒng)中提出了一種基于任務復制的調度方法(TDS),該方法盡可能地復制任務前驅以改進系統(tǒng)性能。電子科技大學的蘭舟等人通過對幾種典型的任務復制方法進行分析,提出了基于動態(tài)關鍵任務(DCT)的多處理器任務分配方法。DCT方法以克服貪心算法不足為要點,調度過程中動態(tài)計算任務時間參數(shù),準確確定處理器的關鍵任務,以關鍵任務為核心優(yōu)化調度,逐步改善調度結果,最終取得最優(yōu)的調度結果?;谌蝿諒椭频恼{度方法就是通過復制某個或某些任務到不同處理機上,消除具有約束關系的任務間的通信開銷,從而減少整個任務調度時間長度。該方法可以有效地降低任務調度長度,節(jié)省通信能耗,但同時也會增加復制任務的計算能耗,因此在節(jié)能調度中
需慎重考慮。美國奧本大學的宗子良等人針對任務復制所產生的額外能量開銷過高的問題,提出了一種基于任務復制的節(jié)能調度方法,該方法設置了一個閾值來控制任務復制,即選擇性地復制任務最佳前驅來平衡系統(tǒng)性能和能耗兩方面。山東大學的龔斌等人提出了ー種將聚簇調度方法和任務復制調度方法有效結合起來的節(jié)能方法,并利用DPM技術來節(jié)省處理器空閑能耗。印第安納大學的Wang提出了一種基于DVS技術的節(jié)能方法,該方法在不影響其他任務執(zhí)行的情況下,通過探索非關鍵任務的空閑時間來降低處理器電壓以節(jié)省能耗。紐約州立大學的Shekar所提出的EDLS的方法有利于低功耗處理器節(jié)省能耗,通過引入ー個成本因子來影響調度決策,并對能耗和所需的性能進行權衡。國防科技大學的賀小川等人提出了兩階段節(jié)能調度方法,先使用離線算法來計算每個任務的最優(yōu)處理器執(zhí)行速度,而后使用在線模擬調度方法來計算每個任務的延遲時間,從而動態(tài)判定處理器開啟/關閉時亥IJ。綜上所述,以往的調度方法大部分針對性能或能耗的某一部分(系統(tǒng)能耗包括處理器能耗和網(wǎng)絡能耗兩部分)進行了改進或優(yōu)化。存在的不足之處有①有的方法只考慮性能而完全忽略能耗;②有些基于任務復制的節(jié)能調度方法利用閾值對任務復制進行控制,但所給定的閾值是隨機設置的,不能根據(jù)并行任務和系統(tǒng)環(huán)境自適應調節(jié),導致調度結果不穩(wěn)定有的方法雖然既考慮了性能又考慮了處理器能耗,但忽略了網(wǎng)絡通信能耗。
發(fā)明內容
本發(fā)明的目的是提供一種同構集群系統(tǒng)中基于DVS技術的自適應節(jié)能調度方法,該方法將基于自適應閾值的任務復制調度方法與DVS技術結合起來,在滿足系統(tǒng)性能要求的前提下,可以有效地節(jié)省能耗。 本發(fā)明的技術方案包括以下步驟一、首先讀取并行任務有向無環(huán)圖DAG文件。ニ、獲取初始任務調度序列。對于并行任務集V,共有n=| Vl個任務,從出口任務%開始,計算每個任務的優(yōu)先級直至開始任務vI結束。然后根據(jù)任務優(yōu)先級大小升序排列,獲取初始任務調度序列。三、獲取最佳閾值。首先,從初始任務調度序列的第一個任務開始遍歷所有任務,計算復制當前任務V,的最佳前驅(-(Vi))所增加的能耗moreenergy (等于的計算能耗減去它與K 之間的通信能耗),以及復制任務所減少的時間lesstime,將能耗與時間比
記為ratio = ■—_IZ....,取ratio的最小值和最大值分別作為最小閾值min_threshold
和最大閾值max_threshold。然后,利用基于任務復制的分組策略求閾值分別為max_threshold和min_threshold - I時的任務調度長度即為最小調度長度和最大調度長度。最后,指定ー個能夠滿足用戶性能要求的調度長度,從min_threshold - I開始遍歷所有閾值,并利用基于任務復制的分組策略求當前閾值下的任務調度長度,直到所求得的調度長 度小于指定調度長度才結束遍歷,當前閾值即為最佳閾值。四、任務分組。從初始任務調度序列的第一個任務開始,執(zhí)行深度優(yōu)先搜索直到開始任務結束。任務搜索過程中,如果當前任務&.的最佳前驅未分組,則將其
分配給當前任務所在的分組,并標記為已分配,否則對是否復制進行權衡。如果復
制即れ),則會增加復制任務的計算能耗,減少與v;.之間的通信能耗以及任務調度長度。假設減少的時間為lesstime (即減少的調度長度),最終增加的能耗為moreenergy (等于Ap的計算能耗減去它與v,.之間的通信能耗),倘若lesstime>0,而
且能耗與時間比ratio=小于等于最佳閾值,則將復制任務添加到當前
任務巧所在的分組,否則退出當前分組并選取初始任務調度序列中的第一個未分組任務進行下ー個分組。五、任務映射。從第一個分組開始,將各分組中的所有任務映射到任意一個未被占用的處理器上,并標記該處理器已被占用,如此循環(huán)下去直到所有分組全部被分配出去為止。六、處理器電壓調節(jié)。利用任務空閑時間確定任務在處理器上各個電壓下的執(zhí)行時間,使得產生的計算能耗最小,然后在任務執(zhí)行過程中動態(tài)調整處理器電壓并控制任務在相應電壓下的執(zhí)行時間。本發(fā)明的特點是針對同構集群系統(tǒng)中的能量優(yōu)化問題,將基于自適應閾值的任務復制策略和DVS技術結合起來,在滿足系統(tǒng)性能要求的同時優(yōu)化系統(tǒng)能耗。首先,本發(fā)明中基于自適應閾值的任務復制策略可以根據(jù)并行任務、系統(tǒng)環(huán)境(主要包括系統(tǒng)所提供的處理器和網(wǎng)絡參數(shù))以及用戶實際性能要求動態(tài)獲取ー個最佳閾值,提高了系統(tǒng)的靈活性;然后利用該閾值控制任務復制,即選擇性地復制任務的最佳前驅來平衡系統(tǒng)性能和能耗以獲取近似最優(yōu)分組,提高了系統(tǒng)的穩(wěn)定性;最后,將各分組分別調度到未被占用的處理器上,并通過探索任務之間的依賴關系所產生的空閑時間,利用DVS技術動態(tài)調整處理器電壓以進ー步節(jié)省處理器能耗。
附圖為本發(fā)明流程框圖。
具體實施例方式下面結合附圖對本發(fā)明作進ー步的詳細描述。并行任務用戶提交的任務用有向無環(huán)圖DAG表示,定義為GR句。其中F= ( ,v2,…,v )表示包涵n個任務的任務集。對于V中的每個任務,ti是任務Vj在處理器上以最高的電壓和頻率執(zhí)行所需的計算時間,CCi是任務Vj.的計算周期,它不隨處理器電壓的變化而變化,這里I < i < n。特別地,當任務3存在空閑時間吋,它可以被分為A個任 務塊レ# Vは...,riA},每個任務塊在其對應電壓匕下的執(zhí)行時間是Tik。E為消息集,eiJ= (Vi, Vj) eE表示任務1到任務^傳遞的消息,%表示傳遞消息所發(fā)費的通信時間。
此外,我們分別用繼(ズ)和表示任務Vi的后繼任務集合和前驅任務集合。系統(tǒng)資源一個同構集群系統(tǒng)由若干個具有相同處理能力的處理器節(jié)點組成,記太P={Plぁ…,Pm],這些節(jié)點通過高速網(wǎng)絡相互連接起來。系統(tǒng)中的所有處理器均支持DVS技術,且每個處理器均擁有A個按從大到小順序排列的電壓值,記為代あ,■..乃},對
應的頻率值記為丨/i,/2,…,/4}。
具體實施方式
按照以下步驟進行。一、讀并行任務有向無環(huán)圖DAG文件。ニ、獲取初始任務調度序列。對于并行任務集V,共有n= I V I個任務,從出口任襲開始,計算每個任務的優(yōu)先級直到開始任務巧結束。然后根據(jù)任務優(yōu)先級大小升序排列,獲取初始任務調度序列。其中,任務%的優(yōu)先級定義如公式(I)所示。
權利要求
1.一種同構集群系統(tǒng)中基于動態(tài)電壓調節(jié)技術的自適應節(jié)能調度方法,其特征在于包括以下步驟 一、首先讀取并行任務有向無環(huán)圖DAG文件; ニ、獲取初始任務調度序列;對于并行任務集V,共有n=|V|個任務,從出ロ任務I開始,計算每個任務的優(yōu)先級直至開始任務h結束;然后根據(jù)任務優(yōu)先級大小升序排列,獲取初始任務調度序列; 三、獲取最佳閾值;首先,從初始任務調度序列的第一個任務開始遍歷所有任務,計算復制當前任務V2.的最佳前驅)所增加的能耗moreenergy (等予FP(Vi)的計算能耗減去它與ν 之間的通信能耗),以及復制任務所減少的時間lesstime,將能耗與時間比記 為ratio =,取ratio的最小值和最大值分別作為最小閾值min_threshold和最大閾值max_threshold ;然后,利用利用基于任務復制的分組策略求閾值分別為max_threshold和min_threshold - I時的任務調度長度即為最小調度長度和最大調度長度;最后,指定ー個能夠滿足用戶性能要求的調度長度,從min_threshold - I開始遍歷所有閾值,并利用基于任務復制的分組策略求當前閾值下任務調度長度,直到所求得的調度長度小于指定調度長度才結束遍歷,當前閾值即為最佳閾值; 四、任務分組;從初始任務調度序列的第一個任務開始,執(zhí)行深度優(yōu)先搜索直到開始任務結束;任務搜索過程中,如果當前任務巧的最佳前驅)未分組,則將其分配給當前任務所在的分組,并標記為已分配,否則對是否復制〃(Vi)進行權衡;如果復制〃(V,-),貝IJ會增加復制任務的計算能耗,減少任務調度長度和W(Vi)與Vi之間的通信能耗;假設減少的時間為lesstime (即減少的調度長度),最終增加的能耗為moreenergy (等于即( 的計算能耗減去它與V,之間的通信能耗);倘若lesstimeX),而且能耗與時間比ratio=小于等于最佳閾值,則將復制任務添加到當前任務^所在的分組,否則退出當前分組并選取初始任務調度序列中的第一個未分組任務進行下ー個分組; 五、任務映射;從第一個分組開始,將各分組中的所有任務映射到任意一個未被占用的處理器上,并標記該處理器已被占用,如此循環(huán)下去直到所有分組全部被分配出去為止; 六、處理器電壓調節(jié);利用任務之間的依賴關系所產生的空閑時間,確定任務在調度處理器上各個電壓下的執(zhí)行時間,使得產生的計算能耗最小,然后在任務執(zhí)行過程中將任務執(zhí)行電壓調節(jié)到相應的值并控制任務在各電壓下的執(zhí)行時間。
全文摘要
一種同構集群系統(tǒng)中基于動態(tài)電壓調節(jié)技術的自適應節(jié)能調度方法,具體步驟是讀取并行任務有向無環(huán)圖(DAG)文件;獲取初始任務調度序列;獲取最佳閾值根據(jù)并行任務、系統(tǒng)環(huán)境以及用戶性能需求動態(tài)獲取一個最佳閾值;任務分組利用最佳閾值對任務復制進行控制,即選擇性地復制任務的最佳前驅來平衡系統(tǒng)性能和能耗以獲取近似最優(yōu)分組;任務映射將各分組調度到未被占用的處理器上;處理器電壓調節(jié)利用任務空閑時間動態(tài)調整處理器電壓以節(jié)省處理器能耗。本發(fā)明綜合考慮了系統(tǒng)性能和能耗這兩方面的要求,其最佳閾值可以自適應并行任務和系統(tǒng)環(huán)境,利用最佳閾值控制任務復制以獲取近似最優(yōu)分組,使得最終調度結果在滿足系統(tǒng)性能要求的前提下盡量節(jié)省能耗。
文檔編號G06F9/50GK102650957SQ201210100769
公開日2012年8月29日 申請日期2012年4月9日 優(yōu)先權日2012年4月9日
發(fā)明者劉偉, 尹行, 杜薇, 段玉光 申請人:武漢理工大學