遠端直接記憶體訪問 (RDMA)


什麼是 RDMA?

RDMA 指的是在網路中一臺計算機訪問另一臺計算機的記憶體,而無需任何計算機的作業系統、處理器或快取的參與。由於釋放了許多資源,因此有助於提高系統吞吐量和效能。

可以在遠端機器上執行讀寫操作,而不會被該機器的 CPU 中斷。這項技術提高了資料傳輸速率,並降低了網路延遲。它使用零複製網路,透過啟用網路介面卡將資料直接傳輸到系統緩衝區。

RDMA 以前僅用於高效能計算 (HPC) 環境。由於效能比成本更重要,因此維護 RDMA 網路結構(如 InfiniBand)的成本是合理的。

由於像 RDMA over Converged Ethernet (RoCE) 這樣的標準,現在可以在現有的乙太網結構上啟用 RDMA 用於 IP 網路通訊,因此採用 RDMA 的成本降低了。RNIC 介面卡使用標準乙太網管理程式進行配置。

RDMA 的特性

  • 核心繞過 − 由於作業系統不參與資料傳輸,應用程式可以直接從使用者空間傳送資料,從而消除上下文切換和延遲。

  • 零複製 − 應用程式可以直接將資料放置在目標應用程式的記憶體緩衝區中,並將資料直接接收入緩衝區,而無需在網路層之間複製資料。這將減少不必要的緩衝區傳輸。

  • 減少 CPU 參與 − 應用程式可以從遠端伺服器檢索資料,而無需在這些伺服器上使用 CPU 時間。訪問的內容不會填充遠端伺服器 CPU 的快取記憶體。

  • 有效的交易 − 可以傳送和接收離散訊息,而不是以流的形式傳送和接收資料,從而消除了分離訊息的需要。

相容 RDMA 的網路協議

IWARP

這是一個名為 iWARP 的網際網路工程任務組 (IETF) 標準。iWARP 是一種以 TCP/IP 為基礎的網路協議。iWARP 資料包可以被路由。

Infiniband

這是一個相容 RDMA 的網路協議。但是,它需要硬體支援,例如支援這項技術的交換機和網路介面卡 (NIC)。

RoCE

這是一個在乙太網上啟用 RDMA 的網路協議。因此,RoCE 不需要將基於乙太網的資料中心轉換為 Infiniband。一般來說,RoCE 分為兩個版本:RoCE v1RoCE v2

RoCE v1 資料包可以被路由。但是,RoCE v2 資料包可以在同一乙太網廣播中的兩臺主機之間通訊。因此,RoCE v1 指的是乙太網層協議,而 RoCE v2 指的是網際網路協議。

RDMA 的優點

與其他資料傳輸技術和協議(如 iSCSI(透過 TCP 的 SCSI 協議)、光纖通道 (FC) 或乙太網光纖通道 (FCoE))相比,RDMA 的一個主要優點是其驚人的速度。

  • RDMA 的變體會影響最終的資料傳輸速度。乙太網和 Infini Band 特別受歡迎,因為它們可以承載高達每秒 100 吉位元的資料速度。

  • 這對於需要計算能力的應用程式特別有用,例如分散式資料庫、大資料分析和資料中心應用程式。

RDMA 的缺點

與許多企業仍在使用的光纖線路相比,RDMA 也有一些缺點。

  • 企業必須計劃大量投資才能使用 RDMA,因為這項技術需要購買新的硬體和協議元件。因此,遠端直接記憶體訪問的成本遠高於 FC 或 FCoE。

  • 只有在所有系統都相容這項技術的情況下,才能進行基於 RDMA 的資料傳輸。

更新於:2021 年 9 月 7 日

896 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告