還有在機器學習和AI的技術趨勢下,對計算能力的需求是呈幾何級數上升的,為了滿足日益復雜的神經網絡和深度學習模型,數據中心會存在大量的分布式計算集群,但大量并行程序的通訊延遲,則會極大影響整個計算過程的效率。
另外為了解決數據中心內爆炸式增長的數據存儲和讀取效率問題,利用以太網融合組網的分布式存儲越來越受到歡迎。但因為存儲網絡中數據流以大象流為主,所以一旦因擁塞造成丟包,將會引發大象流重傳,不僅降低效率,還會加重擁塞。
所以從前端用戶的體驗和后端應用的效率來看,眼下對于數據中心網絡的要求是:延遲越低越好,效率越高越好。為了降低數據中心內部網絡延遲,提高處理效率,RDMA技術應運而生,通過允許用戶態的應用程序直接讀取和寫入遠程內存,而無需CPU介入多次拷貝內存,并可繞過內核直接向網卡寫數據,實現了高吞吐量、超低時延和低CPU開銷的效果。
以數據中心當前主流的spine-leaf架構為例,其主要是2級、3級CLOS,少數可能達到5級、6級CLOS。而many-to-one流量模型和all-to-all流量模型,使得這種架構在未來數據中心新場景下存在丟包、時延、吞吐等多方面的挑戰。
圖1 傳統TCP/IP數據傳輸過程
圖2 RDMA數據傳輸過程
傳統的TCP/IP軟硬件架構及應用存在著網絡傳輸和數據處理的延遲過大、存在多次數據拷貝和中斷處理、復雜的TCP/IP協議處理等問題。RDMA(Remote Direct Memory Access,遠程直接內存訪問)是一種為了解決網絡傳輸中服務器端數據處理延遲而產生的技術。RDMA將用戶應用中的數據直接傳入服務器的存儲區,通過網絡將數據從一個系統快速傳輸到遠程系統的存儲器中,消除了傳輸過程中多次數據復制和文本交換的操作,降低了CPU的負載。
RDMA技術優勢
RDMA技術實現了在網絡傳輸過程中兩個節點之間數據緩沖區數據的直接傳遞,在本節點可以直接將數據通過網絡傳送到遠程節點的內存中,繞過操作系統內的多次內存拷貝,相比于傳統的網絡傳輸,RDMA無需操作系統和TCP/IP協議的介入,可以輕易的實現超低延時的數據處理、超高吞吐量傳輸,不需要遠程節點CPU等資源的介入,不必因為數據的處理和遷移耗費過多的資源。
RDMA技術概述
IB技術
IB簡介InfiniBand是一種基于InfiniBand架構的RDMA技術,它提供了一種基于通道的點對點消息隊列轉發模型,每個應用都可通過創建的虛擬通道直接獲取本應用的數據消息,無需其他操作系統及協議棧的介入。InfiniBand架構的應用層采用了RDMA技術,可以提供遠程節點間RDMA讀寫訪問,完全卸載CPU工作負載;網絡傳輸采用了高帶寬的傳輸;鏈路層設置特定的重傳機制保證服務質量,不需要數據緩沖。
InfiniBand必須運行在InfiniBand網絡環境下,必須使用IB交換機及IB網卡才可實現。
圖3 InfiniBand架構
IB技術特點InfiniBand技術具有以下特點
· 應用層采用RDMA技術,降低了在主機側數據處理的延遲。
· 消息轉發控制由子網管理器完成,沒有類似以太網復雜的協議交互計算。
· 鏈路層通過重傳機制保證服務質量,不需要數據緩沖,無丟包。
· 具有低延遲、高帶寬、低處理開銷的特點。
RoCE技術
RoCE簡介RoCE技術支持在以太網上承載IB協議,實現RDMA over Ethernet。RoCE與InfiniBand技術有相同的軟件應用層及傳輸控制層,僅網絡層及以太網鏈路層存在差異。
圖4 RoCE架構
RoCE協議分為兩個版本
· RoCE v1協議:基于以太網承載RDMA,只能部署于二層網絡,它的報文結構是在原有的IB架構的報文上增加二層以太網的報文頭,通過Ethertype 0x8915標識RoCE報文。
· RoCE v2協議:基于UDP/IP協議承載RDMA,可部署于三層網絡,它的報文結構是在原有的IB架構的報文上增加UDP頭、IP頭和二層以太網報文頭,通過UDP目的端口號4791標識RoCE報文。RoCE v2支持基于源端口號hash,采用ECMP實現負載分擔,提高了網絡的利用率。
RoCE技術特點RoCE使得基于以太網的數據傳輸能夠:
· 提高數據傳輸吞吐量。
· 減少網絡延時。
· 降低CPU負載。
RoCE技術可通過普通以太網交換機實現,但服務器需要支持RoCE網卡,網絡側需要支持無損以太網絡,這是由于IB的丟包處理機制中,任意一個報文的丟失都會造成大量的重傳,嚴重影響數據傳輸性能。
3 構建無損以太網數據中心RoCE在RoCE網絡中,我們需要構建無損以太網用于保證數據中心網絡傳輸過程中不丟包。構建無損以太網需支持以下關鍵特性:
RoCE融合InfiniBand的低時延與以太網的簡單和向后兼容,實現零丟包、低時延、大帶寬
圖5 構建無損以太網絡示意圖
PFC是構建無損以太網的必選手段之一,能夠逐跳提供基于優先級的流量控制。設備在進行報文轉發時,根據報文的優先級進入對應映射關系的隊列中進行調度轉發。當某一優先級報文發送速率超過接收速率,導致接收方可用數據緩沖空間不足時,設備通過PFC PAUSE幀反饋給上一跳設備,上一跳設備收到PAUSE幀報文后停止發送本優先級報文,直到再收到PFC XON幀或經過一定的老化時間后才能恢復流量發送。通過使用PFC功能,使得某種類型的流量擁塞不會影響其他類型流量的正常轉發,從而達到同一鏈路上不同類型的報文互不影響。
ECN是構建無損以太網的必選手段之一。ECN定義了一種基于IP層及傳輸層的流量控制及端到端擁塞通知機制。ECN功能利用IP報文頭中的DS域來標記報文傳輸路徑上的擁塞狀態。支持該功能的終端設備可以通過報文內容判斷出傳輸路徑上發生了擁塞,從而調整報文的發送方式,避免擁塞加劇。
DCBX是實現無損以太網傳輸的關鍵手段之一,用于DCE中各網絡單元進行橋能力協商以及遠程配置。通過DCBX,交換機之間以及交換機和網卡之間可以協商和自動配置DCB參數,以實現簡化配置以及保證配置一致性的目的。
ETS是基于優先級組的帶寬分配處理,ETS用于實現承諾帶寬。設備通過ETS參數與對端進行協商,控制對端指定類型數據的發送帶寬,保證其在接口的承諾帶寬范圍之內,從而不會因流量擁塞而導致數據丟失。
圖6 無損網絡組網架構
組網架構:典型的Leaf/Spine組網;
為了避免擁塞丟包,需要在Leaf與Spine之間部署PFC流控技術,同時,Spine設備也需要支持基于擁塞的ECN標記;
Leaf作為服務器網關,支持和服務器之間基于PFC的流量控制,同時支持擁塞ECN標記;為了提高吞吐量,需要在服務器網卡支持DCQCN,將發送速率調整到最優;
全網設備部署PFC、ECN,基于業務特征配合可視化技術,SDN控制器根據業務流量特征實現水線調優,為網絡的穩定運行提供無損保障;
利用可視化技術將芯片的Buffer、Latency、Micro Burst等狀態信息上報到SDN controller,充分發揮SDN controllor的智能分析能力,并通過標準的API接口完成整個網絡的運維和優化。
結束語
RDMA網絡正是通過在網絡中部署PFC和ECN功能來實現無損保障。PFC技術讓我們可以對鏈路上RDMA專屬隊列的流量進行控制,并在交換機入口(Ingress port)出現擁塞時對上游設備流量進行反壓。利用ECN技術我們可以實現端到端的擁塞控制,在交換機出口(Egress port)擁塞時,對數據包做ECN標記,并讓流量發送端降低發送速率。
從充分發揮網絡高性能轉發的角度,我們一般建議通過調整ECN和PFC的buffer水線,讓ECN快于PFC觸發,即網絡還是持續全速進行數據轉發,讓服務器主動降低發包速率。如果還不能解決問題,再通過PFC讓上游交換機暫停報文發送,雖然整網吞吐性能降低,但是不會產生丟包。
在數據中心網絡中應用RDMA,不僅要解決轉發面的無損網絡需求,還要關注精細化運維,才能應對延遲和丟包敏感的網絡環境。