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

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

3天內不再提示

InfiniBand和遠程直接訪問是什么,如何進行配置

sakobpqhz ? 來源:算力基建 ? 作者:算力基建 ? 2022-11-25 14:26 ? 次閱讀

本文簡單描述了InfiniBand 和遠程直接訪問(RDMA)是什么,以及在實踐中如何配置InfiniBand網絡硬件。另外,本文檔解釋了如何配置與 InfiniBand 相關的服務。

01InfiniBand 和 RDMA 介紹

InfiniBand代表兩個不同的因素:

1、InfiniBand網絡的物理鏈路協議

2、InfiniBand Verbs API,這是RDMA(remote direct memory access)技術的一個實現。

RDMA 可在不涉及計算機操作系統的情況下,從一個計算機訪問另一臺計算機的內存。此技術啟用了高吞 吐量和低延遲聯網,且 CPU 使用率較低。 在典型的 IP 數據傳輸中,當機器中的某個應用程序向另一臺機器上的應用程序發送數據時,在接收層時會出現以下情況:

1、內核必須接收數據。

2、內核必須確定該數據是否屬于該應用程序。

3、內核喚醒應用程序。

4、內核會等待應用程序執行系統調用到內核。

5、應用程序將內核本身的內部內存空間數據復制到應用程序提供的緩沖中。

這個過程意味著,如果主機適配器使用直接內存訪問(DMA),或者至少兩次,則大多數網絡流量會被復制 到系統的主內存中。另外,計算機執行很多上下文開關以在內核和應用程序上下文間進行切換。這些上下 文切換都可能造成高流量率的 CPU 負載,并可能造成其他任務的性能下降。 RDMA 通訊會繞過內核在溝通過程中的干預,這和普通的 IP 通訊不同這可減少 CPU 開銷。RDMA 協議 讓主機適配器知道數據包何時來自網絡,應用程序應該接收它,并在應用程序的內存空間中保存數據包。對于 InfiniBand,主機適配器不將數據包發送到內核,然后將其復制到用戶應用程序的內存中,而是,主機適 配器將數據包的內容直接放置在應用程序的緩沖中。此過程需要單獨的 API、InfiniBand Verbs API,應用 程序必須支持這個API才能使用 RDMA。 Red Hat Linux同時支持 InfiniBand 硬件和 InfiniBand Verbs API。另外,Red Hat Enterprise Linux 支持以下技術,以便在非 InfiniBand 硬件中使用 InfiniBand Verbs API:

互聯網廣域 RDMA 協議(iWARP):通過 IP 網絡實施 RDMA 的網絡協議。

RDMA over Converged Ethernet(RoCE),也稱為以太網的 InfiniBand(IBoE):通過以太網實現 RDMA 的網絡協議。

02配置 ROCE

比如 Mellanox、Broadcom 和 QLogic 都提供 RoCE 硬件。 RoCE 是一種網絡協議,可實現通過以太網的遠程直接訪問(RDMA)。以下是不同的 RoCE 版本:

RoCE v1

RoCE 版本 1 協議是帶有 ethertype 0x8915 的以太網鏈路層協議,它允許同一以太網廣播域中任何兩個主機之間進行通信。 默認情況下,在使用 Mellanox ConnectX-3 網絡適配器時,Red Hat Enterprise Linux 使用 RoCE v1 作為 RDMA 連接管理器(RDMA_CM)。

RoCE v2

RoCE 版本 2 協議在 IPv4 或 IPv6 協議的 UDP 上存在。RoCE v2 保留 UDP 目標端口號 4791。默認情況下,在使用 Mellanox ConnectX-3 Pro、ConnectX-4 Lx 或 ConnectX-5 網絡適配器時,Red Hat Enterprise Linux將RoCE v2 用于 RDMA_CM,但硬件支持 RoCE v1 和 RoCE v2。 RDMA_CM 設置客戶端和服務器之間用來傳輸數據的可靠連接。RDMA_CM 為建立連接提供了一個與 RDMA 傳輸相關的接口。該通信使用特定的 RDMA 設備,數據傳輸是基于消息的。 在客戶端使用 RoCE v2,在服務器使用 RoCE v1 不被支持。在這種情況下,將服務器和客戶端都配置為通過 RoCE v1 進行通信。 不支持在客戶端和服務器上的 RoCE v1 使用 RoCE v2 協議。如果您的服務器中硬件只支持 RoCE v1,請將 您的客戶端配置為使用 RoCE v1 與服務器通信。這部分論述了如何在將 mlx5_0驅動程序用于 Mellanox ConnectX-5 Infiniband 設備的客戶端上強制實施 RoCE v1。 Soft-RoCE 是 RDMA over Ethernet 的一個軟件實現,它也稱為 RXE。在沒有 RoCE 主機頻道適配器(HCA)的主機上使用 Soft-RoCE。 Soft-RoCE 功能僅作為技術預覽提供。紅帽產品服務級別協議(SLA)不支持技術預覽功 能,且其功能可能并不完善,因此紅帽不建議在生產環境中使用它們。

03配置核心RDMA子系統

默認情況下,內核命名 IP over InfiniBand(IPoIB)設備,如 ib0,ib1 等。為避免沖突,紅帽建議在 udev 設 備管理器中創建一條規則來創建持久且有意義的名稱,如 mlx4_ib0。 RDMA 操作需要固定物理內存。這意味著內核不允許把內存寫入到 swap 空間中。如果用戶固定太多內 存,系統會耗盡內存,并且內核會終止進程來釋放更多內存。因此,內存固定是一個特權操作。如果非 root 用戶運行大型 RDMA 應用程序,則可能需要增加這些用戶可在系統中的內存量。這部分論述 了如何為 rdma 組配置無限內存。 配置RDMA服務,rdma 服務在內核中管理RDMA堆棧。如果Red Hat Enterprise Linux 檢測到 InfiniBand、iWARP 或 RoCE 設備,udev 設備管理器會指示 systemd 啟動 rdma 服務。

04配置InfiniBand子網管理器

所有 InfiniBand 網絡都必須運行子網管理器才能正常工作。即使兩臺機器沒有使用交換機直接進行連接, 也是如此。有可能有一個以上的子網管理器。在那種情況下,當主子網管理器出現故障時,另外一個作為從網管理器 的系統會接管。大多數 InfiniBand 交換機都包含一個嵌入式子網管理器。 但是,如果您需要一個更新的子網管理器,需使用 Red Hat Enterprise Linux 提供的 OpenSM 子網管理器。

05配置 IPOIB

默認情況下,InfiniBand 不使用 IP 進行通信。但是,IP over InfiniBand(IPoIB)在 InfiniBand 遠程直接訪問(RDMA)網絡之上提供一個 IP 網絡模擬層。這允許現有未經修改的應用程序通過 InfiniBand 網絡傳輸數 據,但性能低于應用程序原生使用 RDMA 時的數據。 互聯網廣域 RDMA 協議(iWARP)和 RoCE 網絡已基于 IP。因此,您不能在 IWARP 或 RoCE 設備之上創建 IPoIB 設備。Mellanox 設備從 ConnectX-4 及更高版本開始,默認使用 Enhanced IPoIB 模式(僅限數 據報)。這些設備不支持連接的模式。 IPOIB通訊模式,在Datagram或Connected模式下配置 IPoIB 設備。不同之處在,IPoIB 層試圖使用什么類型的隊列對在通信的另一端的機器中打開: 在Datagram模式中,系統打開了一個不可靠、斷開連接的隊列對。這個模式不支持大于 InfiniBand link-layer 的最大傳輸單元(MTU)的軟件包。IPoIB 層在傳輸的 IP 數據包之上添加了一個 4 字節 IPoIB 標頭。因此,IPoIB MTU 需要比 InfiniBand link-layer MTU 小 4 字節。因為 2048 是一個常見的 InfiniBand 鏈路層 MTU,數據數報模式中常見的 IPoIB 設備 MTU 是 2044。 在Connected模式中,系統會打開一個可靠、連接的隊列對。此模式允許大于 InfiniBand 鏈路層 MTU 的消息,主機適配器處理數據包分段和重新傳輸。因 此,InfiniBand 適配器以Connected模式發送的 IPoIB 信息大小沒有限制。但是,IP 數據包會受size字段和 TCP/IP 標頭的限制。因此,Connected模式中的 IPoIB MTU 最大為65520字節。 連接 模式模 的性能更高,但消耗的內核內存更多。 如果系統被配置為使用Connected模式,它仍然會以Datagram模式發送多播流量,因為 InfiniBand 交換機和光纖無法在Connected模式下傳遞多播流量。另外,當與任何未在Connected模式中配置的主 機通信時,系統將返回Datagram模式。 在運行將多播數據發送到接口上最大 MTU 的應用程序時,您必須將接口配置為Datagram模式,或者將應用程序配置為以數據包大小數據包的大小封頂數據包發送的大小。

審核編輯:郭婷

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

    關注

    19

    文章

    6757

    瀏覽量

    85309
  • 操作系統
    +關注

    關注

    37

    文章

    6363

    瀏覽量

    122129
  • RDMA
    +關注

    關注

    0

    文章

    68

    瀏覽量

    8866

原文標題:關于InfiniBand和RDMA網絡配置實踐

文章出處:【微信號:算力基建,微信公眾號:算力基建】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    鴻蒙OpenHarmony【 配置遠程訪問環境】

    在搭建了Windows和Ubuntu開發環境后,需要通過下述設置,使得Windows可以遠程訪問Ubuntu,為后續燒錄文件的傳輸做好準備。
    的頭像 發表于 04-19 20:08 ?131次閱讀
    鴻蒙OpenHarmony【 <b class='flag-5'>配置</b><b class='flag-5'>遠程</b><b class='flag-5'>訪問</b>環境】

    PSoC雙核架構中雙核都可以訪問全部外設嗎?

    你好!如標題:PSoC 雙核架構中兩個內核對芯片的全部外設都有直接訪問能力嘛?如果都可以直接訪問,那IPC模塊的主要應用場景是哪些呢?
    發表于 02-02 11:44

    CysecureTools如何直接訪問外部存儲設備內的密鑰呢?

    顯然不符合安全標準。 那么,如標題所示,CysecureTools應該如何直接訪問外部存儲設備內的密鑰呢?\"
    發表于 01-31 08:08

    Android APP如何進行訪問硬件驅動

    本文我們要講的是在用 i.MX8 平臺開發時,Android APP 如何進行訪問硬件驅動。
    的頭像 發表于 12-04 13:50 ?602次閱讀
    Android APP如<b class='flag-5'>何進行</b><b class='flag-5'>訪問</b>硬件驅動

    CPU怎么訪問代碼和數據

    據?,訪問的方式經歷過四個階段: 1.直接訪問 2.段基址+段偏移地址 3.段選擇子+段偏移地址 4.虛擬地址 現代操作系統采用的是虛擬地址,這也是本篇文章闡述的重點,但虛擬地址是由1 3階段發展而來的,所以也有必要闡述1 3三種訪問
    的頭像 發表于 11-08 17:04 ?549次閱讀
    CPU怎么<b class='flag-5'>訪問</b>代碼和數據

    STM32使用GPIO配置的5種方式

    采用五種不同的方式,具體如下: 一、使用直接寄存器訪問 這種方式是最原始的GPIO訪問方式,直接訪問GPIO的控制寄存器來配置相應的復用功能
    的頭像 發表于 10-26 17:42 ?928次閱讀

    InfiniBand AOC有源光纜簡介

    InfiniBand(直譯為“無限帶寬”技術,縮寫為IB)是一個用于高性能計算的計算機網絡通信標準,它具有極高的吞吐量和極低的延遲,用于計算機與計算機之間的數據互連。InfiniBand也用作服務器與存儲系統之間的直接或交換互連
    的頭像 發表于 10-26 10:54 ?359次閱讀
    <b class='flag-5'>InfiniBand</b> AOC有源光纜簡介

    RDMA(遠程直接內存訪問)傳輸協議概述和應用案例

    人工智能 (AI) 的興起極大地提高了對強大、高效和可擴展的網絡傳輸協議的需求。本文深入探討了 RDMA(遠程直接內存訪問)傳輸協議,并重點討論 ROCEv2 協議,目前基于 ROCEv2 的 RDMA已經在一些超大規模數據中心
    的頭像 發表于 10-25 10:19 ?1066次閱讀
    RDMA(<b class='flag-5'>遠程</b><b class='flag-5'>直接</b>內存<b class='flag-5'>訪問</b>)傳輸協議概述和應用案例

    315MHz無線模塊和單片機如何進行直接通信?

    315MHz無線模塊和單片機如何進行直接通信
    發表于 10-19 08:27

    什么是PLC直接尋址和間接尋址?

    什么是PLC直接尋址和間接尋址?? PLC直接尋址和間接尋址是在程序設計中經常使用的兩種方法。直接尋址指的是根據地址直接訪問特定的內存單元,而間接尋址指的是根據一個地址或變量的值來
    的頭像 發表于 09-15 14:59 ?1874次閱讀

    應急照明控制器如何進行智能控制和遠程管理

    應急照明控制器如何進行智能控制和遠程管理 隨著社會的不斷發展和科技的日新月異,應急照明控制器在建筑、工廠和其他商業場所中的作用越來越大。應急照明控制器是一種用來管理和控制應急照明系統的設備,它能
    的頭像 發表于 09-14 17:58 ?743次閱讀

    Splashtop:通過遠程訪問增強殘障人士的可訪問

    通過遠程訪問技術,人們可以從遠程位置訪問計算機。這意味著用戶可以使用家庭計算機訪問辦公工作站、學校實驗室計算機或任何其他重要的計算資源,而無
    的頭像 發表于 08-21 15:51 ?364次閱讀

    請問怎么不用驅動直接訪問寄存器呢?

    我們已經把我們的IP掛到總線上,集成到內核里面了,請問各位大神可以怎樣不通過驅動來訪問內核的寄存器呢?
    發表于 08-16 06:00

    STM32L4直接訪問內存模塊(DMA)介紹

    電子發燒友網站提供《STM32L4直接訪問內存模塊(DMA)介紹.pdf》資料免費下載
    發表于 08-01 10:15 ?1次下載
    STM32L4<b class='flag-5'>直接訪問</b>內存模塊(DMA)介紹

    實現HMI直接訪問驅動參數的方法

    SINAMICS V90PN驅動器可以通過模擬S7-CPU,將數據庫訪問從HMI映射到驅動參數,該功能可實現在沒有SIMATIC S7控制器時,SIMATIC HMI對驅動參數的直接訪問。
    的頭像 發表于 07-11 17:14 ?548次閱讀
    實現HMI<b class='flag-5'>直接訪問</b>驅動參數的方法
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>