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