孫 巖,張建民,黎 淵,孫舜禹
(國防科技大學(xué)計算機(jī)學(xué)院,湖南 長沙 410073)
高性能計算HPC(High Performance Computing)系統(tǒng)已經(jīng)進(jìn)入E級規(guī)模。E級計算系統(tǒng)具有空前龐大的規(guī)模和異常復(fù)雜的結(jié)構(gòu),HPC的許多特性在E級系統(tǒng)上都更加突出,如節(jié)點數(shù)量和種類更多、互連結(jié)構(gòu)更復(fù)雜、通信延時和吞吐率要求更高等。在E級計算系統(tǒng)面臨的眾多挑戰(zhàn)中,數(shù)據(jù)通信是最為關(guān)鍵的因素之一[1]。高吞吐、低延時、高消息率和高利用率的互連通信系統(tǒng)成為提升HPC性能的關(guān)鍵支撐技術(shù)。
為了提升性能和效率,當(dāng)前大部分HPC的互連系統(tǒng)都構(gòu)建在無損的可靠網(wǎng)絡(luò)上,通過基于信用或優(yōu)先級的流控確保傳輸過程中無丟包。由于避免了數(shù)據(jù)包重傳,無損網(wǎng)絡(luò)顯著提高了報文傳輸?shù)男阅芎托?但也帶來了新的問題,如數(shù)據(jù)流公平性、頭阻塞和擁塞傳播等[2]。當(dāng)網(wǎng)絡(luò)中發(fā)生局部擁塞時,流控機(jī)制會向前反壓,形成擁塞樹,造成全局擁塞,顯著降低網(wǎng)絡(luò)的吞吐率,延長數(shù)據(jù)流的完成時間FCT(Flow Complete Time)。隨著計算系統(tǒng)性能和網(wǎng)絡(luò)通信需求的進(jìn)一步提升,擁塞問題變得更加嚴(yán)重,成為HPC互連網(wǎng)絡(luò)性能和可靠性提升的最主要限制[3,4]。
解決HPC互連網(wǎng)絡(luò)擁塞問題的根本方法是通過端到端的擁塞控制CC(Congestion Control)機(jī)制消除局部擁塞。擁塞控制機(jī)制通過在網(wǎng)絡(luò)中監(jiān)測擁塞相關(guān)信息(如交換機(jī)隊列長度或報文往返時間)來判斷或預(yù)測局部擁塞的發(fā)生,并將該信息反饋到源端,源端基于擁塞信息對數(shù)據(jù)發(fā)送速率進(jìn)行調(diào)整。通過網(wǎng)絡(luò)中源節(jié)點、目的節(jié)點和交換節(jié)點多部件的配合,形成控制閉環(huán),端到端的擁塞控制從源頭避免或消除了網(wǎng)絡(luò)中的擁塞。
在當(dāng)前國際領(lǐng)先的HPC系統(tǒng)中,互連網(wǎng)絡(luò)主要有以下幾種:NVIDIA/Mellanox公司的InfiniBand系列、Cray公司的Slingshot系列、日本Fujitsu公司的Tofu Interconnect,以及中國的“太湖·之光”Sunway互連和“天河”系統(tǒng)的TH Express系列等[5]。在擁塞控制方面,這幾種互連系統(tǒng)各有特色。然而,專門針對HPC的擁塞控制研究仍然相對較少,這主要是因為HPC系統(tǒng)的互連網(wǎng)絡(luò)雖然重要,但仍屬于“小眾”,研究相對較少。此外,HPC的技術(shù)細(xì)節(jié)往往公開較少,特別是擁塞控制這種高性能網(wǎng)絡(luò)的關(guān)鍵技術(shù)。
近年來,數(shù)據(jù)中心網(wǎng)絡(luò)發(fā)展迅速,研究人員提出了很多優(yōu)秀的擁塞控制方法,如DCQCN(Data Center Quantized Congestion Notification)、TIMELY(Transport Informed by MEasurement of LatencY)和HPCC(High Precision Congestion Control)等。雖然數(shù)據(jù)中心網(wǎng)絡(luò)與HPC網(wǎng)絡(luò)在系統(tǒng)結(jié)構(gòu)、通信特性、傳輸協(xié)議和應(yīng)用模式等方面有一定區(qū)別,但也有很多相似之處,如都具有集中化、高帶寬、低時延和高并發(fā)等特點。二者可相互借鑒,相互融合。我們預(yù)計,這也將是未來HPC互連網(wǎng)絡(luò)發(fā)展的趨勢。
當(dāng)前,將數(shù)據(jù)中心和HPC互連網(wǎng)絡(luò)進(jìn)行融合設(shè)計的工作還比較少,特別是在擁塞控制方面。本文正是基于這一背景,主要解決以下問題:(1) 數(shù)據(jù)中心的主要擁塞控制方法是否適用于HPC網(wǎng)絡(luò)?(2) HPC的仿真模擬應(yīng)當(dāng)使用怎樣的流量模型?(3) 如何客觀準(zhǔn)確地評估HPC網(wǎng)絡(luò)的擁塞控制機(jī)制效果?
近十幾年來,數(shù)據(jù)中心網(wǎng)絡(luò)快速發(fā)展,出現(xiàn)了很多優(yōu)秀的擁塞控制方法。一些擁塞控制技術(shù)成功應(yīng)用于大規(guī)模數(shù)據(jù)中心,取得了很好的效果。
為了在數(shù)據(jù)中心網(wǎng)絡(luò)中實現(xiàn)數(shù)據(jù)傳輸?shù)牡脱舆t、高吞吐和高容忍度,斯坦福大學(xué)聯(lián)合微軟研究院于2010年提出DCTCP(Data Center Transmission Control Protocol)[6],其在交換機(jī)上使用簡單的主動隊列管理和閾值標(biāo)記,再在接收端將標(biāo)記包傳回發(fā)送節(jié)點,發(fā)送方維護(hù)數(shù)據(jù)包標(biāo)記估值并定時更新。DCTCP比TCP(Transmission Control Protocol)的吞吐量更高,緩沖區(qū)占用更少,并具有高突發(fā)容限和低延遲。然而,DCTCP的控制方式仍然簡單,在平均隊列長度、數(shù)據(jù)吞吐率等方面有較大的優(yōu)化空間,此外也不支持遠(yuǎn)程直接內(nèi)存訪問RDMA(Remote Direct Memory Access)等無損網(wǎng)絡(luò)。
RDMA技術(shù)在數(shù)據(jù)中心網(wǎng)絡(luò)中被大規(guī)模采用,但PFC(Priority-based Flow Control)風(fēng)暴和死鎖問題凸顯。為了解決該問題,微軟公司于2015年提出DCQCN擁塞控制方法,并將其部署在數(shù)據(jù)中心[7]。DCQCN結(jié)合DCTCP的顯式反饋和QCN(Quantized Congestion Notification)[8]的速率控制,可以在PFC機(jī)制觸發(fā)前緩解擁塞,減少PFC觸發(fā),較好地解決了PFC引起的公平性和受害流問題,成為數(shù)據(jù)中心中最經(jīng)典的擁塞控制技術(shù)之一。但是,DCQCN很難實現(xiàn)速率和網(wǎng)絡(luò)狀態(tài)的精確匹配,流延時較大,并且參數(shù)眾多,參數(shù)調(diào)整困難。
針對RDMA的擁塞問題,谷歌也于2015年提出了TIMELY擁塞控制方法[9]。與DCQCN不同的是,TIMELY借助的擁塞標(biāo)記信號是報文往返時間RTT(Round-Trip Time),對延遲梯度作出反應(yīng)。這是因為延遲梯度具有較好的穩(wěn)定性和收斂性,無需等待隊列形成,有助于實現(xiàn)低延遲。TIMELY在提供高帶寬的同時還能夠保持較低的延遲,并且控制都在端節(jié)點上完成,無需交換機(jī)支持,具有更好的可部署性。但是,TIMELY對基于RTT信息的擁塞控制反應(yīng)相對偏慢;隊列長度和公平性無法兼顧;反饋抖動引入了噪聲,導(dǎo)致收斂性較差。
阿里巴巴公司于2019年提出一種基于網(wǎng)內(nèi)遙測INT(In-Network Telemetry)的擁塞控制方法HPCC[10]。HPCC利用INT信息獲得精確的鏈路負(fù)載信息,能夠?qū)α髁窟M(jìn)行更準(zhǔn)確的控制。通過智能網(wǎng)卡與交換機(jī)的配合,端到端實時抓取擁塞信息,從而精確獲取實時的鏈路負(fù)載,并計算合適的發(fā)送速率,能夠快速收斂、降低緩存依賴、保證數(shù)據(jù)公平性。HPCC的FCT相比DCQCN的降低了95%,需調(diào)整的參數(shù)很少。但是,HPCC傳送INT信息的開銷較大,降低了數(shù)據(jù)吞吐率;交換機(jī)改動較大,難以進(jìn)行大規(guī)模部署。
為了解決HPCC開銷較大的問題,哈佛大學(xué)等于2020年提出了PINT(Probabilistic In-band Network Telemetry)技術(shù)[11]。PINT將INT信息編碼在多個報文中,同時限制每個報文中INT信息的字節(jié)數(shù),從而有效地降低了傳送INT信息帶來的吞吐率開銷。PINT在多個數(shù)據(jù)包上對INT數(shù)據(jù)進(jìn)行編碼,每個數(shù)據(jù)包的開銷最低可達(dá)到1 bit。PINT可實現(xiàn)與HPCC近似的流完成時間,長流吞吐率有顯著改善。但是,PINT是基于概率的算法,當(dāng)數(shù)據(jù)流較短時效果不佳;此外,PINT僅進(jìn)行了中小規(guī)模的實驗,還沒有在實際系統(tǒng)中大規(guī)模應(yīng)用。
為了對以上擁塞控制方法的特點進(jìn)行分析比較,本文搭建了一個小規(guī)模的模擬環(huán)境,使用相同的網(wǎng)絡(luò)拓?fù)浜蜏y試負(fù)載對以上幾種擁塞控制方法進(jìn)行模擬分析,直觀地比較各方法的性能。模擬使用修改的NS-3網(wǎng)絡(luò)模擬器[10],使用的網(wǎng)絡(luò)拓?fù)淙鐖D1所示,其中,2號、3號節(jié)點為交換機(jī),其余節(jié)點為服務(wù)器;設(shè)置的鏈路帶寬為100 Gbps,鏈路延時為1 μs。
Figure 1 Schematics of network topology and traffic圖1 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)與流量示意
模擬的流包含2條長流與224條短流。其中2條長流由0號節(jié)點和1號節(jié)點分別發(fā)送到4號節(jié)點和5號節(jié)點(記為F0和F1)。而短流則是由6號到19號共14個節(jié)點分別產(chǎn)生的16條到5號節(jié)點的流組成。長流的大小為100 MB,在time=0時開始發(fā)送;短流的大小為64 KB,在time=5 ms時開始發(fā)送。實驗分別對長流吞吐率、短流完成時間、PFC時間等進(jìn)行分析和比較。
模擬結(jié)果顯示主要的擁塞出現(xiàn)在3號節(jié)點接收突發(fā)的大量短流時。對于F0而言,它本身與短流并不存在競爭關(guān)系,但是如果擁塞控制方法沒有及時根據(jù)擁塞情況調(diào)整流發(fā)送速率,大量短流會引起3號節(jié)點的緩沖區(qū)溢出,使得F0的吞吐率受到影響。圖2給出了幾種方法的F0和F1流的吞吐率變化情況。
Figure 2 Long flow throughput圖2 長流吞吐率
從圖2可以看出,DCTCP和TIMELY的F0和F1吞吐率出現(xiàn)了明顯的震蕩;DCQCN的F0吞吐率受到短流影響出現(xiàn)降低的情形;HPCC和PINT的F0吞吐率表現(xiàn)較好,沒有受到突發(fā)短流的影響,但PINT的F1吞吐率恢復(fù)較慢。
除了長流的吞吐率,短流的完成時間FCT也是重要的性能指標(biāo)。本文對每種方法中短流的FCT進(jìn)行統(tǒng)計并生成累積分布函數(shù)CDF(Cumulative Distribution Function)圖,如圖3所示。
Figure 3 CDF of short flow completion time圖3 短流完成時間CDF
由圖3可見,PINT的短流FCT最佳,TIMELY和DCQCN的短流FCT比無CC的要好,HPCC的短流FCT與無CC的近似,但一致性更好。DCTCP的短流FCT表現(xiàn)出長尾的特點,說明短流間的公平性表現(xiàn)不佳。
表1列出了2條長流的吞吐率和224條短流的FCT??梢钥吹?HPCC和PINT的F0吞吐率較好,受到突發(fā)短流的影響較小,同時對F1進(jìn)行了較好的速率控制,因此短流的FCT也較短,實現(xiàn)了很好的公平性。這是由于HPCC和PINT使用了細(xì)粒度的網(wǎng)絡(luò)遙測數(shù)據(jù)進(jìn)行擁塞控制,可實現(xiàn)更快速和更精確的控制。
Table 1 Results of throughput and FCT
本文對每種方法的PFC時間進(jìn)行統(tǒng)計,如圖4所示。可以看出,在無擁塞控制機(jī)制時,報文發(fā)送處于失控狀態(tài),如果網(wǎng)絡(luò)中出現(xiàn)擁塞會觸發(fā)PFC,使得鏈路報文發(fā)送暫停,并快速向前級傳播,造成PFC風(fēng)暴;DCQCN和TIMELY的PFC時間也很長,說明這2種方法對報文發(fā)送的控制并不能與網(wǎng)絡(luò)狀態(tài)很好地匹配;HPCC和PINT的PFC時間與其它方法相比小1個數(shù)量級,表明其速率控制機(jī)制能夠更好地與網(wǎng)絡(luò)狀態(tài)相匹配。
Figure 4 PFC time圖4 PFC時間
從以上分析可以看到,衡量一種擁塞控制方法的優(yōu)劣,與長流的吞吐率、短流的完成時間及觸發(fā)的PFC時間相關(guān),此外,還有隊列長度、打標(biāo)數(shù)量等多個指標(biāo)與之相關(guān)。如何將這些評價指標(biāo)合理地結(jié)合,并針對HPC網(wǎng)絡(luò)的特點進(jìn)行綜合評價,是本文后2節(jié)重點討論的內(nèi)容。
數(shù)據(jù)中心網(wǎng)絡(luò)和HPC互連網(wǎng)絡(luò)最主要的不同就是流量特性和行為的不同。因此,若要對HPC互連網(wǎng)絡(luò)的網(wǎng)絡(luò)擁塞控制進(jìn)行模擬,就需要設(shè)計出適用于HPC互連網(wǎng)絡(luò)、接近HPC互連網(wǎng)絡(luò)真實流量情況的流文件生成工具。
由美國阿貢國家實驗室和Cray公司等開發(fā)的GPCNeT(Global Performance and Congestion Network Tests)[12]是適用于實際HPC互連網(wǎng)絡(luò)的測試基準(zhǔn),主要用于在HPC互連網(wǎng)絡(luò)中產(chǎn)生網(wǎng)絡(luò)擁塞并對其進(jìn)行測量,從而方便對網(wǎng)絡(luò)的擁塞控制特性進(jìn)行評價和比較。GPCNeT適用于各種拓?fù)浣Y(jié)構(gòu),用簡單的方式產(chǎn)生復(fù)雜的通信模式,很難針對性優(yōu)化。GPCNeT測試基準(zhǔn)獲得了HPC領(lǐng)域的認(rèn)可,并被應(yīng)用于多個研究中,但其使用MPI(Message Passing Interface)生成網(wǎng)絡(luò)負(fù)載,無法直接應(yīng)用于模擬器中。因此,本文參考GPCNeT的流量生成方法,結(jié)合HPC互連網(wǎng)絡(luò)模擬的實際需求進(jìn)行適當(dāng)簡化,設(shè)計了一種HPC互連網(wǎng)絡(luò)測試負(fù)載流量模型和流文件生成工具,為基于模擬器的HPC擁塞控制實驗提供相應(yīng)的流文件。
本文提出的流文件生成模型結(jié)構(gòu)如圖5所示。將待測網(wǎng)絡(luò)中的節(jié)點隨機(jī)地分為2部分,其中一部分負(fù)責(zé)產(chǎn)生待測流(約占整個網(wǎng)絡(luò)總節(jié)點數(shù)的20%),另一部分負(fù)責(zé)產(chǎn)生背景流(約占整個網(wǎng)絡(luò)總節(jié)點數(shù)的80%,可以根據(jù)網(wǎng)絡(luò)負(fù)載進(jìn)行參數(shù)調(diào)節(jié))。待測流是主要進(jìn)行測試的部分,通過測試這部分流的延時、帶寬等參數(shù)對網(wǎng)絡(luò)擁塞控制方法的性能作出評估。待測流根據(jù)流的大小和特性可以分為長流、短流和All-reduce流,分別用于測試網(wǎng)絡(luò)擁塞控制效果的不同指標(biāo)。背景流的作用則是為了模擬真實網(wǎng)絡(luò)中的流量特點,產(chǎn)生擁塞。背景流主要包括Incast流、Broadcast流和All-to-All流,它們可以模擬網(wǎng)絡(luò)中常見的流的特性,和待測流競爭帶寬并產(chǎn)生擁塞。為了盡量模擬真實的網(wǎng)絡(luò)環(huán)境以及保證最終結(jié)果的可靠性,所有的節(jié)點選擇、流生成都使用隨機(jī)的方法,一方面可以保證待測節(jié)點較為均勻地分布在整個網(wǎng)絡(luò)中,另一方面可以保證產(chǎn)生流的隨機(jī)性。
Figure 5 Schematic diagram of flow generation model圖5 流生成模型示意
基于該模型,本文使用Python語言開發(fā)了流文件生成工具。根據(jù)輸入的節(jié)點數(shù)和交換機(jī)節(jié)點號隨機(jī)生成2組節(jié)點,一組負(fù)責(zé)待測流的生成,另一組負(fù)責(zé)背景流的生成。其中,待測流的生成相對固定,由所有節(jié)點中的20%產(chǎn)生。而背景流的生成還會受到負(fù)載因子的影響,負(fù)載因子用于表示網(wǎng)絡(luò)中的擁塞程度,較大的負(fù)載因子會產(chǎn)生更多的背景流,從而導(dǎo)致更嚴(yán)重的擁塞。根據(jù)這些參數(shù),流文件生成工具能夠生成相應(yīng)的流文件。此外還會產(chǎn)生只包含待測流的獨立流文件,用于將模擬結(jié)果與加入背景流的情況進(jìn)行對比。圖6給出了流文件生成的工作流程。
Figure 6 Flow chart of flow file generation圖6 流文件生成流程圖
圖7是網(wǎng)絡(luò)負(fù)載分別為30%,60%和90%時200個節(jié)點的負(fù)載分布圖。其中,橫坐標(biāo)代表源節(jié)點,縱坐標(biāo)代表目的節(jié)點,例如若在(40,180)處有點,則表示有一條從40號節(jié)點發(fā)往180號節(jié)點的流。圓點表示待測流,三角表示背景流??梢钥闯?待測流的分布在整個網(wǎng)絡(luò)中較為均勻,其中較為集中的背景流為廣播流。
Figure 7 Scatter diagram of flow distribution圖7 流量分布散點圖
對各種擁塞控制方法的性能進(jìn)行評價,需要找到能夠有效評判擁塞控制方法性能的指標(biāo)。在擁塞控制相關(guān)研究中,主要的評價指標(biāo)還是帶寬、網(wǎng)絡(luò)利用率、延時和流完成時間等,還沒有一個綜合的評價指標(biāo)能夠公正地反映擁塞控制的整體性能。此外,在實際應(yīng)用中,不同場景對網(wǎng)絡(luò)擁塞控制的需求可能存在差異,完善的評價指標(biāo)應(yīng)可通過參數(shù)調(diào)節(jié)適用于不同的需求場景。因此,需要一種綜合的性能指標(biāo),用于分析和評價HPC互連網(wǎng)絡(luò)擁塞控制效果。
擁塞控制方法的性能主要取決于長流帶寬與短流延時,但是并不能直接使用模擬的結(jié)果作為評價結(jié)果??紤]到每次生成的流都具有隨機(jī)性,直接使用長流帶寬和短流延時作為評價指標(biāo)可能會導(dǎo)致模擬實驗結(jié)果差別較大,且無法生成標(biāo)準(zhǔn)化的結(jié)果。因此,可以對長流帶寬和短流延時進(jìn)行標(biāo)準(zhǔn)化處理。
對于長流帶寬,使用式(1)作為評價指標(biāo):
SL=Li/Lc
(1)
其中,Li表示僅包含待測流i時的長流帶寬,Lc表示加入擁塞流之后的待測流長流帶寬。
對于短流延時,使用式(2)進(jìn)行標(biāo)準(zhǔn)化:
SS=Sc/Sj
(2)
其中,Sj和Sc分別表示僅包含待測短流j的延時和加入擁塞流之后的待測短流延時。
All-reduce流作為特殊的短流,其評價指標(biāo)與短流的類似,但是需要將其作為獨立指標(biāo)加入到總體評價指標(biāo)中,如式(3)所示:
SA=Ac/Ak
(3)
其中,Ak和Ac分別表示僅包含待測All-reduce流k的延時和加入擁塞流之后的待測All-reduce流延時。這種評價指標(biāo)評估的是擁塞控制方法的優(yōu)化程度,而不是直接表示帶寬、延時的數(shù)據(jù),從而避免了評價指標(biāo)因為每次產(chǎn)生的流文件不同而導(dǎo)致較大出入。另一方面,使得評價指標(biāo)可以同時包含長流帶寬、短流延時和All-reduce流延時等幾方面的信息。
因此,擁塞控制評價指標(biāo)可以表示為式(4):
S=SL+SS+SA
(4)
大多數(shù)情況下,認(rèn)為長流帶寬、短流延時和All-reduce流延時的重要性是相同的,通常3部分優(yōu)化水平較為平均的結(jié)果是最為優(yōu)秀的。短流延時優(yōu)化較好但導(dǎo)致了長流的帶寬急劇下降或者相反的情況往往是不夠優(yōu)秀的。因此,可以加入表征優(yōu)化平均程度的指標(biāo),即方差項,如式(5)所示:
(5)
但是,在很多特殊的網(wǎng)絡(luò)實際應(yīng)用中,長流帶寬和短流延時的重要程度是不同的。需要加入一項表征長流帶寬與短流延時的重要性的評價指標(biāo),用于調(diào)整二者在最終評價指標(biāo)中的占比。
因此,最終的評價指標(biāo)公式如式(6)所示:
S=aL×SL+aS×SS+aA×SA+W
(6)
其中,aL、aS和aA分別為長流帶寬、短流延時和All-reduce流延時的占比因子,通常情況下取值均為1/3。在實際使用時,可以根據(jù)需求調(diào)節(jié)。S為最終的評價指標(biāo),稱為性能下降參數(shù),它的大小表征了方法在擁塞情況下相對空閑情況的性能下降程度。
本文通過一個簡單網(wǎng)絡(luò)的模擬實驗說明該評價指標(biāo)的實際應(yīng)用場景。模擬選擇的網(wǎng)絡(luò)為啞鈴型拓?fù)?即2個交換機(jī)直連,各連接5個服務(wù)器節(jié)點。本文對DCQCN、TIMELY和HPCC進(jìn)行了網(wǎng)絡(luò)模擬,結(jié)果如圖8所示。
Figure 8 Experimental results of evaluation metric圖8 評價指標(biāo)實驗結(jié)果
從圖8可以看出,3種CC方法對短流的延時優(yōu)化性能接近,而對于長流帶寬的優(yōu)化HPCC性能最佳,All-reduce流的性能在加入擁塞流前后沒有太大變化。這是由于本文實驗選用的All-reduce流在網(wǎng)絡(luò)中的位置與背景流相對獨立,因此受背景流的影響造成的性能下降較少。
本文大規(guī)模實驗采用多根胖樹結(jié)構(gòu),共計376個節(jié)點,其中包括56個交換機(jī)節(jié)點,320個服務(wù)器節(jié)點,其拓?fù)淙鐖D9所示。這種拓?fù)浣Y(jié)構(gòu)是HPC中最常見的網(wǎng)絡(luò)拓?fù)?使用該結(jié)構(gòu)目的是盡量使模擬實驗更加接近真實情況。鏈路帶寬設(shè)置為100 Gbps,鏈路延時為1 μs。流文件采用本文設(shè)計的流文件生成工具生成,共計產(chǎn)生了19 181條流,具體參數(shù)如表2所示。
Table 2 Traffic statistics of large-scale experiment
Figure 9 Topology of large-scale experiment圖9 大規(guī)模實驗拓?fù)浣Y(jié)構(gòu)
實驗的流量模仿實際網(wǎng)絡(luò)中的流量,從統(tǒng)計數(shù)據(jù)可以看出,所有的長流(包括待測長流和背景All-to-All流)在所有流數(shù)量中只占了1.4%,但是卻提供了58.76%的流量,這是為了模擬真實情況下HPC中的網(wǎng)絡(luò)流量環(huán)境。實驗力求能在負(fù)載允許的情況下盡可能接近真實情況。
根據(jù)本文提出的評價指標(biāo)對幾種擁塞控制方法進(jìn)行評價,實驗結(jié)果表3所示。表3中,后綴為實驗共選擇了3組不同的配置。配置1為aL=aS=aA=1/3,表示評價指標(biāo)中各種流的權(quán)重相同。在此種情形下,5種方法對于長流帶寬和短流延時的優(yōu)化性能比較接近,而HPCC和PINT對于All-reduce流的優(yōu)化能力較強,最終成為性能較優(yōu)的2種擁塞控制方法。All-reduce流的形成源于某個服務(wù)器對其它幾個服務(wù)器同時發(fā)出或接受短流,屬于突發(fā)且會造成較為嚴(yán)重?fù)砣闆r的一類流。其它3種方法是基于顯式擁塞通知ECN(Explicit Congestion Notification)標(biāo)記或RTT進(jìn)行擁塞判斷的,在短時間感知網(wǎng)絡(luò)擁塞情況變化的能力較弱,對于All-reduce這類突發(fā)流的調(diào)節(jié)能力相應(yīng)較弱。而HPCC和PINT是基于INT的,每當(dāng)一個報文發(fā)送完成后,發(fā)送方都能夠根據(jù)響應(yīng)報文ACK(ACKnowledgement)中攜帶的INT數(shù)據(jù)獲得網(wǎng)絡(luò)中的擁塞信息,可以及時地調(diào)整自身的發(fā)送速率,從而避免擁塞情況的產(chǎn)生。
Table 3 Results of large-scale experiment
iso的行表示在只有待測流獨立運行時的各項指標(biāo)數(shù)據(jù)。根據(jù)以上數(shù)據(jù),圖10給出了對aL、aS、aA分別取不同值時,5種擁塞控制方法的最終性能下降情況。
Figure 10 Experimental results of performance degradation with different parameters圖10 不同參數(shù)下性能下降實驗結(jié)果
配置2為aL=0.5,aS=aA=0.25,這是為了模擬長流帶寬更為關(guān)鍵的應(yīng)用情形,例如大規(guī)模的存儲服務(wù)等,需要網(wǎng)絡(luò)為長流提供足夠的帶寬來滿足大量長流的并行傳輸。與配置1不同,在這種應(yīng)用情形下HPCC和PINT與其它方法相比優(yōu)勢不再明顯。HPCC和PINT對長流帶寬的支持性較差,是因為一方面INT信息的傳送對長流造成了一定的開銷,使得長流的有效帶寬有所下降;另一方面,這2種方法為了降低排隊延時,實現(xiàn)了超短隊列,因此會導(dǎo)致交換機(jī)緩沖區(qū)的占用較小,從而影響各個交換機(jī)上游節(jié)點對于長流的傳輸??紤]到此次實驗產(chǎn)生的流文件中,長流的流量占用約為總流量的58.76%,而在實際的應(yīng)用中這一占比可能會更高,HPCC和PINT的性能可能會進(jìn)一步下降。
配置3為aA=0.5,aL=aS=0.25,這一組數(shù)值的設(shè)置模擬的是更為看重短流的應(yīng)用,選擇了All-reduce流作為評價的重點。因為在網(wǎng)絡(luò)的各類短流中,All-reduce這類突發(fā)性的局部范圍的短流是更加不容易被優(yōu)化的。因為其突發(fā)性強,且出現(xiàn)后會迅速地導(dǎo)致較為嚴(yán)重的擁塞,而各類擁塞控制方法對于擁塞的反應(yīng)總是需要時間的,所以會導(dǎo)致各種方法對于All-reduce流的優(yōu)化效果都不夠理想。從結(jié)果來看,5種方法的指標(biāo)與配置1數(shù)據(jù)相比都有上升,表明All-reduce流的延時對于5種方法都是性能瓶頸。結(jié)合延時信息不難發(fā)現(xiàn),在配置3中,對于長度相同的短流和All-reduce流,延時卻存在著明顯的差異,這也表明All-reduce流的優(yōu)化難度。在注重短流延時的應(yīng)用中,如何提高擁塞控制方法對于擁塞的敏感度和反應(yīng)速度,以提高對于All-reduce流的優(yōu)化能力,是各類擁塞控制方法應(yīng)該研究的重點。
E級高性能計算時代已經(jīng)到來,互連通信是HPC系統(tǒng)的關(guān)鍵組成部分,擁塞問題是HPC互連網(wǎng)絡(luò)性能提升的主要限制之一。本文針對HPC互連網(wǎng)絡(luò)的擁塞問題進(jìn)行研究,實驗分析了主要擁塞控制方法的設(shè)計思想、工作原理及其優(yōu)缺點;設(shè)計了用于HPC網(wǎng)絡(luò)擁塞控制模擬的流量模型和流文件生成工具;根據(jù)高性能網(wǎng)絡(luò)對擁塞控制算法的需求,設(shè)計了綜合的擁塞控制算法評價指標(biāo);使用提出的流量模型,在較大規(guī)模網(wǎng)絡(luò)中對不同擁塞控制方法進(jìn)行模擬,并基于所提出的評價指標(biāo)對幾種擁塞控制方法的性能進(jìn)行了分析和評估。