這個演算法不一般,控制擁塞有一手!

天翼雲開發者社群發表於2022-12-05

 

數字時代下,遠端辦公、線上協同成為剛需,直播帶貨等業務模式盛行,資料流量爆炸式增長,低時延、高流暢的網路傳輸訴求給資料中心的處理能力帶來了極大挑戰。 RDMA作為一種新型網路傳輸技術,可大幅提升網路傳輸實效,幫助網路IO密集的業務(比如分散式儲存、分散式資料庫等)獲得更低的時延以及更高的吞吐,在提升資料中心整體算力方面發揮著重要作用。


隨著 RDMA被越來越多的資料中心所採用,RDMA擁塞控制也受到了廣泛的關注。經典RDMA需要配置Priority Flow Control (PFC)來保證不丟包,進而形成無損網路以實現高效能。但PFC是一種粗粒度機制,它以埠(或埠加優先順序)級別執行,不區分流,可能會導致擁堵蔓延,進而出現不公平現象、受害者流、PFC deadlock、PFC storm等一系列效能問題。


緩解 PFC缺陷的根本性方案是使用一個流級別(per-flow)的擁塞控制演算法。如果想要業務或者應用真正實現RDMA的高效能優勢,設計、使用和配置符合業務場景需求的擁塞控制演算法是重中之重。針對此, 天翼雲組建高效能網路團隊,聚焦下一代高效 CC演算法設計,打造適應天翼雲網路結構和業務場景的擁塞演算法, 最佳化使用者體驗。

擁塞原因
在網路交換機中,當入口流量大於出口流量的頻寬時會發生網路擁塞。在資料中心中產生擁塞的原因較多,其中關鍵且常見的有以下 3種:

①收斂比(總輸入頻寬/總輸出頻寬)

資料中心網路架構設計時,從成本和收益兩方面來考慮,多數會採取非對稱頻寬設計,即上下行鏈路頻寬不一致。當交換機連線的伺服器上行發包總速率超過上行鏈路總頻寬時,就會在上行口出現擁塞。因而收斂比越高,越容易造成擁塞。

②ECMP等價多路徑負載均衡

當前資料中心網路多采用 Fabric架構,採用ECMP來構建多條等價負載的鏈路,並HASH選擇一條鏈路來轉發。ECMP雖然簡單,但在選擇鏈路過程中沒有考慮到所選鏈路本身是否有擁塞,對於已經產生擁塞的鏈路來說,很可能加劇鏈路的擁塞。

③Incast問題

 

Incast是Many-to-One的通訊模式。在資料中心雲化的大趨勢下,這種通訊模式常常發生,尤其是那些以Scale-Out方式實現的分散式儲存和計算應用,包括Hadoop、MapReduce、HDFS等。此外,交換機的快取可以處理暫時的擁塞,但是當擁塞太久時,交換機的快取就會過載。當交換機快取過載時,若交換機開啟了WERD功能,則會根據演算法將接收到的資料包丟棄。 

 

流控演算法研究趨勢
為解決資料中心內的擁塞問題,天翼雲高效能網路團隊的廖怡博士對業界幾個主流演算法進行了詳細分析和總結,如下所示

 

 


 

 

基於上述對四類主流演算法的分析,天翼雲高效能網路團隊還總結出業界 CC演算法研究趨勢,即儘可能破除對PFC的依賴,降低排隊時間,並且儘可能地簡化交換機的配置,簡化控制引數,維護較淺的佇列深度,進而得到一個高速的、NO-PFC、NO-ECN、Zero Queuing的CC演算法。


若不依賴交換機的配合,僅依靠網路卡本身實現端到端的流控,則基本採用 RTT作為擁塞感知的訊號,實現擁塞控制;
若依賴交換機的配合,逐跳記錄網路擁塞控制,則基本是基於 ECN實現,或是在交換機上部署其他自研的演算法與網路卡側配合。

 

天翼雲自研擁塞控制演算法特性
為了適應資料中心不同的流量場景,提供極致流暢的傳輸效能及超低時延、高可靠保障,天翼雲提出了基於 RDMA的天翼雲自研擁塞控制演算法,適用於天翼雲自研整個RDMA網路,其支援特性主要如下:
①支援PFC和DCQCN基本流控演算法; 
②支援自研的PFC-Free的擁塞控制演算法,無需交換機的配合,實現no-PFC、no-ECN特性;
③支援RoCEv2的選擇重傳功能;
④支援基於AI技術的流量模型訓練,訓練模型引數,自適應傳送引數;
⑤支援長距、跨POD/AZ的RDMA擁塞控制;
⑥支援可程式設計CC。

 

天翼雲自研擁塞控制演算法概述
針對流控演算法研究趨勢,在天翼雲的場景中,天翼雲高效能網路團隊定義了兩種場景:基於自研智慧網路卡和基於自研智慧網路卡 +自研交換機的擁塞控制演算法。
①基於自研智慧網路卡的擁塞控制演算法

 

 

 天翼雲自研擁塞控制演算法基本思想——2段式端到端擁塞控制,用於RDMA的擁塞控制
 第1階段:起始頻寬探測,用於啟動時初始傳送視窗設定
2階段:Receiver-driven的端到端擁塞避免方法  接收側檢測本地的接收快取狀態,得到本地可用容量(Available Capacity,AC)並量化成Credit值; •  接收側根據容量閾值觸發擁塞控制,向傳送端傳送 ACK報文,並在報文中攜帶當前節點可用的Credit; •  傳送端根據接收到的 ACK報文的RTT和Credit, 調節傳送視窗的大小。 


②基於自研智慧網路卡+自研交換機的擁塞控制演算法

 

 天翼雲自研擁塞控制演算法基本思想的擴充套件
 自研紫金網路卡和紫金橋交換機都具備主動擁塞通知能力,可向傳送端主動傳送網路擁塞狀態資訊,避免擁塞狀態響應過慢,提高大規模、長距網路的擁塞控制能力;
 紫金橋交換機和紫金網路卡複用擁塞感知模型,統一報文格式,簡化接收端建模,提高系統可擴充套件性;
 網路卡和交換機支援可程式設計特性,實現不同組網場景的靈活配置;
 可擴充套件性強,適合大規模網路的增量部署。


結合目前各大廠商已經商用的資料中心流控演算法來看,業界關注的重點是可部署性,研究的重點是儘可能破除對 PFC的依賴,並且儘可能地簡化交換機的配置、簡化控制引數,得到高速、NO-PFC、NO-ECN的CC演算法。


天翼雲自研擁塞控制演算法在不依賴交換機的配合場景中,僅依靠網路卡本身便可利用 RTT作為擁塞感知的訊號,實現擁塞控制與端到端的流控,實現在中小規模網路的快速部署。同時,由於其不依賴交換機,天翼雲自研擁塞控制演算法在天翼雲從現有資料中心升級到RDMA網路這一過程中起到了極大的加速作用。


在部署有自研交換機的場景中,天翼雲自研擁塞控制演算法則會基於 ECN實現逐跳記錄網路擁塞控制、逐跳感知、精細化控制,僅需增加有限的部署運維複雜度,即可獲得大規模和長距離網路中更佳的擁塞控制能力。


隨著深度學習和人工智慧等新應用的興起 , 網路環境日趨複雜且動態變化,資料中心亟需提升效能以更快地處理更大規模的資料流。憑藉端網融合的加速優勢及天翼雲自研擁塞控制演算法,天翼雲RDMA網路將會取得更加優異的表現,為建設具備低時延、高算力、高效能的新型資料中心提供支撐,為使用者打造穩定高效的網路傳輸環境。

 


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70014251/viewspace-2926730/,如需轉載,請註明出處,否則將追究法律責任。

相關文章