本發(fā)明涉及高性能計(jì)算領(lǐng)域,具體涉及到一種面向計(jì)算網(wǎng)絡(luò)的自適應(yīng)路由方法和裝置。
背景技術(shù):
1、隨著大規(guī)模hpc系統(tǒng)的發(fā)展,高性能計(jì)算(hpc)系統(tǒng)利用高階路由器構(gòu)建高階互連網(wǎng)絡(luò),這些網(wǎng)絡(luò)具有低直徑、低部署成本和高路徑多樣性,dragonfly是其中的一個(gè)例子。高性能互連網(wǎng)絡(luò)需要容納數(shù)十萬(wàn)條鏈路和路由器。例如,slingshot互連支持dragonfly超過25萬(wàn)個(gè)端點(diǎn),使用64端口路由器,導(dǎo)致路由器之間的鏈路超過40萬(wàn)條。因此,大規(guī)模網(wǎng)絡(luò)本質(zhì)上存在更高的組件故障概率,從而使平均故障間隔時(shí)間(mtbf)較低。自適應(yīng)路由是提供容錯(cuò)能力的一種自然方式。它利用路徑多樣性來(lái)規(guī)避故障,并通過網(wǎng)絡(luò)管理基礎(chǔ)設(shè)施確保連續(xù)系統(tǒng)運(yùn)行。然而,現(xiàn)有的高性能計(jì)算系統(tǒng)的自適應(yīng)路由和容錯(cuò)方案面臨著如下問題:(1)僅依賴虛擬通道會(huì)導(dǎo)致顯著的片上路由器緩沖成本,特別是在網(wǎng)絡(luò)故障發(fā)生之后。(2)通過基于轉(zhuǎn)向模型的路由完全消除虛擬通道會(huì)導(dǎo)致嚴(yán)重的負(fù)載不平衡和性能下降。(3)重新處理關(guān)于故障分布的信息會(huì)產(chǎn)生顯著的存儲(chǔ)和帶寬開銷,在大規(guī)模網(wǎng)絡(luò)中阻礙對(duì)故障的快速響應(yīng)。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明主要解決現(xiàn)有的高性能計(jì)算系統(tǒng)的自適應(yīng)路由和容錯(cuò)方案所存在的問題,本發(fā)明公開了一種面向計(jì)算網(wǎng)絡(luò)的自適應(yīng)路由方法和裝置。
2、本發(fā)明實(shí)施例第一方面,公開了一種面向計(jì)算網(wǎng)絡(luò)的自適應(yīng)路由方法,利用計(jì)算網(wǎng)絡(luò)來(lái)實(shí)現(xiàn),所述計(jì)算網(wǎng)絡(luò)包括計(jì)算節(jié)點(diǎn)、路由器網(wǎng)絡(luò)、傳輸鏈路;所述路由器網(wǎng)絡(luò),用于為各個(gè)計(jì)算節(jié)點(diǎn)之間的數(shù)據(jù)流傳輸提供傳輸鏈路;所述傳輸鏈路,包括全局鏈路和局部鏈路;所述路由器網(wǎng)絡(luò),包括若干個(gè)組;各個(gè)組之間通過全局鏈路連接;所述組,包括n1個(gè)路由器;同一組內(nèi)的路由器,通過局部鏈路連接;所述路由器,包括端口;所述端口,包括虛擬通道和對(duì)應(yīng)的緩沖隊(duì)列;所述網(wǎng)絡(luò)結(jié)構(gòu)信息,包括計(jì)算網(wǎng)絡(luò)中的每個(gè)路由器的地址和與其連接的路由器和計(jì)算節(jié)點(diǎn);所述方法包括:
3、s1,獲取待傳輸數(shù)據(jù)包和網(wǎng)絡(luò)結(jié)構(gòu)信息;所述待傳輸數(shù)據(jù)包,包括數(shù)據(jù)流、源地址和目標(biāo)地址;
4、s2,對(duì)所述路由器網(wǎng)絡(luò)進(jìn)行分割劃分處理,得到劃分結(jié)果信息;所述劃分結(jié)果信息,包括第一路由器集合和第二路由器集合
5、s3,根據(jù)所述待傳輸數(shù)據(jù)包中的源地址和目標(biāo)地址,分別確定與源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器和與目標(biāo)地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器;
6、s4,判斷所述與源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器和與目標(biāo)地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器,是否在同一組中,得到第一判斷結(jié)果;
7、若所述第一判斷結(jié)果為是,利用組內(nèi)路由模型,對(duì)所述劃分結(jié)果信息和網(wǎng)絡(luò)結(jié)構(gòu)信息進(jìn)行處理,得到組內(nèi)路由信息;
8、若所述第一判斷結(jié)果為否,利用組間路由模型,對(duì)所述劃分結(jié)果信息和網(wǎng)絡(luò)結(jié)構(gòu)信息進(jìn)行處理,得到全局路由信息。
9、所述對(duì)所述路由器網(wǎng)絡(luò)進(jìn)行分割劃分處理,得到劃分結(jié)果信息,包括:
10、對(duì)每個(gè)組內(nèi)的路由器,根據(jù)路由器編號(hào)由高至低進(jìn)行排序,對(duì)排序前n1/2的所有路由器,劃分到該組的第一分組內(nèi);對(duì)排序后n1/2的所有路由器,劃分到該組的第二分組內(nèi);
11、對(duì)所有組的第一分組進(jìn)行合并處理,得到第一路由器集合利用所述第一路由器集合的路由器的所有出組的全局鏈路,構(gòu)建得到out1鏈路集合;
12、對(duì)所有組的第二分組進(jìn)行合并處理,得到第二路由器集合利用所述第二路由器集合的路由器的所有出組的全局鏈路,構(gòu)建得到out2鏈路集合;
13、利用out1鏈路集合的每個(gè)鏈路的目地路由器,構(gòu)建得到路由器集合利用out2鏈路集合的每個(gè)鏈路的目地路由器,構(gòu)建得到路由器集合其中,各個(gè)路由器集合滿足
14、所述利用組內(nèi)路由模型,對(duì)所述劃分結(jié)果信息和網(wǎng)絡(luò)結(jié)構(gòu)信息進(jìn)行處理,得到組內(nèi)路由信息,包括:
15、在與源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器所在組中,隨機(jī)選擇一個(gè)路由器,作為非最短路由器;
16、在與源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器所在組中,選擇與目標(biāo)地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器,作為最短路由器;
17、利用第一自適應(yīng)路由決策算法,對(duì)所述非最短路由器和最短路由器進(jìn)行處理,得到最佳路由器;
18、確定所述源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器,與所述最佳路由器之間的傳輸鏈路,為組內(nèi)路由信息。
19、所述利用第一自適應(yīng)路由決策算法,對(duì)所述非最短路由器和最短路由器進(jìn)行處理,得到最佳路由器,包括:
20、獲取最短路由器的端口占用值a1;所述端口占用值,為路由器的存滿數(shù)據(jù)的虛擬通道的數(shù)目;
21、獲取非最短路由器的端口占用值a2;
22、判斷a1-a2是否小于預(yù)設(shè)的門限值m,得到第二判斷結(jié)果;當(dāng)所述第二判斷結(jié)果為是時(shí),確定所述最短路由器,為最佳路由器;當(dāng)所述第二判斷結(jié)果為否時(shí),確定所述非最短路由器,為最佳路由器;所述門限值m為正數(shù)。
23、所述利用組間路由模型,對(duì)所述劃分結(jié)果信息和網(wǎng)絡(luò)結(jié)構(gòu)信息進(jìn)行處理,得到全局路由信息,包括:
24、在與源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器所在組中,選擇與目標(biāo)地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器所在組相連接的路由器,作為第一最短路由器;
25、確定與源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器所屬的路由器集合,從與所述所屬的路由器集合不同的另一個(gè)路由器集合中,隨機(jī)選擇一個(gè)與所述與源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器不屬于同一組且相連的路由器,確定所述路由器所在組,為中間組;所述路由器集合為第一路由器集合或第二路由器集合
26、從所述中間組中,選擇一個(gè)屬于與所述所屬的路由器集合不同的另一個(gè)路由器集合中的路由器,作為非最短路由;
27、利用第二自適應(yīng)路由決策算法,對(duì)所述非最短路由器和第一最短路由器進(jìn)行處理,得到第一最佳路由器;
28、在與目標(biāo)地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器所在組中,選擇與目標(biāo)地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器所在組相連接的路由器,作為第二最短路由器;
29、利用第三自適應(yīng)路由決策算法,對(duì)所述非最短路由器和第二最短路由器進(jìn)行處理,得到第二最佳路由器;
30、確定所述源地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器、第一最短路由器、第二最短路由器和所述目標(biāo)地址對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)連接的路由器之間的傳輸鏈路,為全局路由信息。
31、所述利用第二自適應(yīng)路由決策算法,對(duì)所述非最短路由器和第一最短路由器進(jìn)行處理,得到第一最佳路由器,包括:
32、獲取第一最短路由器的端口占用值b1;所述端口占用值,為路由器的存滿數(shù)據(jù)的虛擬通道的數(shù)目;
33、獲取非最短路由器的端口占用值b2;
34、判斷b1/(b2+m)是否小于預(yù)設(shè)的門限值m1,得到第三判斷結(jié)果;當(dāng)所述第三判斷結(jié)果為是時(shí),確定所述第一最短路由器,為第一最佳路由器;當(dāng)所述第三判斷結(jié)果為否時(shí),確定所述非最短路由器,為第一最佳路由器;所述門限值m和m1為正數(shù)。
35、所述利用第三自適應(yīng)路由決策算法,對(duì)所述非最短路由器和第二最短路由器進(jìn)行處理,得到第二最佳路由器,包括:
36、獲取第二最短路由器的端口占用值b1;所述端口占用值,為路由器的存滿數(shù)據(jù)的虛擬通道的數(shù)目;
37、獲取非最短路由器的端口占用值b2;
38、判斷sin[b1/(b2+m)]是否小于預(yù)設(shè)的門限值m2,得到第四判斷結(jié)果;當(dāng)所述第四判斷結(jié)果為是時(shí),確定所述第二最短路由器,為第二最佳路由器;當(dāng)所述第四判斷結(jié)果為否時(shí),確定所述非最短路由器,為第二最佳路由器;所述門限值m和m2為正數(shù)。
39、本發(fā)明實(shí)施例第二方面,公開了一種面向計(jì)算網(wǎng)絡(luò)的自適應(yīng)路由裝置,所述裝置包括:
40、存儲(chǔ)有可執(zhí)行程序代碼的存儲(chǔ)器;
41、與所述存儲(chǔ)器耦合的處理器;
42、所述處理器調(diào)用所述存儲(chǔ)器中存儲(chǔ)的所述可執(zhí)行程序代碼,執(zhí)行所述的面向計(jì)算網(wǎng)絡(luò)的自適應(yīng)路由方法。
43、本發(fā)明實(shí)施例第三方面,公開了一種計(jì)算機(jī)可存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)指令,所述計(jì)算機(jī)指令被調(diào)用時(shí),用于執(zhí)行所述的面向計(jì)算網(wǎng)絡(luò)的自適應(yīng)路由方法。
44、本發(fā)明實(shí)施例第四方面,公開了一種信息數(shù)據(jù)處理終端,所述信息數(shù)據(jù)處理終端用于實(shí)現(xiàn)所述的面向計(jì)算網(wǎng)絡(luò)的自適應(yīng)路由方法。
45、本發(fā)明的有益效果為:
46、本發(fā)明方法,增加了hpc網(wǎng)絡(luò)中的可用的非最小路徑數(shù)量,提高了負(fù)載平衡能力,導(dǎo)致故障前后性能提高了10%至150%。此外,它引入了可控的存儲(chǔ)開銷,并且可部署在dragonfly網(wǎng)絡(luò)中。
47、本發(fā)明方法,提供了與以前的3個(gè)或4個(gè)vc的自適應(yīng)算法相當(dāng)?shù)男阅?,與現(xiàn)有的容錯(cuò)自適應(yīng)路由hymfr相比,性能提高了10%-150%,并且在dragonfly出現(xiàn)故障時(shí)表現(xiàn)出優(yōu)雅的性能下降。在內(nèi)部模擬器上進(jìn)行的評(píng)估實(shí)驗(yàn)表明,無(wú)論是在無(wú)故障還是有故障的情況下,所提出的方法都可以獲得更高的性能和更低的延遲。