數據中心現狀
隨著“新基建”將 5G、人工智能、工業(yè)互聯網列為新型基礎領域,機器學習、智能語音交互、自動駕駛等一大批基于高性能計算的應用層出不窮,這些應用帶來了數據的爆炸式增長,給數據中心的處理能力帶來了很大的挑戰(zhàn)。
計算、存儲和網絡是推動數據中心發(fā)展的三駕馬車。計算隨著 CPU、GPU 和 FPGA 的發(fā)展,算力得到了極大的提升。存儲隨著閃存盤(SSD)的引入,數據存取時延已大幅降低。但是網絡的發(fā)展明顯滯后,傳輸時延高,逐漸成為了數據中心高性能的瓶頸。

在數據中心內,70% 的流量為東西向流量(服務器之間的流量),這些流量一般為數據中心進行高性能分布式并行計算時的過程數據流,通過 TCP / IP 網絡傳輸。如果服務器之間的 TCP / IP 傳輸速率提升了,數據中心的性能自然也會跟著提升。

下面我們就來看看服務器之間數據 TCP / IP 傳輸的過程,了解下“時間都去哪了”,才好“對癥下藥”。
服務器間的 TCP / IP 傳輸
在數據中心,服務器 A 向服務器 B 發(fā)送數據的過程如下:
1、CPU 控制數據由 A 的 App Buffer 拷貝到操作系統(tǒng) Buffer。
2、CPU 控制數據在操作系統(tǒng)(OS)Buffer 中添加 TCP、IP 報文頭。
3、添加 TCP、IP 報文頭后的數據傳送到網卡(NIC),添加以太網報文頭。
4、報文由網卡發(fā)送,通過以太網絡傳輸到服務器 B 網卡。
5、服務器 B 網卡卸載報文的以太網報文頭后,將其傳輸到操作系統(tǒng) Buffer。
6、CPU 控制操作系統(tǒng) Buffer 中的報文卸載 TCP、IP 報文頭。
7、CPU 控制卸載后的數據傳輸到 App Buffer 中。

從數據傳輸的過程可以看出,數據在服務器的 Buffer 內多次拷貝,在操作系統(tǒng)中需要添加 / 卸載 TCP、IP 報文頭,這些操作既增加了數據傳輸時延,又消耗了大量的 CPU 資源,無法很好得滿足高性能計算的需求。
那么,如何構造高吞吐量、超低時延和低 CPU 開銷的高性能數據中心網絡呢?RDMA 技術可以做到。
什么是 RDMA
RDMA( Remote Direct Memory Access,遠程直接地址訪問技術 )是一種新的內存訪問技術,可以讓服務器直接高速讀寫其他服務器的內存數據,而不需要經過操作系統(tǒng) / CPU 耗時的處理。
RDMA 不算是一項新技術,已經廣泛應用于高性能(HPC)科學計算中。隨著數據中心高帶寬、低時延的發(fā)展需求,RDMA 也開始逐漸應用于某些要求數據中心具備高性能的場景中。舉個例子,2021 年某大型網上商城的雙十一交易額再創(chuàng)新高,達到 5000 多億,比 2020 年又增長了近 10%。如此巨大的交易額背后是海量的數據處理,該網上商城采用了 RDMA 技術來支撐高性能網絡,保障了雙十一的順暢購物。
下面我們一起來看看 RDMA 讓網絡實現低時延的絕招吧。
RDMA 將服務器應用數據直接由內存?zhèn)鬏數街悄芫W卡(固化 RDMA 協議),由智能網卡硬件完成 RDMA 傳輸報文封裝,解放了操作系統(tǒng)和 CPU。

這使得 RDMA 具有兩大優(yōu)勢:
Zero Copy(零拷貝):無需將數據拷貝到操作系統(tǒng)內核態(tài)并處理數據包頭部的過程,傳輸延遲會顯著減小。
Kernel Bypass(內核旁路)和 Protocol Offload(協議卸載):不需要操作系統(tǒng)內核參與,數據通路中沒有繁瑣的處理報頭邏輯,不僅會使延遲降低,而且也大大節(jié)省了 CPU 的資源。

三大 RDMA 網絡
目前,大致有三類 RDMA 網絡,分別是 InfiniBand、RoCE(RDMA over Converged Ethernet,RDMA 過融合以太網)和 iWARP(RDMA over TCP,互聯網廣域 RDMA 協議)。RDMA 最早專屬于 Infiniband 網絡架構,從硬件級別保證可靠傳輸,而 RoCE 和 iWARP 都是基于以太網的 RDMA 技術。
InfiniBand
InfiniBand 是一種專為 RDMA 設計的網絡。
采用 Cut-Through 轉發(fā)模式(直通轉發(fā)模式),減少轉發(fā)時延。
基于 Credit 的流控機制(基于信用的流控機制),保證無丟包。
要求 InfiniBand 專用的網卡、交換機和路由器,建網成本最高。
RoCE
傳輸層為 InfiniBand 協議。
RoCE 有兩個版本:RoCEv1 基于以太網鏈路層實現,只能在 L2 層傳輸;RoCEv2 基于 UDP 承載 RDMA,可部署于三層網絡。
需要支持 RDMA 專用智能網卡,不需要專用交換機和路由器(支持 ECN / PFC 等技術,降低丟包率),建網成本最低。
iWARP
傳輸層為 iWARP 協議。
iWARP 是以太網 TCP / IP 協議中 TCP 層實現,支持 L2 / L3 層傳輸,大型組網 TCP 連接會消耗大量 CPU,所以應用很少。
iWARP 只要求網卡支持 RDMA,不需要專用交換機和路由器,建網成本介于 InfiniBand 和 RoCE 之間。
Infiniband 技術先進,但是價格高昂,應用局限在 HPC 高性能計算領域,隨著 RoCE 和 iWARPC 的出現,降低了 RDMA 的使用成本,推動了 RDMA 技術普及。
在高性能存儲、計算數據中心中采用這三類 RDMA 網絡,都可以大幅度降低數據傳輸時延,并為應用程序提供更高的 CPU 資源可用性。其中 InfiniBand 網絡為數據中心帶來極致的性能,傳輸時延低至百納秒,比以太網設備延時要低一個量級。RoCE 和 iWARP 網絡為數據中心帶來超高性價比,基于以太網承載 RDMA,充分利用了 RDMA 的高性能和低 CPU 使用率等優(yōu)勢,同時網絡建設成本也不高?;?UDP 協議的 RoCE 比基于 TCP 協議的 iWARP 性能更好,結合無損以太網的流控技術,解決了丟包敏感的問題,RoCE 網絡已廣泛應用于各行業(yè)高性能數據中心中。
結語
隨著 5G、人工智能、工業(yè)互聯網等新型領域的發(fā)展,RDMA 技術的應用會越來越普及,RDMA 將成為助力數據中心高性能的一大功臣。
本文來自微信公眾號:中興文檔 (ID:ztedoc)
廣告聲明:文內含有的對外跳轉鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時間,結果僅供參考,IT之家所有文章均包含本聲明。