在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RDMA技術簡介

Linux閱碼場 ? 來源:Linux閱碼場 ? 2023-04-20 09:49 ? 次閱讀

13.3.3 iWARP

iWARP(Internet Wide Area RDMA Protocol)是 IETF 定義的基于 TCP 的 RDMA,它和RoCE v2 都可以路由。因為 TCP 是面向連接的可靠協議,這使得 iWARP 在面對有損網絡場景時,相比 RoCEv2 和 InfiniBand 具有更好的可靠性,在大規模組網時也有明顯的優勢。但在大規模數據中心和大規模應用程序(比如大型企業網、云計算、Web 2.0 應用程序等)中使用 iWARP 時,大量連接的內存需求以及 TCP 的流量和可靠性控制將會導致可擴展性和性能相關的問題,并且會耗費很多的內存資源。總體來看,RoCE 在時延、吞吐量和 CPU 開銷方面明顯優于 iWARP。此外,RoCE 規范中定義了多播,而當前的 iWARP 規范沒有定義如何執行多播 RDMA。

需要注意的是,雖然存在軟件實現的 RoCE 和 iWARP,但是真正商用時上述幾種協議都需要專門的硬件(網卡)支持。本書中測試和分析代碼時所使用的 RDMA 網卡都為支持RoCEv2 協議的網卡。

13.4 RDMA 網絡構成

InfiniBand 體系結構定義了組網通信所需的多種設備:通道適配器(channel adapter)、交換機(switch)、路由器(router)和子網管理器(subnet manager)。其中子網管理器屬于虛擬設備,它可以在其他任何一臺設備上實現。圖 13-8 展示了一個包含所有這些實體設備的網絡。每個終端(endnode)設備必須至少有一個通道適配器(HCA 或 TCA)。一個子網中至少有一個子網管理器用于配置和維護鏈路。所有的通道適配器和交換機必須包含子網管理代理(subnet management agent,SMA),用于處理與子網管理器的通信。

除了子網管理器,RoCE 類型的網絡中也需要上述這些組件。

wKgaomRAmsmATpnBAAKqMM6RYwQ816.png

主機通道適配器(host channel adapter,HCA)

HCA 即本書中經常提及的安裝在主機上的 RDMA 網卡,用于將一個主機設備連接到一個 RDMA 網絡上。

一個 HCA 可以有多個物理端口(port),每個端口有自己的本地標識符(local identifier,LID)或 LID 范圍。另外,每個端口還有自己的發送和接收緩存(buffer),因此所有端口可以并行發送和接收。

子網管理器為 HCA 的每一個物理端口配置子網內的本地地址,即 LID。HCA 中的子網管理代理和子網管理器通信,共同實現子網管理功能。

廠商會給每一個 HCA 分配獨一無二的標識符,稱為 GUID(globally unique identifier)。子網管理器分配給 HCA 的 LID 并不是永久的(斷電重啟后可能會變),所以 GUID 就成了永久識別某一個 HCA 的主要標識符。另外,廠商還給每一個端口分配了一個端口 GUID。

HCA 支持 InfiniBand 定義的所有軟件 Verbs。Verbs 是一種抽象表示,它定義了客戶端軟件和 HCA 功能之間所需的接口。Verbs 不直接指定操作系統的應用程序編程接口(API),而是定義了一系列操作,提供給操作系統供應商開發相應的 API。

目標通道適配器(target channel adapter,TCA)

TCA 為 I/O 設備(比如硬盤控制器)提供其到 RDMA 網絡的連接,支持每個設備的特定操作所需的 HCA 功能子集。

子網管理器(subnet manager)

InfiniBand 子網管理器為連接到 InfiniBand 網絡的每個端口分配 LID,并基于分配的 LID建立路由表。子網管理器屬于軟件定義網絡(SDN)的概念,它消除了互連的復雜性,支持創建非常大規模的計算和存儲基礎設施。子網管理器配置本地子網并確保其持續運行。每個子網中必須至少有一個子網管理器,用于管理所有交換機和路由器的配置,并在鏈路斷開或出現新鏈路時重新配置子網。

子網管理器可以位于子網中的任何設備內,它通過與每臺設備上的子網管理代理通訊來進行工作。一個子網中可以有多個子網管理器,但只能有一個子網管理器處于活動狀態。不在活動狀態的子網管理器(即備用子網管理器),會同步保存處于活動狀態的子網管理器轉發的信息副本,并驗證活動狀態的子網管理器是否仍在運行。如果處于活動狀態的子網管理器停機了,備用子網管理器將接管它的工作,以確保整個子網不會停擺。

在 RoCE 類型的網絡中,不存在子網管理器。

交換機(switch)

InfiniBand 交換機在概念上類似于標準以太網交換機,但其設計旨在滿足 InfiniBand 的性能要求。它們實現 InfiniBand 鏈路層的流量控制以防止丟包,有避免阻塞和自適應路由的功能,并支持高級服務質量(QoS)。許多交換機包含了子網管理器的功能。交換機包含多個端口,并根據協議第二層本地路由報頭中包含的 LID,將數據包從一個端口轉發到另一個端口。交換機只會管理和轉發數據包,不會消耗或產生數據包。與通道適配器(HCA 和 TCA)一樣,交換機必須包含子網管理代理功能,以處理子網管理報文。交換機可以被配置為轉發單播數據包(到單個設備)或多播數據包(到多個設備)。

RoCE 類型的網絡中使用的是以太網交換機。

路由器(router)

InfiniBand 路由器將數據包從一個子網轉發到另一個子網,而不消耗或產生數據包。與交換機不同,路由器根據全局路由報頭(global route header,GRH)中包含的 IPv6 網絡層地址來轉發數據包。在將數據包發送到下一個子網中時,路由器會按照目標子網中合適的 LID 來修改數據包中的本地路由報頭(local route header,LRH),重新組裝每個數據包。

路由對終端來說并不是透明的,因為終端發包時必須指定路由器的 LID 和最終目標的GID。

每一個子網都有獨一無二的子網 ID,稱為子網前綴。子網管理員會把這個子網前綴賦值給這個子網中所有的端口(包含在端口的 PortInfo 屬性中)。這個子網前綴和端口的 GUID結合,就成了端口的 GID。端口也可以有其他的 GID。

從路由器的角度看,GID 中的子網前綴部分就代表了穿過路由器的路徑。路由器依據數據包的目的 GID 和轉發表來決定把數據包轉發到哪個或哪些端口。

RoCE 類型的網絡中使用的是以太網路由器。

13.5 LID 和 GID

從功能上看,LID(local identifier)和 GID(globally identifier)的概念類似于“以太網和IP 網”中的 MAC 和 IP,分別用于子網內的目標尋址和子網間的目標尋址。

根據 InfiniBand 協議,兩臺設備間建立連接時,需要知道對方的 QP 號和端口,其中對端口的識別根據 LID 和 GID(后者可選)進行。

13.5.1 LID

InfiniBand 定義的 LID 是一個 16 位的標識符。LID 有以下特征。? 由子網管理員分配,子網內唯一,不可用于子網間路由。

? LID 作為一種網絡地址,分為預留、單播和多播地址段。

? 數據包中的本地路由報頭(local route header,LRH)中包含了 LID。

? 源 LID 指的是第一個將數據包插入子網的終端端口的 LID。

? 一個單播型的目的 LID 適用于某一個目的終端端口。一個多播型的目的 LID 適用于一個子網中某個多播組里的一系列目的終端端口。

? 如果最終的目的端口不在這個子網內,數據包中的目的 LID 指向的是,負責轉發這個數據包到下一跳的路由器的某個端口。

? 一個終端端口在連接到子網后,收到的數據包可能經過了子網內的多條物理路徑。例如,圖 13-9 中交換機之間相同類型的連紅表示一條可能的路徑,這樣的路徑共有 4條。每條路徑可以被一個或多個物理 LID 標識。為了降低 HCA 的多路徑操作的復雜度,每個物理端口應分配一個基本 LID 和一個 LMC。LMC 是一個 3 位的域,代表2LMC條路徑。圖 13-9 中,HCA A 和 HCA C 之間存在多條路徑。如果 HCA A 被分配了基本 LID 4,LMC =2,則其 LID 的范圍是 4、5、6、7。如果 HCA C 被分配了基本LID 8,LMC=2,則其 LID 的范圍就是 8、9、10、11。

? LID 的分配規則:LID 0x0000 無效;LID 0xFFFF 分配給接收數據包的終端端口的 QP0;0x0001 和 0xBFFF 之間為單播 LID;0xC000 和 0xFFFE 之間為多播 LID。

對于 RoCE 類型的網絡,LID 無效,所有端口的 LID 都為 0x0000。

wKgaomRAmsmAI32QAAGAZGUVJSQ837.png

13.5.2 GID

GID 是一種 128 位的單播或多播標識符,用于標識端口或多播組。

GUID(globally unique identifier)是全局唯一的 EUI-64 標識符,共 64 位。其中的 24 位表示廠商 ID,另外 40 位是擴展標識符,由生產設備的廠商來分配。

GID 有以下特征。

? 每個終端端口必須被分配至少一個單播 GID。第一個單播 GID 在創建時必須使用廠商分配的 EUI-64 標識符。此 GID 稱為 0 號 GID,格式見圖 13-10(a)或圖 13-10(b)。

? 默認的 GID 前綴為 0xFE80::0,共 64 位。使用默認 GID 前綴和廠商/子網管理器分配的 EUI-64 可以組成 128 位的 GID,使用這種 GID 封裝的數據包必須被終端接納。一個數據包的全局路由報頭(GRH)中如果有這種前綴的目的 GID,則路由器不能將其轉發,也就是必須限制在本地子網內處理。

? 一個子網 GID 必須使用下列一個或多個規則來創建。

規則 1。把默認 GID 前綴和廠商給終端端口分配的 EUI-64 標識符連接起來。這個 GID 就是默認的 GID。

規則 2。把子網管理器分配的 64 位的 GID 前綴和廠商給終端端口分配的 EUI-64標識符連接起來。

規則 3。子網管理器分配的 GID。子網管理器把默認或者分配的 GID 前綴和一組本地分配的 EUI-64 值連接起來。這種 GID 稱為 1 號或更大號碼的 GID。每個終端端口必須用規則 1 分配至少一個單播 GID。其他 GID 可用規則 2 或規則 3分配。注意,一個子網在某個時間點只能有一個分配的(非默認的)GID 前綴。

? 通道適配器、交換機或路由器上的任何 QP,都可以用默認 GID 前綴加上為這個 QP分配的 GID 來尋址。這使得一個子網可以在不中斷已有通信會話的情況下,從默認GID 前綴狀態轉換為托管狀態。

? 每個終端端口可以支持的單播 GID 的最大數量(N)取決于具體實現。子網管理器可以分配 N?1 個額外的單播 GID,這 N?1 個 GID 中的每一個都是通過將一個子網管理器分配的 EUI-64 標識符與 GID 前綴連接起來創建的。

? 單播 GID 地址 0000:0 是保留的,稱為保留 GID。不得將其分配給任何終端端口,也不得將其用作目的地址或用在 GRH 中。

? 單播 GID 地址 0000:1 稱為環回 GID,僅由原始(raw)IPv6 服務使用,不由InfiniBand 傳輸服務使用。不得將其分配到終端端口或出現在任何 InfiniBand 數據包中。

? 單播 GID 子網前綴應限于 GID 地址空間的高 64 位。子網前綴的位的數量可能會進一步受到填充(filler)和作用域(scope)位的限制,見下文分析。

? 單播 GID 的低 64 位不能進一步劃分子網。

? 單播 GID 的低 64 位在子網中是唯一的。

? GRH 中應包含有效的源 GID 和目的 GID。

? 單播 GID 的范圍包括以下類型。

本地連接型(link-local)。這種單播 GID 使用默認的 GID 前綴(0xFE80::0),只在子網內使用。如果數據包中有此類 GID,無論是作為源 GID 還是目的 GID,路由器都不能把數據包轉發到子網外。本地連接型 GID 的格式如圖 13-10(a)所示。

本地區域型(site-local)。這種單播 GID 在一組子網(比如一個數據中心的多個子網)組成的區域內是唯一的,但不一定是全局唯一。路由器不能把帶有這種源 GID或目的 GID 的數據包轉發到區域外。本地區域型 GID 的格式如圖 13-10(b)所示。

全局唯一型(global)。這種單播 GID 是帶有全局前綴的,即路由器可以使用此 GID在整個企業網或互聯網上路由數據包。全局唯一型 GID 的格式如圖 13-10(c)所示。

wKgZomRAmsmAGQmMAADZwzq9icY314.png

多播 GID(MGID)用于識別多播組。多播組中的所有成員,除了具有相同的 MGID,還必須共享相同的 P_key 和 Q_key。

? 多播 GID 的格式如圖 13-11 所示。

wKgZomRAmsmAJcVtAAA5kLh5pZU574.png

起始的 11111111 表示這是多播 GID。

標記(Flag)字段有 4 個 1 位的標記,格式為 000T,目前保留前 3 個標記,并定為 0。如果 T 為 0,表示這是一個永久分配的(即眾所周知的)多播 GID;如果 T 為 1,表示這是一個非永久分配(即暫時)的多播 GID。

Scope(作用域)字段也有 4 位,用于限制多播組的作用域。如果 Scope 字段的值為 2,表示此多播 GID 僅限在子網內使用;如果 Scope 字段的值為 5,表示此多播 GID 僅限在由幾個子網組成的一個區域中使用;如果 Scope 字段的值為 8,表示此多播 GID 可以在一個本地組織中使用;如果 Scope 字段的值為 0xE,表示此多播 GID 可以全局使用。

? 一個終端端口可以加入 0、1 或多個多播組,也就是說,一個終端端口可以被分配 0、1 或多個多播 GID。

? 多播 GID 不能作為源 GID 出現在全局路由報頭中。

? 多播 GID FF02000:1 是一個本地連接型的多播 GID,路由器不能把以這種 GID為目的 GID 的數據包轉發到子網外。此 GID 在作為 GRH 內的目的地址時,被用來與參與所有通道適配器多播組的一組 QP 通信。所有通道適配器多播組包括希望參與該多播組的所有通道適配器,和增強型交換機的 0 號端口。所有通道適配器多播組用于向能夠參與多播操作的所有通道適配器(必須共享相同的 MGID、P_key 和 Q_key)實現廣播服務。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10863

    瀏覽量

    211781
  • 網絡
    +關注

    關注

    14

    文章

    7565

    瀏覽量

    88794
  • 路由器
    +關注

    關注

    22

    文章

    3732

    瀏覽量

    113788
  • TCP
    TCP
    +關注

    關注

    8

    文章

    1353

    瀏覽量

    79077
  • RDMA
    +關注

    關注

    0

    文章

    77

    瀏覽量

    8949

原文標題:好書連載|RDMA技術簡介(4)

文章出處:【微信號:LinuxDev,微信公眾號:Linux閱碼場】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    深入了解RDMA技術

    Explorer,專注于高性能網絡、虛擬化網絡及網卡的測試方案研究。熟悉dpdk,rdma,sdn等技術的應用與解決方案。
    的頭像 發表于 12-26 09:23 ?1828次閱讀
    深入了解<b class='flag-5'>RDMA</b><b class='flag-5'>技術</b>

    RDMA RNIC虛擬化方案

    遠程直接內存訪問(Remote Direct Memory Access,RDMA技術允許應用程序繞過操作系統內核,以零拷貝的方式和遠程計算機進行網絡通信,具有低延遲和高帶寬的優勢。RDMA協議
    的頭像 發表于 01-23 17:23 ?1991次閱讀
    <b class='flag-5'>RDMA</b> RNIC虛擬化方案

    利用CXL技術重構基于RDMA的內存解耦合

    本文提出了一種基于RDMA和CXL的新型低延遲、高可擴展性的內存解耦合系統Rcmp。其顯著特點是通過CXL提高了基于RDMA系統的性能,并利用RDMA克服了CXL的距離限制。
    發表于 02-29 10:05 ?3144次閱讀
    利用CXL<b class='flag-5'>技術</b>重構基于<b class='flag-5'>RDMA</b>的內存解耦合

    基于RDMA技術的Spark Shuffle性能提升

    一篇文章教你使用RDMA技術提升Spark的Shuffle性能
    發表于 10-28 16:46

    技術盛宴 | 淺析RDMA網絡下MMU水線設置

    了廣泛應用。為保障RDMA的穩定運行,基礎網絡需要提供端到端無損零丟包及超低延時的能力,這也催生了PFC、ECN等網絡流控技術RDMA網絡中的部署。在RDMA網絡中,如何合理設置MM
    發表于 11-22 12:44 ?1158次閱讀

    基于RDMA網絡的MMU水線設置步驟與應用實例

    RDMA(Remote Direct Memory Access),通俗的說就是遠程的DMA技術,是為了解決網絡傳輸中服務器端數據處理的延遲而產生的。
    的頭像 發表于 01-02 16:15 ?3997次閱讀
    基于<b class='flag-5'>RDMA</b>網絡的MMU水線設置步驟與應用實例

    如何選擇最適合自己的RDMA網卡

    近些年來,RDMA網卡的技術應用在全球以太網通訊市場上刮起一股旋風,特別是阿里、騰訊、浪潮、超微、聯想等一些互聯網巨頭企業在服務器上大量部署RDMA網卡。2019年,據官方數據報道,天貓雙11當天
    發表于 10-21 15:35 ?720次閱讀

    RDMA是什么?RDMA網卡有什么作用?

    近幾年RDMA這個詞在行業內炒的如火如荼,但是很多人表示RDMA具體是什么?主要應用在哪些領域,有什么作用?RDMA都有哪幾種協議?今天小編就這幾個問題給大家科普一下。
    發表于 12-27 17:15 ?1.2w次閱讀

    RDMA技術有助于實現網絡和設備的性能提升

    RDMA作為一種遠程直接內存訪問技術,可以使數據通過應用程序繞過CPU直達網卡,實現低延遲、低負載、高效率的數據傳輸。從而提升網絡和設備性能。
    發表于 03-28 15:03 ?622次閱讀

    RDMA技術簡介 RDMA的控制通路和數據通路方案

    RDMA 技術基于傳統以太網的網絡概念,但與以太網網絡中的同類技術存在差異。關鍵區 別在于,RDMA 提供了一種消息服務,應用程序可以使用該服務直接訪問遠程計算機上的虛擬內存。
    發表于 04-10 09:59 ?1848次閱讀

    RDMA技術簡介

    RDMA 指的是一種遠程直接存儲器訪問技術。具體到協議層面,它主要包含 InfiniBand、RoCE 和 iWARP 三種協議。三種協議都符合 RDMA 標準,共享相同的上層用戶接口(Verbs),只是在不同層次上有一些差別。
    的頭像 發表于 04-13 10:48 ?3693次閱讀

    什么是RDMA?什么是RoCE網絡技術

    在數據為王的時代,人們對網絡的要求更加嚴苛。然而傳統的TCP / IP以太網連接占用了大量的CPU資源,并且需要額外的數據處理,已無法再滿足當前更快、更高效和可擴展性的網絡需求。在這種情況下,RoCE(RDMA over Converged Ethernet )走進了人們的視野。
    的頭像 發表于 07-24 17:40 ?7082次閱讀
    什么是<b class='flag-5'>RDMA</b>?什么是RoCE網絡<b class='flag-5'>技術</b>?

    Redis RDMA改造方案分析

    RDMA傳輸的適配,從業務場景的使用角度來看,大致可分為如下幾種類型。
    的頭像 發表于 08-16 10:22 ?2346次閱讀
    Redis <b class='flag-5'>RDMA</b>改造方案分析

    rdma網絡是什么?RDMA網絡有什么應用場景?

    RDMA(Remote Direct Memory Access)網絡是一種技術,它通過網絡直接在計算機之間傳輸數據,而無需雙方操作系統的介入。這種技術可以允許高吞吐、低延遲的網絡通信,尤其適合在大規模并行計算機集群中使用。
    的頭像 發表于 12-22 09:30 ?1169次閱讀

    以太網RDMA RoCE的技術局限

    上期我們講到了RDMA的WHY,WHAT & HOW(AI網絡背景下RDMA的Why,What & How),這一期我們來談一談RDMA的不足。
    的頭像 發表于 10-22 10:02 ?386次閱讀
    以太網<b class='flag-5'>RDMA</b> RoCE的<b class='flag-5'>技術</b>局限
    主站蜘蛛池模板: 欧美美女福利视频| 久久久久久人精品免费费看| 免费人成网站永久| 在线二区| 免费观看黄视频| 日韩毛片免费| 久久九九色| 91p0rn永久备用地址二| 国产99久9在线视频| 伊人网大| 久久日精品| 欧美黑人粗硬大在线看| 西西人体www303sw大胆高清 | 欧美性猛| 狠狠色噜噜狠狠狠狠2018| 亚1州区2区三区4区产品| 国产在线a不卡免费视频| 五月天婷婷基地| 成人影院免费观看| 亚洲成人三级| 免费黄色| 久草福利在线播放| 亚洲最大成人综合网| 国产农村一级特黄α真人毛片| 午夜国产高清精品一区免费| 一级a级国产不卡毛片| 婷婷六月综合网| 亚洲色图17p| 99香蕉国产| 色噜噜狠狠狠狠色综合久一| 国产农村三片免费网站| 午夜三级理论在线观看视频| 色老头永久免费网站| 深夜视频在线免费观看| 欧美69xx性欧美| 日本黄色高清视频网站| 免费看片你懂的| 五月婷婷七月丁香| 国产高清在线看| 国产高清免费午夜在线视频| 四虎影院新地址|