数据中心网络如何发展成为无损数据中心网络?
數據中心網絡如何發展成為無損數據中心網絡?
作者:袁冬至
公眾號:救命的藥
研究方向:數據中心網絡
歡迎交流,學習!
數據中心網絡如何實現無丟包、低時延、高吞吐的能力?
為解決上述問題,傳統原生TCP/IP協議棧網絡又遇到哪些問題,急需解決?
0 自己的理解及概括
為了建設高性能數據中心,計算和存儲都發展很好,但是網絡發展不好。傳統TCP/IP網絡在數據中心里有2個大問題:1TCP/IP協議棧處理時延大,2 服務器CPU負載高;為了解決這個問題,RoCE技術誕生了。RoCE它的發展過程是遠程直接內存訪問(RDMA)技術可以解決網絡延遲,CPU負載高的問題;RDMA最初用在Infiniband網絡中,Infiniband網絡里面一切都是專用的,無丟包的無損網絡;當RDMA技術應用在以太網中就不行了,因為以太網缺乏完善的丟包保護機制,所以有丟包RDMA就不好用了;為了能用RDMA把原生以太網通過PFC,ECN,DCBX,ETS技術改造成為無丟包的網絡;RoCE是基于以太網的RDMA技術。
當然無損網絡還有許多其它的問題需要解決,比如:線頭阻塞,死鎖等!
1 傳統TCP/IP網絡發展困境
? 建設高性能數據中心的傳統思路,一方面是推動數據中心網絡帶寬升級進而帶動組網架構升級(即10G/40G模型向25G/100G組網模型演進,進而向100G/400G模型演化);另外一方面則是引入基于SDN Telemetry等智能管理技術使數據中心網絡實現自動化、智能化運維管理,最終實現數據中心網絡“管控析”業務融合升級。
? 數據中心基礎設施三大件:計算、存儲和網絡。計算和存儲技術近些年都有長足的進步。
計算:在CPU基礎上,出現了像GPU、TPU等為特定場景、特定業務而生的處理器芯片,計算效率成百上千的提升。
存儲:在HDD機械硬盤的基礎上,出現了SSD全閃存產品,存取效率也得到質的飛躍。
網絡:雖然出現了SDN技術,但其內核本質還是TCP/IP技術,而TCP/IP處理機制是“盡力而為”,涉及“TCP/IP協議棧處理時延大”和“因協議棧處理機制帶來的CPU負載居高不下的問題”,并沒有太大的改進;
- TCP/IP協議棧處理時延大:
- 服務器CPU負載高:
傳統TCP/IP網絡面對新業務時候自身瓶頸被無限放大,導致CPU資源被無限消耗,難道就沒有技術能解決這個問題嗎?有沒有可以解放CPU資源,又能兼顧網絡的實現方案呢?
2 RoCE技術適時而生
RoCE(RDMA over Converged Ethernet)是一種允許通過以太網使用遠程直接內存訪問(RDMA)的網絡協議。
傳統TCP/IP技術在數據包處理過程中,需要首先經過軟件應用和操作系統的處理,需要占用大量的服務器資源和內存總線帶寬資源,這一過程中存在多次數據拷貝、中斷處理以及處理復雜的TCP/IP協議處理等問題,從而無可避免地就會帶來網絡時延過大的結果。
RDMA(Remote Direct Memory Access)技術全稱“遠程直接內存訪問”,是為了解決網絡傳輸中服務器端數據處理的延遲而產生的技術,該技術支持將用戶應用中的數據直接傳入服務器存儲區,通過網絡將數據從一個系統快速傳輸至遠程系統的存儲中。
(圖:TCP/IP和RDMA協議棧處理流程對比)
RDMA技術實現了在網絡傳輸過程中兩個節點之間數據緩沖區數據的直接傳遞,在本節點可以直接將數據通過網絡傳送到遠程節點的內存中,繞過操作系統內的多次內存拷貝,相比于傳統的網絡傳輸,RDMA無需操作系統和TCP/IP協議棧的介入,可以輕易的實現超低延時的數據處理、超高I/O吞吐量的傳輸,基本不需要遠程節點CPU等資源的介入,不必因為數據的處理和遷移耗費過多的資源。
RDMA技術最早出現在Infiniband網絡,用于HPC高性能計算集群的互聯。傳統的基于Socket套接字(TCP/IP協議棧)的網絡通信,需要經過操作系統軟件協議棧,數據在系統DRAM、處理器Cache和網卡Buffer之間來回拷貝搬移,因此占用了大量的CPU計算資源和內存總線帶寬,也加大了網絡延時。
(圖:RDMA協議的技術優勢)
**舉個栗子:**40Gbps的TCP/IP流能耗盡主流服務器的所有CPU資源,RDMA技術則很好地解決了傳統TCP/IP通信的技術痛點。在40Gbps場景下,采用RDMA技術的服務器,CPU占用率會從100%下降到5%,網絡延時從ms級降低到10μs以下,極端場景下甚至會更多,所以RDMA技術帶來的優勢是顯而易見的,同時RDMA技術又可以在數據中心幾乎所有業務流量場景都可以采用,比如應用到應用、計算到計算、計算到存儲和存儲到存儲四類場景,并且對于數據中心數據讀取效率的提升也是顯而易見的。
(圖:RDMA技術在四類場景流量模擬)
現階段,RDMA網絡技術主要為Infiniband、RoCE和iWARP。
1 Infiniband網絡主要出現在HPC高性能計算場景,因為其自身技術特點的因素,該技術采用的一切都是專用的,包括應用程序、編程接口、網絡協議、網卡、網絡設備和硬件接口形式乃至管理軟件都是專用的。
2 iWARP基于TCP/IP協議的RDMA技術,由IETF標準定義發布,本文受制于篇幅所限,重點介紹RoCE技術。
3 RoCE技術基于以太網的RDMA技術,Emulex聯合IBTA(InfiniBand Trade Association, InfiniBand行業協會)共同宣布推出,發展至今已經發布兩個版本,最新RoCEv2版本,將IB的GRH(Global Routing Header)換成UDP Header + IP Header。 RoCE v2工作在UDP之上,采用UDP 4791端口進行傳輸,支持路由,所以有時又會稱為可路由的RoCE,簡稱RRoCE。
(圖:主流RDMA技術演化與對比)
出現新的RDMA技術后,如何實現在以太網上運行的呢?
3 RoCE:RDMA技術在以太網落地生根
RDMA的提出之初是被承載于無損的InfiniBand網絡中,Infiniband網絡提供完善的丟包重傳機制,對于InfiniBand架構,接收端僅可接收有序報文,如果有丟包發生,會引起流中斷;當有丟包發生時, 接收端會發送帶有PSN (packet sequence number報文序列號) 的NACK (not ACK否認字符) 控制報文到發送端,來重傳丟失報文及后續報文。
圖1:基于InfiniBand的重傳機制
但是當RDMA技術應用在以太網中時候,以太網本質是“盡力而為”的網絡,因為以太網缺乏完善的丟包保護機制,對于丟包異常敏感,超過0.1%(千分之一)的丟包率將導致網絡有效吞吐急劇下降至75%;而1%的丟包則使得網絡有效吞吐率幾乎下降為0;所以要使得RDMA吞吐不受影響,丟包率最好保證在萬分之一(0.1‰)甚至是十萬分之一(0.01‰)以下,即最好無丟包。
圖2:傳統以太網缺少完善的丟包保護機制
而原生以太網的設計理念是“盡力而為”的網絡,并不是無損網絡,因此無損以太網絡則需要PFC基于優先級的流量控制(Priority-based Flow Control,IEEE802.1Qbb)、ECN顯示擁塞通知(Ethernet Congestion Notification,IEEE802.1Qau)、DCBX數據中心橋能力交換協議(Data Center Bridging Exchange Protocol,IEEE802.1Qaz)和ETS增強傳輸選擇(Enhanced Transmission Selection,IEEE802.1Qaz)四個技術配合完成,其中以太網層主要是PFC、ETS、DCBX;IP層主要是ECN;IB傳輸層主要是ECN,業務處理流程大致如下:
圖3:RDMA無損以太網計算場景技術全景圖
構建無損以太網,必須支持以下關鍵特性:
- **數據緩沖區管理和監控:**根據流量特點調整端口、隊列能夠使用的緩沖區大小,并通過命令行方式或gRPC上報緩沖區使用情況。數據緩沖區大小調整請根據需要在專業人士指導下進行,數據緩沖區監控建議配置。
- **(必選)PFC(Priority-based Flow Control,基于優先級的流量控制):**逐跳提供基于優先級的流量控制,能夠實現在以太網鏈路上運行多種類型的流量而互不影響。
- **(必選)ECN(Explicit Congestion Notification,顯示擁塞通知):**設備發生擁塞時,通過對報文IP頭中ECN域的標識,由接收端向發送端發出降低發送速率的CNP(Congestion Notification Packet,擁塞通知報文),實現端到端的擁塞管理,減緩擁塞擴散惡化。
- **(建議)DCBX(Data Center Bridging Exchange Protocol,數據中心橋能力交換協議):**使用LLDP自動協商DCB能力參數,包括PFC和ETS等。一般用在接入交換機連接服務器的端口,與服務器網卡進行能力協商。
- **(可選)ETS(Enhanced Transmission Selection,增強傳輸選擇):**將流量按服務類型分組,在提供不同流量的最小帶寬保證的同時提高鏈路利用率,保證重要流量的帶寬百分比。需要逐跳提供。
其中PFC和ECN是其中兩個必選技術,一般情況推薦使用。雖然PFC是二層技術,ECN是網絡層和傳輸層技術,但是PFC與ECN能夠同時使能,并且推薦在RoCE環境中同時使能,以保證RoCE報文無丟包并且網絡帶寬得到保證。從充分發揮網絡高性能轉發角度,一般建議通過調整ECN和PFC的buffer水線,讓ECN快于PFC觸發,即網絡還是持續全速進行數據轉發,讓服務器主動降低發包速率。若還不能解決問題,再通過PFC讓上游交換機暫停報文發送,雖然整網吞吐性能降低,但是不會產生丟包,兩大技術相互配合以期最終實現網絡無損。
4 參考文獻
1 智能聯接丨AD-DC SeerFabric智能無損數據中心網絡(一)
https://zhuanlan.zhihu.com/p/396579324
2 智能聯接丨AD-DC SeerFabric智能無損數據中心網絡(二)RoCE技術
https://zhuanlan.zhihu.com/p/399051879
3 智能聯接丨AD-DC SeerFabric智能無損數據中心網絡(三)
https://zhuanlan.zhihu.com/p/401776533
(二)RoCE技術
https://zhuanlan.zhihu.com/p/399051879
3 智能聯接丨AD-DC SeerFabric智能無損數據中心網絡(三)
https://zhuanlan.zhihu.com/p/401776533
總結
以上是生活随笔為你收集整理的数据中心网络如何发展成为无损数据中心网络?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第26章、OnKeyListener键盘
- 下一篇: 一文掌握战略规划能力