轉(zhuǎn)載自:
作者:Rock、付博睿
前言
DCN(Data Center Network)數(shù)據(jù)中心網(wǎng)絡是現(xiàn)代信息技術基礎設施的重要組成部分。它提供了連接與通信的基礎,支撐數(shù)據(jù)中心內(nèi)外部各種應用和服務。作為一個復雜的網(wǎng)絡系統(tǒng),DCN承載著大量數(shù)據(jù)流量和通信需求,為AI、大數(shù)據(jù)、云計算等關鍵技術提供基礎底座。
在傳統(tǒng)DCN中,CPU被用作核心來處理復雜的計算任務和少量數(shù)據(jù)。然而,隨著AI人工智能的迅速發(fā)展,GPU的重要性日益凸顯。作為一種高度并行的硬件加速器,GPU非常適合處理AI所需的大量數(shù)據(jù)。AI的快速發(fā)展不僅增加了對GPU計算能力的需求,還對網(wǎng)絡的傳輸和穩(wěn)定性提出了新的挑戰(zhàn),傳統(tǒng)的DCN已經(jīng)無法滿足AI大模型訓練的需求。在這個背景下,傳統(tǒng)的以CPU為核心的DCN正在向全新的以GPU為核心的星脈AI高性能網(wǎng)絡演進升級。騰訊星脈AI高性能網(wǎng)絡專為AI大模型而設計,提供大帶寬、高利用率以及零丟包的高性能網(wǎng)絡服務,以保障AI大模型的訓練效率。星脈AI高性能網(wǎng)絡架構如圖1所示,包括:高速自研交換機、端網(wǎng)協(xié)同的擁塞控制+負載均衡TiTa+GOR(Global Optimized Routing)、高性能集合通信庫TCCL(Tencent Collective Communication Library)以及端到端運營系統(tǒng)GOM(Global Optimized Monitoring)。
圖1.星脈AI高性能網(wǎng)絡 在傳統(tǒng)DCN中,我們已經(jīng)廣泛應用網(wǎng)絡控制器來實現(xiàn)網(wǎng)絡變更灰度和路由監(jiān)控,以確保網(wǎng)絡的穩(wěn)定性,此時的控制器叫做DCN控制器1.0。然而,在星脈AI高性能網(wǎng)絡中,由于AI大模型訓練需要處理大量的數(shù)據(jù),同時各種并行模式和加速框架也引入了海量的通信需求,因此為了保證AI大模型訓練的效率,超高速且無擁塞的網(wǎng)絡成為至關重要的前提條件。在這個背景下,我們將網(wǎng)絡控制器進一步演進升級到DCN控制器2.0—GOR控制器。GOR是星脈AI高性能網(wǎng)絡的關鍵技術之一,通過GOR控制器的精細控制,實現(xiàn)網(wǎng)絡流量合理規(guī)劃和動態(tài)調(diào)整,從而達到超低時延與超高帶寬,保障AI大模型訓練效率。
DCN控制器1.0,網(wǎng)絡穩(wěn)定性的守護者
網(wǎng)絡變更灰度:DCN中網(wǎng)絡設備數(shù)量多、組網(wǎng)復雜、流量復雜,并且單臺設備承載的流量大。日常運營中經(jīng)常涉及設備的維修替換,這就需要處理設備從在線到隔離再到重上線的過程。設備處于隔離狀態(tài)時沒有入向流量,從隔離狀態(tài)轉(zhuǎn)換到重上線狀態(tài)過程中重新對外引流。此時如果設備有問題(硬件、配置等),影響的用戶范圍非常廣,穩(wěn)定性風險很高。因此我們在實際運營中,使用DCN控制器將少部分流量引到隔離設備上。通過觀察灰度流量是否正常來判斷設備是否正常。如果灰度流量有問題則快速回滾,將故障影響面控制到最小,保證網(wǎng)絡的穩(wěn)定性。
路由監(jiān)控:路由監(jiān)控的目標是對DCN內(nèi)外網(wǎng)路由進行采集、監(jiān)控,對不符合預期的路由進行提前告警和控制,優(yōu)化路由自動管理,提前發(fā)現(xiàn)網(wǎng)絡故障隱患。DCN承載的業(yè)務復雜多樣,內(nèi)、外網(wǎng)路由策略各不相同,甚至部分業(yè)務還對路由存在特殊需求,因此如何確保各種場景下海量路由的正確性,是網(wǎng)絡運營的一個重要挑戰(zhàn)。 在路由監(jiān)控中,DCN控制器與網(wǎng)絡設備建立BGP鄰居,收集設備上的路由,按照各種功能和業(yè)務需求進行監(jiān)控:功能類監(jiān)控面向通用場景,支持不同維度路由查詢、回溯,監(jiān)控特定路由(特定大段路由、匯總路由)等;業(yè)務類監(jiān)控針對具體業(yè)務,路由的產(chǎn)生者是業(yè)務網(wǎng)關,不同業(yè)務路由策略各不相同,包括主備路由監(jiān)控、anycast路由監(jiān)控、路由震蕩監(jiān)控、公網(wǎng)路由掩碼監(jiān)控以及路由來源監(jiān)控等。通過多維度的路由監(jiān)控,確保網(wǎng)絡的正確性、一致性。
星脈GOR控制器(DCN控制器2.0),網(wǎng)絡流量工程的領航員
AI網(wǎng)絡中的數(shù)據(jù)流就好像拉力賽道上飛馳的賽車,在賽道上高速前進。但是由于賽道的寬度有限,如果一條賽道上同時有多輛賽車,那么賽車就需要降低速度來避免碰撞;AI網(wǎng)絡中的數(shù)據(jù)流也類似,如果一條網(wǎng)絡鏈路上有多條數(shù)據(jù)流,那么不同流的總和容易超過鏈路的最大帶寬,從而出現(xiàn)擁塞導致流降速,最終影響AI大模型的訓練效率。為了避免上述沖突,拉力賽中需要領航員規(guī)劃賽車路線,避免多輛賽車同時通過賽道。此外在出現(xiàn)突發(fā)狀況時,領航員快速調(diào)整路線避免賽車間沖突碰撞,如圖2所示。在AI網(wǎng)絡中,我們也需要類似負責規(guī)劃與調(diào)度的領航員,這就是星脈網(wǎng)絡GOR控制器。一方面GOR控制器預先規(guī)劃網(wǎng)絡中數(shù)據(jù)流路徑,避免擁塞;另一方面在擁塞發(fā)生時(例如網(wǎng)絡鏈路故障),GOR控制器動態(tài)調(diào)度快速消除擁塞,從而保證AI大模型的訓練效率。
●AI大模型網(wǎng)絡特征 組網(wǎng)復雜。AI大模型網(wǎng)絡通常組網(wǎng)復雜、流量復雜。圖3分別是4K卡和16K卡集群的組網(wǎng)抽象圖。在如此復雜的網(wǎng)絡拓撲下,多任務并行以及相應的網(wǎng)絡流量規(guī)劃和網(wǎng)絡流量擁塞調(diào)度都面臨著極大的挑戰(zhàn)。
圖3.4K、16K卡集群組網(wǎng)抽象圖 局部負載不均。負載均衡是網(wǎng)絡領域的經(jīng)典問題。如何均衡網(wǎng)絡流量、提高利用率、避免擁塞,從而保證業(yè)務質(zhì)量是網(wǎng)絡持續(xù)追求的目標。雖然我們的網(wǎng)絡帶寬越來越大(設備交換芯片容量從6.4T、12.8T、25.6T到51.2T),但伴隨著業(yè)務的井噴式發(fā)展,服務器端側的帶寬也在快速增加(從10G、25G、100G到200G)。因此,大象流或者局部負載不均導致的網(wǎng)絡擁塞在DCN仍然很常見,尤其在AI網(wǎng)絡中問題更加突出。這是因為AI大模型業(yè)務特征是業(yè)務流數(shù)少,單流帶寬大。這種流量模型對網(wǎng)絡基于流Hash的負載均衡機制“并不友好”,容易造成局部熱點,從而產(chǎn)生擁塞。 我們在現(xiàn)網(wǎng)運營中觀察到很多AI網(wǎng)絡集群并不能達到理想的負載均衡,圖4是某個AI集群的網(wǎng)絡流量分布熱力圖,顏色越深代表鏈路上流量越大,可以看到明顯的負載不均。
圖4. 網(wǎng)絡鏈路流量分布 AI網(wǎng)絡性能決定GPU集群算力,負載不均引起的網(wǎng)絡擁塞會導致有效帶寬降低、端側通信時長增加,從而影響AI大模型的訓練效率。我們可以采用多種指標衡量網(wǎng)絡擁塞,例如:擁塞計數(shù)、延時、帶寬占用率、緩存隊列等。從圖5可以看出,ECN計數(shù)突增的同時,伴隨端側計算通信時長顯著增加,嚴重降低AI大模型訓練效率、影響訓練成本。
圖5.ECN計數(shù)與端側通信時長 流量可預測。AI大模型網(wǎng)絡流量具有高度可預測特性。從宏觀角度看,一旦AI大模型訓練任務啟動,我們可以提前確定哪些節(jié)點之間需要進行通信,以及在何時、如何進行通信;從微觀角度看,節(jié)點之間的通信數(shù)據(jù)流呈現(xiàn)出高度周期性的特點。圖6分別是RDMA QP(Queue Pair)維度和五元組數(shù)據(jù)流維度的趨勢圖,可以看到無論從單個QP還是多個QP聚合的五元組數(shù)據(jù)流維度統(tǒng)計,流量都呈現(xiàn)明顯的周期性。
圖6.QP、流趨勢圖 ●GOR控制器設計 GOR控制器包括兩部分:訓練任務啟動前的預規(guī)劃以及訓練任務進行中的動態(tài)調(diào)度。預規(guī)劃階段,控制器通過結合全局網(wǎng)絡拓撲與任務信息,為每條業(yè)務流規(guī)劃最佳路徑;動態(tài)調(diào)度階段,將熱點區(qū)域的數(shù)據(jù)流進行調(diào)度換路,繞開擁塞,從而保障AI大模型的訓練效率。預規(guī)劃的目標是盡量減少、避免網(wǎng)絡擁塞;動態(tài)調(diào)度的目標是當擁塞發(fā)生時(例如網(wǎng)絡鏈路故障),通過對相關流進行動態(tài)換路來消除擁塞。線上數(shù)據(jù)表明,通過GOR控制器的調(diào)度,網(wǎng)絡擁塞時間縮短超過90%。 GOR控制器包括三個部分:采集、計算和調(diào)度/監(jiān)控,總體控制流程如圖7所示。采集階段,GOR控制器通過分析秒級Telemetry數(shù)據(jù)找到出現(xiàn)擁塞的交換機端口以及業(yè)務流詳情,按照一定的策略選出需要調(diào)度走的業(yè)務流。
圖7. GOR控制器流程 路徑計算的核心訴求是結合網(wǎng)絡實時拓撲,為上一階段選出的每個要調(diào)度的流找到最優(yōu)新路徑。同時要對新路徑進行容量評估,避免調(diào)度到新路徑后產(chǎn)生新的擁塞。 調(diào)度的方法是修改流路徑,具體有兩種方式:下發(fā)調(diào)度路由和TCCL端側聯(lián)動。下發(fā)調(diào)度路由方式中,控制器通過向網(wǎng)絡設備下發(fā)路由從而修改對應流路徑;TCCL端側聯(lián)動方式中,控制器與TCCL聯(lián)動修改流路徑,最終繞開出現(xiàn)擁塞的交換機端口。 調(diào)度下發(fā)后,控制器對影響的訓練任務流進行監(jiān)控。當訓練任務結束后需要撤銷相應的調(diào)度路由,避免AI訓練任務變化后,之前下發(fā)的調(diào)度路由對新任務產(chǎn)生非預期的影響。 ●GOR控制器規(guī)劃、調(diào)度效果 GOR預規(guī)劃的目標是避免擁塞,保證端側通信速率,從而保障AI大模型訓練效率。預規(guī)劃階段,控制器為每條數(shù)據(jù)流進行高速算路,單條路徑計算時間在微秒級,萬條路徑計算時間小于1秒。圖8所示是千卡任務預規(guī)劃后的網(wǎng)絡鏈路流量分布,顏色越深代表鏈路上流量越大,顏色相近代表鏈路負載均衡,與圖4對比可以看到GOR預規(guī)劃對網(wǎng)絡負載均衡效果顯著。預規(guī)劃可以實現(xiàn)95%以上的業(yè)務均衡,在業(yè)務親和情況下可以實現(xiàn)近100%無擁塞。
圖8.預規(guī)劃后網(wǎng)絡流量分布 預規(guī)劃提高網(wǎng)絡負載均衡度,從而保證端側通信速率。圖9是AllReduce通信模型下,GPU集群針對不同Message size預規(guī)劃前后的通信速率性能測試結果。可以看到GOR預規(guī)劃對端側通信速率提升明顯,AllReduce性能提升近20%。
圖9.AllReduce性能對比 GOR動態(tài)調(diào)度的目標是當擁塞出現(xiàn)時快速消除擁塞。我們對線上某個AI網(wǎng)絡集群的ECN告警數(shù)與告警時長持續(xù)監(jiān)控一個月,如圖10所示。開啟GOR控制器調(diào)度后,擁塞告警數(shù)與告警時長均顯著下降,告警恢復時間小于3分鐘,GOR調(diào)度對網(wǎng)絡總體的擁塞消除效果顯著。
圖10. 某AI網(wǎng)絡集群ECN告警統(tǒng)計 為了更加直觀展示GOR控制器調(diào)度效果,我們選取一些典型業(yè)務場景進行分析說明。圖11是一個線上發(fā)生一般擁塞后,GOR控制器調(diào)度消除擁塞的效果。這種流量模型一般常見于AllReduce通信場景。從圖中可以看到,GOR控制器執(zhí)行調(diào)度后,交換機端口的ECN數(shù)歸零,代表擁塞立即消除。
圖11. 一般擁塞鏈路上的GOR調(diào)度 圖12是線上一個網(wǎng)絡鏈路嚴重擁塞時GOR的調(diào)度效果。這種流量模型通常出現(xiàn)在多個訓練任務疊加場景,以及All2All通信場景。從圖中可以看到,初始ECN數(shù)值超過了10000,表明鏈路已經(jīng)嚴重擁塞。在首次調(diào)度后,GOR控制器成功將擁塞鏈路中的最大流調(diào)度至目的鏈路-1,這使得擁塞鏈路的帶寬利用率顯著降低,同時ECN計數(shù)也得到一定程度緩解,降至2000左右。在GOR控制器完成告警恢復校驗后,繼續(xù)調(diào)度,將鏈路中的次大流調(diào)度至目標鏈路-2,從而使ECN數(shù)值進一步降至約1000左右。經(jīng)過兩次調(diào)度,擁塞鏈路的ECN數(shù)值仍然很高,GOR繼續(xù)第三次調(diào)度,最終成功將ECN數(shù)值降低至500以下,從而消除了該鏈路的擁塞。
圖12.嚴重擁塞鏈路上的GOR調(diào)度 圖13是一臺機器網(wǎng)卡的RDMA速率監(jiān)控,可以看到GOR控制器調(diào)度后,網(wǎng)卡的出方向速率持續(xù)升高,最終達到預期值。
圖13.GOR調(diào)度對網(wǎng)卡出向速率的影響 AI大模型的算力基礎是GPU,不同廠商異構GPU的通信模式、流量模型差異很大。GOR控制器在不同GPU集群中都可以顯著消除網(wǎng)絡擁塞,加速端側通信速率,從而保證AI大模型訓練效率。圖14、圖15分別所示在A、B兩種GPU集群中針對不同Message size調(diào)度前后的All2All測試結果,可以看到GOR調(diào)度后效果顯著,All2All性能提升30%~50%。
圖14. A廠商GPU集群調(diào)度開啟前后All2All性能對比
圖15. B廠商GPU集群調(diào)度開啟前后All2All性能對比 實際場景中,GOR控制器預規(guī)劃與動態(tài)調(diào)度結合使用。圖16所示在GPU集群All2All性能測試場景中,預規(guī)劃提升All2All性能45%以上,顯著解決負載不均問題。當網(wǎng)絡鏈路故障時,性能下降約20%。檢測到擁塞后,GOR控制器動態(tài)調(diào)度將性能恢復到理想水平。
圖16. 各場景下All2All性能 ●GOR控制器業(yè)務級運營效果 除了規(guī)劃和調(diào)度功能外,GOR控制器還實時監(jiān)控網(wǎng)絡中流的五元組信息,并結合業(yè)務側的AI大模型訓練任務,以提供星脈網(wǎng)絡的業(yè)務級運營能力。業(yè)務級運營將底層網(wǎng)絡流的五元組信息與上層的AI大模型訓練任務結合起來,以便在訓練任務出現(xiàn)問題時快速定位相應的網(wǎng)絡流,同時結合規(guī)劃和調(diào)度信息判斷是否與網(wǎng)絡有關。同樣地,當檢測到網(wǎng)絡擁塞時,能夠快速找到相關的訓練任務信息,并判斷其對業(yè)務的影響。 圖17是GOR控制器對網(wǎng)絡流五元組信息的實時監(jiān)控效果,網(wǎng)絡中任一時刻、任一條鏈路上的所有流的五元組信息均可以完整記錄,并且可以根據(jù)某個五元組還原對應流在網(wǎng)絡中的完整路徑。
圖17.網(wǎng)絡流五元組信息實時監(jiān)控 圖18是訓練任務與端側節(jié)點的對應關系,GOR控制器通過聚合網(wǎng)絡流的五元組信息并結合端側和訓練框架信息,還原出訓練任務以及與訓練任務相關的所有端側節(jié)點信息。
圖18.訓練任務與端側節(jié)點對應關系
總結
作為現(xiàn)代信息技術的基礎設施,DCN承載了AI、大數(shù)據(jù)、云計算等應用的海量數(shù)據(jù)流量和通信需求。尤其隨著ChatGPT、Sora的出現(xiàn),AI大模型引爆了新一輪算力網(wǎng)絡需求浪潮,傳統(tǒng)的以CPU為核心的DCN演進升級到了全新的以GPU為核心的星脈AI高性能網(wǎng)絡。在傳統(tǒng)DCN中,我們應用DCN控制器1.0實施網(wǎng)絡變更灰度和路由監(jiān)控來保證網(wǎng)絡的穩(wěn)定性;在星脈AI高性能網(wǎng)絡中,DCN控制器1.0進一步演進升級到星脈GOR控制器。星脈GOR控制器通過精細控制實現(xiàn)網(wǎng)絡流量合理規(guī)劃和動態(tài)調(diào)整,并提供業(yè)務級運營能力,全面提升AI大模型的訓練效率。
審核編輯:黃飛
-
控制器
+關注
關注
112文章
16103瀏覽量
177077 -
cpu
+關注
關注
68文章
10804瀏覽量
210839 -
數(shù)據(jù)中心
+關注
關注
16文章
4630瀏覽量
71888 -
AI
+關注
關注
87文章
29806瀏覽量
268106 -
dcnn
+關注
關注
0文章
7瀏覽量
2994
原文標題:星脈網(wǎng)絡解密之——GOR全鏈路流量規(guī)劃與擁塞控制
文章出處:【微信號:SDNLAB,微信公眾號:SDNLAB】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論