兩種乙太網 RDMA 協議: iWARP 和 RoCE
阿新 • • 發佈:2019-02-20
http://weibo.com/p/1001603936363903889917?mod=zwenzhang
本文是講演 How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics【1】的摘要。 如果 NVMe 儲存系統與主機是分離的,顯然需要某種 fabric 把它們連線,這樣主機才能使用儲存系統。目前,支援遠端連線的 fabric 包括:
RDMA (Remote Direct Memory Access) 是一種繞過主機 (host-offload/host-bypass) 技術:一個應用(包括儲存)<--傳送/接收資料-->另外一個(遠端)應用的記憶體空間。
二、用 RDMA 傳送 NVMe 寫命令
以一個 NVMe 寫操作為例。 NVMe 主機驅動把寫命令及資料(從 NVMe 提交佇列取出一項)封裝一個與底層傳輸無關的命令膠囊(capsule);膠囊被放到主機 RDMA 網絡卡的傳送佇列中,由 RDMA_SEND 傳送出去;目標主機的 RDMA 網絡卡在接收佇列中收到這個膠囊,解除封裝,把 NVMe 命令及資料放到目標主機的記憶體中;目標主機處理 NVMe 命令及資料;完成後,目標主機封裝一個 NVMe 命令完成項,由 RDMA 傳輸到源主機。 三、兩種基於乙太網的 RDMA 協議
第一種:乙太網->IP->UDP->RoCE (RDMA over Converged Ethernet) v2
第二種:乙太網->IP->TCP(去掉 TCP/IP 流量控制和管理)->iWARP
不同協議的網絡卡之間並不相容,也就說支援 RoCE 協議的網絡卡不能與支援 iWARP 協議的網絡卡交換資料。
兩種協議的供應商上臺系統不一樣, 對底層網路基礎設施的要求也不一樣:
瞭解更多細節, 【1】How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics https://www.brighttalk.com/webcast/663/185909
本文是講演 How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics【1】的摘要。 如果 NVMe 儲存系統與主機是分離的,顯然需要某種 fabric 把它們連線,這樣主機才能使用儲存系統。目前,支援遠端連線的 fabric 包括:
-
RDMA 協議:底層可以是乙太網( RoCE 或者 iWARP )或者 Infiniband
- Fibre Channel 協議:底層可以是 FC 網路或者乙太網(FCoE)
RDMA (Remote Direct Memory Access) 是一種繞過主機 (host-offload/host-bypass) 技術:一個應用(包括儲存)<--傳送/接收資料-->另外一個(遠端)應用的記憶體空間。
- Source Application <-- (傳送/接收、完成)佇列 --> 帶 RDMA 功能的網絡卡 <-- 可靠的網路連線 --> 帶RDMA 功能的網絡卡 <-- (傳送/接收、完成)佇列 --> Target Application
-
Windows Server: 從 Windows HPC Server 2008 開始支援 Network Direct userspace API ;從 Windows Server 2012 開始支援 Network Direct kernel API
-
Linux: 從2004年開始,由 OpenFabrics Alliance 提供 userspace/kernel API , RHEL 和 SLES 已經自帶, Ubuntu 要自己安裝?
- FreeBSD 9.0+ 支援 OpenFabrics Alliance userspace/kernel API
二、用 RDMA 傳送 NVMe 寫命令
以一個 NVMe 寫操作為例。 NVMe 主機驅動把寫命令及資料(從 NVMe 提交佇列取出一項)封裝一個與底層傳輸無關的命令膠囊(capsule);膠囊被放到主機 RDMA 網絡卡的傳送佇列中,由 RDMA_SEND 傳送出去;目標主機的 RDMA 網絡卡在接收佇列中收到這個膠囊,解除封裝,把 NVMe 命令及資料放到目標主機的記憶體中;目標主機處理 NVMe 命令及資料;完成後,目標主機封裝一個 NVMe 命令完成項,由 RDMA 傳輸到源主機。 三、兩種基於乙太網的 RDMA 協議
兩種協議的供應商上臺系統不一樣, 對底層網路基礎設施的要求也不一樣:
瞭解更多細節, 【1】How Ethernet RDMA Protocols iWARP and RoCE Support NVMe over Fabrics https://www.brighttalk.com/webcast/663/185909