?

面向高性能計算的互連網絡擁塞控制分析與評估

2024-02-28 01:26張建民孫舜禹
計算機工程與科學 2024年2期
關鍵詞:長流測流延時

孫 巖,張建民,黎 淵,孫舜禹

(國防科技大學計算機學院,湖南 長沙 410073)

1 引言

高性能計算HPC(High Performance Computing)系統已經進入E級規模。E級計算系統具有空前龐大的規模和異常復雜的結構,HPC的許多特性在E級系統上都更加突出,如節點數量和種類更多、互連結構更復雜、通信延時和吞吐率要求更高等。在E級計算系統面臨的眾多挑戰中,數據通信是最為關鍵的因素之一[1]。高吞吐、低延時、高消息率和高利用率的互連通信系統成為提升HPC性能的關鍵支撐技術。

為了提升性能和效率,當前大部分HPC的互連系統都構建在無損的可靠網絡上,通過基于信用或優先級的流控確保傳輸過程中無丟包。由于避免了數據包重傳,無損網絡顯著提高了報文傳輸的性能和效率,但也帶來了新的問題,如數據流公平性、頭阻塞和擁塞傳播等[2]。當網絡中發生局部擁塞時,流控機制會向前反壓,形成擁塞樹,造成全局擁塞,顯著降低網絡的吞吐率,延長數據流的完成時間FCT(Flow Complete Time)。隨著計算系統性能和網絡通信需求的進一步提升,擁塞問題變得更加嚴重,成為HPC互連網絡性能和可靠性提升的最主要限制[3,4]。

解決HPC互連網絡擁塞問題的根本方法是通過端到端的擁塞控制CC(Congestion Control)機制消除局部擁塞。擁塞控制機制通過在網絡中監測擁塞相關信息(如交換機隊列長度或報文往返時間)來判斷或預測局部擁塞的發生,并將該信息反饋到源端,源端基于擁塞信息對數據發送速率進行調整。通過網絡中源節點、目的節點和交換節點多部件的配合,形成控制閉環,端到端的擁塞控制從源頭避免或消除了網絡中的擁塞。

在當前國際領先的HPC系統中,互連網絡主要有以下幾種:NVIDIA/Mellanox公司的InfiniBand系列、Cray公司的Slingshot系列、日本Fujitsu公司的Tofu Interconnect,以及中國的“太湖·之光”Sunway互連和“天河”系統的TH Express系列等[5]。在擁塞控制方面,這幾種互連系統各有特色。然而,專門針對HPC的擁塞控制研究仍然相對較少,這主要是因為HPC系統的互連網絡雖然重要,但仍屬于“小眾”,研究相對較少。此外,HPC的技術細節往往公開較少,特別是擁塞控制這種高性能網絡的關鍵技術。

近年來,數據中心網絡發展迅速,研究人員提出了很多優秀的擁塞控制方法,如DCQCN(Data Center Quantized Congestion Notification)、TIMELY(Transport Informed by MEasurement of LatencY)和HPCC(High Precision Congestion Control)等。雖然數據中心網絡與HPC網絡在系統結構、通信特性、傳輸協議和應用模式等方面有一定區別,但也有很多相似之處,如都具有集中化、高帶寬、低時延和高并發等特點。二者可相互借鑒,相互融合。我們預計,這也將是未來HPC互連網絡發展的趨勢。

當前,將數據中心和HPC互連網絡進行融合設計的工作還比較少,特別是在擁塞控制方面。本文正是基于這一背景,主要解決以下問題:(1) 數據中心的主要擁塞控制方法是否適用于HPC網絡?(2) HPC的仿真模擬應當使用怎樣的流量模型?(3) 如何客觀準確地評估HPC網絡的擁塞控制機制效果?

2 擁塞控制方法分析與評估

近十幾年來,數據中心網絡快速發展,出現了很多優秀的擁塞控制方法。一些擁塞控制技術成功應用于大規模數據中心,取得了很好的效果。

為了在數據中心網絡中實現數據傳輸的低延遲、高吞吐和高容忍度,斯坦福大學聯合微軟研究院于2010年提出DCTCP(Data Center Transmission Control Protocol)[6],其在交換機上使用簡單的主動隊列管理和閾值標記,再在接收端將標記包傳回發送節點,發送方維護數據包標記估值并定時更新。DCTCP比TCP(Transmission Control Protocol)的吞吐量更高,緩沖區占用更少,并具有高突發容限和低延遲。然而,DCTCP的控制方式仍然簡單,在平均隊列長度、數據吞吐率等方面有較大的優化空間,此外也不支持遠程直接內存訪問RDMA(Remote Direct Memory Access)等無損網絡。

RDMA技術在數據中心網絡中被大規模采用,但PFC(Priority-based Flow Control)風暴和死鎖問題凸顯。為了解決該問題,微軟公司于2015年提出DCQCN擁塞控制方法,并將其部署在數據中心[7]。DCQCN結合DCTCP的顯式反饋和QCN(Quantized Congestion Notification)[8]的速率控制,可以在PFC機制觸發前緩解擁塞,減少PFC觸發,較好地解決了PFC引起的公平性和受害流問題,成為數據中心中最經典的擁塞控制技術之一。但是,DCQCN很難實現速率和網絡狀態的精確匹配,流延時較大,并且參數眾多,參數調整困難。

針對RDMA的擁塞問題,谷歌也于2015年提出了TIMELY擁塞控制方法[9]。與DCQCN不同的是,TIMELY借助的擁塞標記信號是報文往返時間RTT(Round-Trip Time),對延遲梯度作出反應。這是因為延遲梯度具有較好的穩定性和收斂性,無需等待隊列形成,有助于實現低延遲。TIMELY在提供高帶寬的同時還能夠保持較低的延遲,并且控制都在端節點上完成,無需交換機支持,具有更好的可部署性。但是,TIMELY對基于RTT信息的擁塞控制反應相對偏慢;隊列長度和公平性無法兼顧;反饋抖動引入了噪聲,導致收斂性較差。

阿里巴巴公司于2019年提出一種基于網內遙測INT(In-Network Telemetry)的擁塞控制方法HPCC[10]。HPCC利用INT信息獲得精確的鏈路負載信息,能夠對流量進行更準確的控制。通過智能網卡與交換機的配合,端到端實時抓取擁塞信息,從而精確獲取實時的鏈路負載,并計算合適的發送速率,能夠快速收斂、降低緩存依賴、保證數據公平性。HPCC的FCT相比DCQCN的降低了95%,需調整的參數很少。但是,HPCC傳送INT信息的開銷較大,降低了數據吞吐率;交換機改動較大,難以進行大規模部署。

為了解決HPCC開銷較大的問題,哈佛大學等于2020年提出了PINT(Probabilistic In-band Network Telemetry)技術[11]。PINT將INT信息編碼在多個報文中,同時限制每個報文中INT信息的字節數,從而有效地降低了傳送INT信息帶來的吞吐率開銷。PINT在多個數據包上對INT數據進行編碼,每個數據包的開銷最低可達到1 bit。PINT可實現與HPCC近似的流完成時間,長流吞吐率有顯著改善。但是,PINT是基于概率的算法,當數據流較短時效果不佳;此外,PINT僅進行了中小規模的實驗,還沒有在實際系統中大規模應用。

為了對以上擁塞控制方法的特點進行分析比較,本文搭建了一個小規模的模擬環境,使用相同的網絡拓撲和測試負載對以上幾種擁塞控制方法進行模擬分析,直觀地比較各方法的性能。模擬使用修改的NS-3網絡模擬器[10],使用的網絡拓撲如圖1所示,其中,2號、3號節點為交換機,其余節點為服務器;設置的鏈路帶寬為100 Gbps,鏈路延時為1 μs。

Figure 1 Schematics of network topology and traffic圖1 網絡拓撲結構與流量示意

模擬的流包含2條長流與224條短流。其中2條長流由0號節點和1號節點分別發送到4號節點和5號節點(記為F0和F1)。而短流則是由6號到19號共14個節點分別產生的16條到5號節點的流組成。長流的大小為100 MB,在time=0時開始發送;短流的大小為64 KB,在time=5 ms時開始發送。實驗分別對長流吞吐率、短流完成時間、PFC時間等進行分析和比較。

模擬結果顯示主要的擁塞出現在3號節點接收突發的大量短流時。對于F0而言,它本身與短流并不存在競爭關系,但是如果擁塞控制方法沒有及時根據擁塞情況調整流發送速率,大量短流會引起3號節點的緩沖區溢出,使得F0的吞吐率受到影響。圖2給出了幾種方法的F0和F1流的吞吐率變化情況。

Figure 2 Long flow throughput圖2 長流吞吐率

從圖2可以看出,DCTCP和TIMELY的F0和F1吞吐率出現了明顯的震蕩;DCQCN的F0吞吐率受到短流影響出現降低的情形;HPCC和PINT的F0吞吐率表現較好,沒有受到突發短流的影響,但PINT的F1吞吐率恢復較慢。

除了長流的吞吐率,短流的完成時間FCT也是重要的性能指標。本文對每種方法中短流的FCT進行統計并生成累積分布函數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表現出長尾的特點,說明短流間的公平性表現不佳。

表1列出了2條長流的吞吐率和224條短流的FCT??梢钥吹?HPCC和PINT的F0吞吐率較好,受到突發短流的影響較小,同時對F1進行了較好的速率控制,因此短流的FCT也較短,實現了很好的公平性。這是由于HPCC和PINT使用了細粒度的網絡遙測數據進行擁塞控制,可實現更快速和更精確的控制。

Table 1 Results of throughput and FCT

本文對每種方法的PFC時間進行統計,如圖4所示??梢钥闯?在無擁塞控制機制時,報文發送處于失控狀態,如果網絡中出現擁塞會觸發PFC,使得鏈路報文發送暫停,并快速向前級傳播,造成PFC風暴;DCQCN和TIMELY的PFC時間也很長,說明這2種方法對報文發送的控制并不能與網絡狀態很好地匹配;HPCC和PINT的PFC時間與其它方法相比小1個數量級,表明其速率控制機制能夠更好地與網絡狀態相匹配。

Figure 4 PFC time圖4 PFC時間

從以上分析可以看到,衡量一種擁塞控制方法的優劣,與長流的吞吐率、短流的完成時間及觸發的PFC時間相關,此外,還有隊列長度、打標數量等多個指標與之相關。如何將這些評價指標合理地結合,并針對HPC網絡的特點進行綜合評價,是本文后2節重點討論的內容。

3 HPC網絡擁塞流量模型

數據中心網絡和HPC互連網絡最主要的不同就是流量特性和行為的不同。因此,若要對HPC互連網絡的網絡擁塞控制進行模擬,就需要設計出適用于HPC互連網絡、接近HPC互連網絡真實流量情況的流文件生成工具。

由美國阿貢國家實驗室和Cray公司等開發的GPCNeT(Global Performance and Congestion Network Tests)[12]是適用于實際HPC互連網絡的測試基準,主要用于在HPC互連網絡中產生網絡擁塞并對其進行測量,從而方便對網絡的擁塞控制特性進行評價和比較。GPCNeT適用于各種拓撲結構,用簡單的方式產生復雜的通信模式,很難針對性優化。GPCNeT測試基準獲得了HPC領域的認可,并被應用于多個研究中,但其使用MPI(Message Passing Interface)生成網絡負載,無法直接應用于模擬器中。因此,本文參考GPCNeT的流量生成方法,結合HPC互連網絡模擬的實際需求進行適當簡化,設計了一種HPC互連網絡測試負載流量模型和流文件生成工具,為基于模擬器的HPC擁塞控制實驗提供相應的流文件。

本文提出的流文件生成模型結構如圖5所示。將待測網絡中的節點隨機地分為2部分,其中一部分負責產生待測流(約占整個網絡總節點數的20%),另一部分負責產生背景流(約占整個網絡總節點數的80%,可以根據網絡負載進行參數調節)。待測流是主要進行測試的部分,通過測試這部分流的延時、帶寬等參數對網絡擁塞控制方法的性能作出評估。待測流根據流的大小和特性可以分為長流、短流和All-reduce流,分別用于測試網絡擁塞控制效果的不同指標。背景流的作用則是為了模擬真實網絡中的流量特點,產生擁塞。背景流主要包括Incast流、Broadcast流和All-to-All流,它們可以模擬網絡中常見的流的特性,和待測流競爭帶寬并產生擁塞。為了盡量模擬真實的網絡環境以及保證最終結果的可靠性,所有的節點選擇、流生成都使用隨機的方法,一方面可以保證待測節點較為均勻地分布在整個網絡中,另一方面可以保證產生流的隨機性。

Figure 5 Schematic diagram of flow generation model圖5 流生成模型示意

基于該模型,本文使用Python語言開發了流文件生成工具。根據輸入的節點數和交換機節點號隨機生成2組節點,一組負責待測流的生成,另一組負責背景流的生成。其中,待測流的生成相對固定,由所有節點中的20%產生。而背景流的生成還會受到負載因子的影響,負載因子用于表示網絡中的擁塞程度,較大的負載因子會產生更多的背景流,從而導致更嚴重的擁塞。根據這些參數,流文件生成工具能夠生成相應的流文件。此外還會產生只包含待測流的獨立流文件,用于將模擬結果與加入背景流的情況進行對比。圖6給出了流文件生成的工作流程。

Figure 6 Flow chart of flow file generation圖6 流文件生成流程圖

圖7是網絡負載分別為30%,60%和90%時200個節點的負載分布圖。其中,橫坐標代表源節點,縱坐標代表目的節點,例如若在(40,180)處有點,則表示有一條從40號節點發往180號節點的流。圓點表示待測流,三角表示背景流??梢钥闯?待測流的分布在整個網絡中較為均勻,其中較為集中的背景流為廣播流。

Figure 7 Scatter diagram of flow distribution圖7 流量分布散點圖

4 擁塞控制評價指標

對各種擁塞控制方法的性能進行評價,需要找到能夠有效評判擁塞控制方法性能的指標。在擁塞控制相關研究中,主要的評價指標還是帶寬、網絡利用率、延時和流完成時間等,還沒有一個綜合的評價指標能夠公正地反映擁塞控制的整體性能。此外,在實際應用中,不同場景對網絡擁塞控制的需求可能存在差異,完善的評價指標應可通過參數調節適用于不同的需求場景。因此,需要一種綜合的性能指標,用于分析和評價HPC互連網絡擁塞控制效果。

擁塞控制方法的性能主要取決于長流帶寬與短流延時,但是并不能直接使用模擬的結果作為評價結果??紤]到每次生成的流都具有隨機性,直接使用長流帶寬和短流延時作為評價指標可能會導致模擬實驗結果差別較大,且無法生成標準化的結果。因此,可以對長流帶寬和短流延時進行標準化處理。

對于長流帶寬,使用式(1)作為評價指標:

SL=Li/Lc

(1)

其中,Li表示僅包含待測流i時的長流帶寬,Lc表示加入擁塞流之后的待測流長流帶寬。

對于短流延時,使用式(2)進行標準化:

SS=Sc/Sj

(2)

其中,Sj和Sc分別表示僅包含待測短流j的延時和加入擁塞流之后的待測短流延時。

All-reduce流作為特殊的短流,其評價指標與短流的類似,但是需要將其作為獨立指標加入到總體評價指標中,如式(3)所示:

SA=Ac/Ak

(3)

其中,Ak和Ac分別表示僅包含待測All-reduce流k的延時和加入擁塞流之后的待測All-reduce流延時。這種評價指標評估的是擁塞控制方法的優化程度,而不是直接表示帶寬、延時的數據,從而避免了評價指標因為每次產生的流文件不同而導致較大出入。另一方面,使得評價指標可以同時包含長流帶寬、短流延時和All-reduce流延時等幾方面的信息。

因此,擁塞控制評價指標可以表示為式(4):

S=SL+SS+SA

(4)

大多數情況下,認為長流帶寬、短流延時和All-reduce流延時的重要性是相同的,通常3部分優化水平較為平均的結果是最為優秀的。短流延時優化較好但導致了長流的帶寬急劇下降或者相反的情況往往是不夠優秀的。因此,可以加入表征優化平均程度的指標,即方差項,如式(5)所示:

(5)

但是,在很多特殊的網絡實際應用中,長流帶寬和短流延時的重要程度是不同的。需要加入一項表征長流帶寬與短流延時的重要性的評價指標,用于調整二者在最終評價指標中的占比。

因此,最終的評價指標公式如式(6)所示:

S=aL×SL+aS×SS+aA×SA+W

(6)

其中,aL、aS和aA分別為長流帶寬、短流延時和All-reduce流延時的占比因子,通常情況下取值均為1/3。在實際使用時,可以根據需求調節。S為最終的評價指標,稱為性能下降參數,它的大小表征了方法在擁塞情況下相對空閑情況的性能下降程度。

本文通過一個簡單網絡的模擬實驗說明該評價指標的實際應用場景。模擬選擇的網絡為啞鈴型拓撲,即2個交換機直連,各連接5個服務器節點。本文對DCQCN、TIMELY和HPCC進行了網絡模擬,結果如圖8所示。

Figure 8 Experimental results of evaluation metric圖8 評價指標實驗結果

從圖8可以看出,3種CC方法對短流的延時優化性能接近,而對于長流帶寬的優化HPCC性能最佳,All-reduce流的性能在加入擁塞流前后沒有太大變化。這是由于本文實驗選用的All-reduce流在網絡中的位置與背景流相對獨立,因此受背景流的影響造成的性能下降較少。

5 大規模網絡擁塞控制模擬評估

本文大規模實驗采用多根胖樹結構,共計376個節點,其中包括56個交換機節點,320個服務器節點,其拓撲如圖9所示。這種拓撲結構是HPC中最常見的網絡拓撲,使用該結構目的是盡量使模擬實驗更加接近真實情況。鏈路帶寬設置為100 Gbps,鏈路延時為1 μs。流文件采用本文設計的流文件生成工具生成,共計產生了19 181條流,具體參數如表2所示。

Table 2 Traffic statistics of large-scale experiment

Figure 9 Topology of large-scale experiment圖9 大規模實驗拓撲結構

實驗的流量模仿實際網絡中的流量,從統計數據可以看出,所有的長流(包括待測長流和背景All-to-All流)在所有流數量中只占了1.4%,但是卻提供了58.76%的流量,這是為了模擬真實情況下HPC中的網絡流量環境。實驗力求能在負載允許的情況下盡可能接近真實情況。

根據本文提出的評價指標對幾種擁塞控制方法進行評價,實驗結果表3所示。表3中,后綴為實驗共選擇了3組不同的配置。配置1為aL=aS=aA=1/3,表示評價指標中各種流的權重相同。在此種情形下,5種方法對于長流帶寬和短流延時的優化性能比較接近,而HPCC和PINT對于All-reduce流的優化能力較強,最終成為性能較優的2種擁塞控制方法。All-reduce流的形成源于某個服務器對其它幾個服務器同時發出或接受短流,屬于突發且會造成較為嚴重擁塞情況的一類流。其它3種方法是基于顯式擁塞通知ECN(Explicit Congestion Notification)標記或RTT進行擁塞判斷的,在短時間感知網絡擁塞情況變化的能力較弱,對于All-reduce這類突發流的調節能力相應較弱。而HPCC和PINT是基于INT的,每當一個報文發送完成后,發送方都能夠根據響應報文ACK(ACKnowledgement)中攜帶的INT數據獲得網絡中的擁塞信息,可以及時地調整自身的發送速率,從而避免擁塞情況的產生。

Table 3 Results of large-scale experiment

iso的行表示在只有待測流獨立運行時的各項指標數據。根據以上數據,圖10給出了對aL、aS、aA分別取不同值時,5種擁塞控制方法的最終性能下降情況。

Figure 10 Experimental results of performance degradation with different parameters圖10 不同參數下性能下降實驗結果

配置2為aL=0.5,aS=aA=0.25,這是為了模擬長流帶寬更為關鍵的應用情形,例如大規模的存儲服務等,需要網絡為長流提供足夠的帶寬來滿足大量長流的并行傳輸。與配置1不同,在這種應用情形下HPCC和PINT與其它方法相比優勢不再明顯。HPCC和PINT對長流帶寬的支持性較差,是因為一方面INT信息的傳送對長流造成了一定的開銷,使得長流的有效帶寬有所下降;另一方面,這2種方法為了降低排隊延時,實現了超短隊列,因此會導致交換機緩沖區的占用較小,從而影響各個交換機上游節點對于長流的傳輸??紤]到此次實驗產生的流文件中,長流的流量占用約為總流量的58.76%,而在實際的應用中這一占比可能會更高,HPCC和PINT的性能可能會進一步下降。

配置3為aA=0.5,aL=aS=0.25,這一組數值的設置模擬的是更為看重短流的應用,選擇了All-reduce流作為評價的重點。因為在網絡的各類短流中,All-reduce這類突發性的局部范圍的短流是更加不容易被優化的。因為其突發性強,且出現后會迅速地導致較為嚴重的擁塞,而各類擁塞控制方法對于擁塞的反應總是需要時間的,所以會導致各種方法對于All-reduce流的優化效果都不夠理想。從結果來看,5種方法的指標與配置1數據相比都有上升,表明All-reduce流的延時對于5種方法都是性能瓶頸。結合延時信息不難發現,在配置3中,對于長度相同的短流和All-reduce流,延時卻存在著明顯的差異,這也表明All-reduce流的優化難度。在注重短流延時的應用中,如何提高擁塞控制方法對于擁塞的敏感度和反應速度,以提高對于All-reduce流的優化能力,是各類擁塞控制方法應該研究的重點。

6 結束語

E級高性能計算時代已經到來,互連通信是HPC系統的關鍵組成部分,擁塞問題是HPC互連網絡性能提升的主要限制之一。本文針對HPC互連網絡的擁塞問題進行研究,實驗分析了主要擁塞控制方法的設計思想、工作原理及其優缺點;設計了用于HPC網絡擁塞控制模擬的流量模型和流文件生成工具;根據高性能網絡對擁塞控制算法的需求,設計了綜合的擁塞控制算法評價指標;使用提出的流量模型,在較大規模網絡中對不同擁塞控制方法進行模擬,并基于所提出的評價指標對幾種擁塞控制方法的性能進行了分析和評估。

猜你喜歡
長流測流延時
渠道斷面自動測流系統在位山灌區測水量水中的應用
水文測流技術方法與進展分析
基于級聯步進延時的順序等效采樣方法及實現
我的愛就是長流的水
曹店灌區渠首測流存在的問題及對策
法治,讓赤水河碧水長流
愿歲月簡單愛長流
細水長流的感覺
M9在建設在線雷達測流設備選址中的應用
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合