RoCE指南
在數據時代,對於更快、更高效、可擴展的網絡需求從未減少。由於傳統的TCP/IP以太網連接對CPU資源要求較高,並需要額外的數據複製和處理,已無法滿足當前網絡需求。在此背景下,基於以太網的RDMA(遠程直接內存訪問)技術應運而生。了解RoCE前,首先需認識RDMA的概念。
RDMA(遠程直接內存訪問)可以利用網絡中的設備直接進行數據傳輸,而RoCE(基於以太網的RDMA)是該技術的一種主要實現方式。RoCE通過高速和低延遲的數據傳輸提高傳輸效率,使其在高性能計算和雲環境中表現出色。本文將探討RDMA的基礎知識以及RoCE如何增強以太網網絡上的數據傳輸。
什麼是RDMA
RDMA(遠程直接內存訪問)可以使得一臺主機或服務器的內存可以直接訪問另一臺主機或服務器的內存,而無需經過CPU的介入。因此CPU能夠專註於運行應用程序和處理大量數據等本身的工作。通過使用RDMA,可以實現網絡和主機的高性能,包括低延遲、低CPU負載和更高的帶寬,同時成本效益也更高。
RDMA技術實現了智能網卡和優化軟件架構的完美結合,為高速直接訪問遠程內存提供強大支持。通過將RDMA協議嵌入硬件(例如網卡)並利用零拷貝和內核繞過等方法,實現了高性能的遠程數據訪問。
圖1:RDMA技術
什麼是RoCE
RoCE是在InfiniBand貿易協會(IBTA)標準中定義的一種網絡協議,允許在收斂以太網網絡上進行RDMA。簡而言之,它將RDMA技術應用於超融合數據中心、雲、存儲和虛擬化環境中。RoCE具備RDMA技術的所有優點,同時又具有以太網的普及性。如果想了解RoCE與InfiniBand之間的差異,可以了解《RoCE vs InfiniBand vs TCP/IP》。以下是IB和RoCE的封裝比較:
圖2: InfiniBand Vs RoCEv2
RoCE類型
一般來說,RoCE有兩個版本:RoCE v1和RoCE v2,具體使用取決於網卡的支持。
-
RoCE v1:RoCE v1協議是一種以太網鏈路層協議,允許同一以太網廣播域(VLAN)中的兩個主機進行通信。它使用以太網類型(EtherType)0x8915,標準以太網幀的幀長度限制為1500字節,以太網巨型幀的幀長度限制為9000字節。
-
RoCE v2:RoCE v2協議克服了RoCE v1僅限於單個廣播域(VLAN)的限制。RoCE v2可以在L2和L3網絡中使用,它通過改變數據包的封裝方式,包括IP和UDP報頭,實現L3路由功能。這使得RoCE v2可以在具有多個子網的網絡中使用,從而實現更好的可擴展性。因此RoCE v2也被稱為可路由的RoCE(RRoCE)。RoCE v2的引入,還可以進行IP組播。
RoCE的優勢
由於RoCE通過網絡接口直接訪問內存數據,而不是通過內核進行訪問,因此可以實現低延遲和高性能傳輸。
-
低CPU參與:在訪問遠程交換機或服務器的內存時,無需消耗遠程服務器的CPU周期,從而實現對可用帶寬的充分利用和更高可擴展性。
-
零拷貝:可將數據發送至遠程緩衝區並從遠程緩衝區接收數據。
-
高效性:由於RoCE降低延遲和提高吞吐量,網絡性能得到了很大提升。
-
節省成本:通過RoCE,無需購買新設備或更換以太網基礎設施來處理海量數據,這在很大程度上節省了企業的資本支出。
圖3: RoCE v1 Vs RoCE v2封裝
RoCE的局限性
由於傳統以太網網絡存在性能瓶頸,一般的RoCE應用在高性能業務中仍然會面臨擁塞、丟包和延遲抖動等性能損失問題。
-
擁塞:在多播場景中,隊列可能會出現擁塞,隊列延遲無法忽視。
-
丟包:與FC相比,傳統以太網容易出現擁塞和丟包,丟失的數據包的重傳很容易導致數據混亂。
-
延遲抖動:以太網網絡存在大量的延遲抖動,並且其存儲轉發模式導致複雜的查找過程和高轉發延遲。
圖4: 之前Vs之後RoCE
如何實現RoCE
一般來說,要數據中心實現RoCE,您可以安裝支持RoCE的網卡或網卡驅動程序。所有以太網網卡都需要RoCE網卡卡。RoCE驅動程序可在Red Hat、Linux、Microsoft Windows和其他常見操作系統中找到。實現RoCE有兩種方法,對於網絡交換機,您可以選擇使用支持PFC(優先級流量控制)的操作系統的交換機。至於機架服務器或主機,您需使用網卡,例如ConnectX-3 pro和ConnectX-4及以上版本。
還需檢查的內容-網絡服務器和網絡交換機。
RoCE常見問題解答
飛速(FS)列出了一些關於RoCE的常見問題,以便您更好地了解RoCE。
1. 哪些飛速(FS)的交換機或網卡支持RoCE?
目前,除了S5860系列和S5850-24S2Q、S5850-24S2Q-DC交換機外,飛速(FS)的N系列交換機和S58/80系列都支持RoCE v1和v2。客戶在購買RDMA交換機後需要啟用PFC功能。此外,飛速(FS)還可提供支持RoCE的英偉達(NVIDIA)以太網網卡。
2. RoCE適配器能與其他適配器類型(如iWARP)通信嗎?
RoCE適配器只能與其他RoCE適配器進行通信。混合適配器類型(例如將RoCE適配器與iWARP適配器組合)的配置可能會回退到傳統的TCP/IP連接。
3. RoCE和iWARP之間有什麼區別?
作為RoCE網絡協議,iWARP也支持具有較低延遲的RDMA功能,但它們確實存在一些區別。
一方面,RoCE是行業標準以太網RDMA解決方案,具有多品牌生態系統,可在標準的第2層和第3層以太網交換機上提供網卡和操作。而iWARP的支持相對較少。
另一方面,iWARP使用了複雜的層次結構,包括DDP、MPA微調和單獨RDMA協議(RDMAP),以通過TCP/IP提供RDMA服務。由於這種複雜的架構,iWARP協議很難將RDMA應用於現有的軟件傳輸框架。在這種情況下,iWARP的吞吐量、延遲和CPU利用率都會受到影響。
圖5: iWAP的複雜網絡層和RoCEj簡化模型對比
結論
通過在數據中心中運行RDMA,可以實現數據傳輸的卸載,並將更多的CPU資源提供給應用程序。採用RoCE技術的用戶可以在不改變網絡基礎設施的情況下享受RDMA的優勢。RoCE通過降低以太網網絡的延遲和減輕CPU負擔,提高了搜索、存儲、數據庫、金融和高交易率應用程序的性能。通過提高CPU效率和改善應用程序性能,RoCE可以減少所需的服務器數量,從而節省能源並減少基於以太網的數據中心的佔用空間。
相關文章推薦
郵箱地址
-
Cat5e、Cat6、Cat6a和Cat7網線有什麼區別?哪個更好?
2020年08月21日
-
一文帶你了解SFP、SFP+、SFP28、QSFP+和QSFP28之間的區別
2024年04月13日
-
OM1、OM2、OM3、OM4和OM5多模光纖有什麼區別?
2021年11月24日
-
SFP端口是什麼?有什麼作用?可以接RJ45嗎?
2020年09月15日
-
PCIe卡知識掃盲:你想了解的都在這裡
2020年03月24日