亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于插值算法面向計算通信聯(lián)合優(yōu)化的負載均衡方法

文檔序號:6628587閱讀:458來源:國知局
一種基于插值算法面向計算通信聯(lián)合優(yōu)化的負載均衡方法
【專利摘要】本發(fā)明涉及一種基于插值算法的面向計算通信聯(lián)合優(yōu)化的負載均衡方法,屬于高性能科學(xué)計算的應(yīng)用領(lǐng)域,該方法包括以運算的實測計算量和通信量為基礎(chǔ)值,利用插值算法以計算時間和責(zé)任通信時間的實測值推算計算量累加函數(shù)和通信量變化率函數(shù)的近似函數(shù),以該函數(shù)為參照通過多次迭代獲得最佳的數(shù)據(jù)劃分;監(jiān)視每次運算的計算量和通信量變化,分析處理器的負載均衡狀況并預(yù)測負載均衡的趨勢,當(dāng)負載均衡的效率或預(yù)測值低于設(shè)定的閾值時,根據(jù)當(dāng)前的計算量和通信量的實測值再次計算量累加函數(shù)和通信量變化率函數(shù)的近似函數(shù),并對數(shù)據(jù)塊的劃分進行動態(tài)調(diào)整。本方法旨在【技術(shù)領(lǐng)域】提升科學(xué)計算的負載均衡效率,進而提高并行運行效率,節(jié)約超級計算資源。
【專利說明】一種基于插值算法面向計算通信聯(lián)合優(yōu)化的負載均衡方法

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于高性能可擴展并行數(shù)值模擬應(yīng)用領(lǐng)域,特別涉及一種基于插值算法的 面向計算通信聯(lián)合優(yōu)化的負載均衡方法。

【背景技術(shù)】
[0002] 在高性能可擴展并行數(shù)值模擬應(yīng)用領(lǐng)域,如流體動力、高溫高壓物理過程模擬計 算等,常常需要使用成百上千的處理器并行執(zhí)行運算任務(wù)。這些計算通常具有如下特點: (1)數(shù)據(jù)元素通??梢员挥成涞届o態(tài)且均勻的多維網(wǎng)格上;(2)不同數(shù)據(jù)元素的運算時間 可能不同;(3)數(shù)據(jù)元素的運算量隨計算的時間步發(fā)生變化且相近時間步的變化很??;(4) 計算的通信通常只與相鄰數(shù)據(jù)元素相關(guān)。為提高計算效率,需使每個處理器在相同時間步 的計算時間和通信時間(不含等待時間)之和基本相當(dāng),并盡可能降低通信延遲。動態(tài)負 載均衡機制通過合理劃分數(shù)據(jù)元素使得每個處理器承擔(dān)的計算任務(wù)相對均衡,并能根據(jù)處 理器的負載變化對其進行動態(tài)調(diào)整。
[0003] 負載均衡問題可定義為:設(shè)需要處理的N個數(shù)據(jù)元素分布在一個多維空間定義為 {(λ·, ) | λ; e 二,Vd表示d維空間(d = 1,2, 3, 4),用來執(zhí)行并行運算的處理器共Μ個定義 為{(Pi) 11 < i < Μ},通常Μ < < Ν ;Ν個數(shù)據(jù)元素被依據(jù)一定規(guī)則劃分為Μ個數(shù)據(jù)塊,每個 處理器負責(zé)一個數(shù)據(jù)塊。在某個時間步處理器的有效運算時間(包括有效的計算時間和通 信時間)分別為{(Q) |1彡i彡Μ},則該時間步的負載均衡效率Ε可以定義為:
[0004]

【權(quán)利要求】
1. 一種基于插值算法的面向計算通信聯(lián)合優(yōu)化的負載均衡方法,該方法分初始劃分和 動態(tài)調(diào)整兩個階段,其特征在于,初始劃分階段包括以運算的實測計算量和通信量作為基 礎(chǔ)值,利用插值算法以計算時間和責(zé)任通信時間的實測值推算計算量累加函數(shù)和通信量變 化率函數(shù)的近似函數(shù),然后以這兩個函數(shù)為參照通過多次迭代獲得最佳的數(shù)據(jù)劃分方案; 動態(tài)調(diào)整階段包括并行程序運行過程,監(jiān)視每次運算的計算量和通信量變化,分析處理器 的負載均衡狀況并預(yù)測負載均衡的趨勢,當(dāng)負載均衡的效率或預(yù)測值低于設(shè)定的閾值時, 根據(jù)當(dāng)前的計算量和通信量的實測值再次計算量累加函數(shù)和通信量變化率函數(shù)的近似函 數(shù),并對數(shù)據(jù)塊的劃分進行動態(tài)調(diào)整。
2. 如權(quán)利要求1所述方法,其特征在于,所述初始劃分階段具體包括以下步驟: 步驟1-1)采用空間填充曲線法對多維空間分布的數(shù)據(jù)元素進行排序,對處理器 編號;設(shè)N個數(shù)據(jù)元素從多維空間映射到一維空間,映射后的N個數(shù)據(jù)元素排列記為Xl,x2,. . .,xN ;設(shè)參與運算的處理器有M個,M < < N,將M個處理器編號,記為Pl,p2,. . .,pM ; 步驟1-2)對數(shù)據(jù)元素平均劃分的條件下,測量各處理器一個時間步的計算時間和責(zé) 任通信時間;對平均劃分的數(shù)據(jù)元素進行微調(diào)后,測量各處理器一個時間步的責(zé)任通信時 間;具體包括: 第一次劃分,將Xl,x2,. . .,xN平均分成M塊,分配到各處理器并啟動運行一個時間步, 得到各處理器計算時間T",責(zé)任通信時間TW1 ;第二次劃分,對第一次劃分的各數(shù)據(jù)塊進行 微調(diào),依次將第一次劃分的數(shù)據(jù)塊的后面k個元素移到下一個數(shù)據(jù)塊,最后一個數(shù)據(jù)塊只 接收前一個數(shù)據(jù)塊;將微調(diào)后的數(shù)據(jù)塊分配到各處理器并啟動運行一個時間步,得到各處 理器責(zé)任通信時間TKj2 ; 步驟1-3)根據(jù)實測的各處理器的計算時間,利用插值法求解計算量累加函數(shù);具體實 現(xiàn)為: 設(shè)在Xl,x2,. . .,xN排列下,數(shù)據(jù)元素 x的計算量密度函數(shù)為f (t,x),t為時間參數(shù);在 n個時間步內(nèi),n彡3,假設(shè)f保持不變,則計算量密度函數(shù)表示為與時間無關(guān)的函數(shù)f(x); (Xjl,Xj2)為處理器Pj負責(zé)的數(shù)據(jù)塊,則處理器的計算時間為T Cj表示)
全部
假設(shè)函數(shù)f (X)在Xl,x2,. . .,xN排列中選取的M個點Xp X2,…,XM上有值; 對于Xi < X < Xi+1,得到f (X)的插值近似函數(shù):
將⑵式代入方程組(1),得到以f (Xi),f (X2),…,f (XM)為未知數(shù)的線性方程組,求解 可得f (X)在Xi,X2,…,XM處的值;利用插值算法求得計算量的累加函數(shù)F (X),F(xiàn) (X)表示為 XpX2,…,XM之間的分段形式; 步驟1-4)根據(jù)實測的各處理器的計算時間,利用插值法求解責(zé)任通信時間函數(shù)的導(dǎo) 函數(shù);具體實現(xiàn)為: 處理器Pj的責(zé)任通信時間函數(shù)為g(t,Xjl,xj2),Xjl,x j2為處理器所負責(zé)的數(shù)據(jù)元素的起 點和終點;在較少的n個時間步內(nèi),n彡3,假設(shè)g保持不變,則處理器&的責(zé)任通信時間函 數(shù)表示為gUji, xj2); 假設(shè)g(x)為連續(xù)函數(shù)且在x點有導(dǎo)數(shù),求解g(x)在指定點的導(dǎo)數(shù)G'(x); g(Xj" xj2)代表某時間步處理器Pj的責(zé)任通信時間,元素 Xjl+Ax為Xjl的右鄰點,得 到:
(Xjl,\2)和(\3,\4)分別為處理器h在兩次劃分中所負責(zé)的數(shù)據(jù)塊,兩個數(shù)據(jù)塊劃分 的大部分數(shù)據(jù)元素重疊,利用式(3)、(4)分別對處理器負責(zé)的數(shù)據(jù)塊的左右兩端做近似處 理得:
為計算通信時間函數(shù),測試兩次不同劃分的通信責(zé)任時間;處理器h兩次劃分的責(zé)任 通信時間分別為TK11,TR12,則,
假設(shè)函數(shù)G'(x)在Xl,x2,. . .,xN排列中選取的M個點Xp X2,…,XM上有值; 對于\ < x < Xi+1,得到G'(x)的插值近似函數(shù):
將式⑵代入形如式(6)的所有處理器的方程組,得到以G'(XlG'(X2),…,G'(XM)為 未知數(shù)的線性方程組,求解得到G'(x)在Xi,X2,…,XM處的值,利用插值法求得G'(x)的近 似函數(shù),G'(x)表示為Xi,X2,…,XM之間的分段形式; 步驟1-5)根據(jù)計算量密度函數(shù)和責(zé)任通信時間函數(shù),以及根據(jù)指定的數(shù)據(jù)塊的平均 計算量和通信量,為每個數(shù)據(jù)塊分配數(shù)據(jù)元素;當(dāng)分配不平均時,修改為數(shù)據(jù)塊指定的平均 計算量和通信量,迭代求解數(shù)據(jù)塊劃分方案;具體實現(xiàn)為: 根據(jù)已知的 F(x)、G'(x),在 Xi, x2,…,xN 上求一組 X'。,X':,…,X' M 其中 X'。= Xp X'。 =xN,使式⑶最小: MAX (F (X,-F (X,j +g (X,j,X' j) (8) FG'J-FG'm)表示以X'm和X、分別為起點和終點的數(shù)據(jù)塊的計算量,g(X、X' 則表示這個數(shù)據(jù)塊的責(zé)任通信量: 步驟1-5-1)設(shè)
為各處理器計算時間的平均值;
為各處理器責(zé)任通信時間的平均值; 步驟1-5-2)使用累加法求在數(shù)據(jù)元素 Xl,x2,...,xN中使式(9)成立的最右的元素 Xi ;
其中Fx12分別為第一個 數(shù)據(jù)塊的起點和終點;
由式(9)得到的,則(Xl,X'i)為第一個處理器?1的預(yù)分配數(shù)據(jù)塊,表示為 (X,0, X,D ; 步驟1-5-3)根據(jù)已求得的X' i,結(jié)合式(10)利用遞推法依次求得剩余的數(shù)據(jù)塊;
式(11)中,g(xn, xi2)為測試值; 步驟1-5-4)根據(jù)具體情況,對參數(shù)g(l調(diào)整后重新進行數(shù)據(jù)塊劃分; 第一種情況,當(dāng)遞推法計算到第i步(i < M),Xi, x2,. . .,xN中元素已經(jīng)取盡,這時計算 終止;新的g(1設(shè)>
3到步驟1-5-2),將g' ^代入式(9)重新開始迭代計算; 第二種情況,計算進行了 M步,但Xp x2, . . .,xN中的元素還沒有取盡,設(shè)XM = xk,新的gd 設(shè)定為
,回到步驟1-5-2),將代入式(9)重新開始迭代計算; 第三種情況,當(dāng)計算到第M步,XM取值為1,&,...,馬集合的最后一個元素,且 時,迭代停止, 將步驟;
第四種情況,迭代達到設(shè)定的次數(shù),說明計算量和通信量無法達到相對均衡,此時迭代 停止,轉(zhuǎn)步驟1-5-6); 步驟1-5-6)當(dāng)?shù)V箷r,求得一組X'。,X' i,…,X' M,以X'。,X' i,…,X' M作為分割點將 數(shù)據(jù)元素排列Xl,x2,. . .,%分成M個數(shù)據(jù)塊,由此得到數(shù)據(jù)劃分方案; 步驟1-6)將劃分的數(shù)據(jù)塊分配給所有的處理器,啟動運行n個時間步,收集的計算時 間和通信時間分析負載均衡的效率;如果負載均衡效率低于要求門限,收集最近一個時間 步各處理器計算時間T",責(zé)任通信時間TW1 ;對現(xiàn)有劃分進行微調(diào)后,運行一個時間步,得 到各處理器的責(zé)任通信時間TW2 ;進入步驟1-3)重新進行數(shù)據(jù)塊劃分;如果負載均衡效率 達到要求門限,則繼續(xù)運行,進入第二階段進行動態(tài)調(diào)整; 所述動態(tài)調(diào)整階段,具體包括以下步驟: 步驟2-1)根據(jù)設(shè)定的時間間隔,定時查看負載均衡效率,收集n個時間步各處理器的 計算時間和責(zé)任通信時間,n < 20,如果預(yù)測未來m個時間步的負載均衡效率平均值高于設(shè) 定的閾值,則繼續(xù)運行,等待下個時間間隔再繼續(xù)檢測,否則啟動負載動態(tài)調(diào)整,執(zhí)行步驟 2-2); 步驟2-2)收集最近一個時間步收集的各處理器計算時間TCj,責(zé)任通信時間TKjl ;在不 同劃分情況下的通信時間的測試值;求解計算量密度函數(shù)f和通信量函數(shù)的導(dǎo)數(shù)G' ;采用 步驟1-2)相同的數(shù)據(jù)塊劃分微調(diào)方法對現(xiàn)有劃分微調(diào)后,運行一個時間步,得到各處理器 的責(zé)任通信時間TW2 ;轉(zhuǎn)入步驟1-3)繼續(xù)運行,重新進行數(shù)據(jù)塊劃分。
【文檔編號】G06F9/50GK104281494SQ201410503520
【公開日】2015年1月14日 申請日期:2014年9月26日 優(yōu)先權(quán)日:2014年9月26日
【發(fā)明者】楊廣文, 劉圣卓, 張志遠, 陳宇澍, 姜進磊, 韓寶玲 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1