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

    文章

    7764

    浏览量

    92674
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128623
  • RDMA
    +关注

    关注

    0

    文章

    85

    浏览量

    9557

原文标题:关于InfiniBand和RDMA网络配置实践

文章出处:【微信号:算力基建,微信公众号:算力基建】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    内网穿透:从原理到实战部署

    本文介绍了内网穿透技术的原理及其应用解决方案。由于NAT网络和动态IP的限制,外部无法直接访问内网设备。内网穿透通过公网中转服务器建立连接通道,实现外部访问内网服务。文章详细讲解了ZeroNews
    的头像 发表于 11-04 16:57 1252次阅读
    内网穿透:从原理到实战部署

    能源监测管理平台支持手机端远程访问

    能源监测管理平台普遍支持手机端远程访问 ,用户可通过手机APP或网页端实时查看能耗数据、设备状态及报警信息,实现远程监控与管理。以下为具体说明: 一、手机端远程
    的头像 发表于 09-30 11:48 233次阅读
    能源监测管理平台支持手机端<b class='flag-5'>远程</b><b class='flag-5'>访问</b>吗

    【NCS随笔】如何进入system_off深度睡眠模式以及配置GPIO中断唤醒

    【NCS随笔】如何进入system_off深度睡眠模式以及配置GPIO中断唤醒 本文章主要是讲解NCS下面使用nRF54L15如何进入system_off模式,以及如何配置通过按键唤醒
    的头像 发表于 09-29 00:56 480次阅读
    【NCS随笔】如<b class='flag-5'>何进</b>入system_off深度睡眠模式以及<b class='flag-5'>配置</b>GPIO中断唤醒

    远程访问NAS不折腾,轻松获取固定访问地址!

    。 传统方案通常需要公网IP或复杂的路由器设置,不仅成本高且操作繁琐。 ZeroNews 无需公网IP、免配置路由器,三步即可实现NAS的远程访问。 简易配置,快速生成固定
    的头像 发表于 09-02 19:20 484次阅读
    <b class='flag-5'>远程</b><b class='flag-5'>访问</b>NAS不折腾,轻松获取固定<b class='flag-5'>访问</b>地址!

    多台IR615如何通过vpn进行远程管理?

    现有多台IR615路由器,希望将其配置为vpn客户端,连接云服务器的vpn服务端 工程师远程连接云服务器对IR615进行管理 在IR615中可以选用哪种vpn协议?如何进行
    发表于 08-06 07:21

    禁用直接LPB访问,如何与TC3x 上的 SWAPEN 协同工作?

    禁用直接 LPB 访问 (xDDIS) 位可通过 TC37x 的 FLASHCON4 和 PROCONTP 进行配置。在 SOTA 场景中,我们应该如何
    发表于 07-29 10:26

    远程访问内网MySQL数据库?这个方案更简单

    ,开发者和运维人员赶紧看过来! 为什么需要这样做? 远程办公必备:无需 VPN,在家或外出时也能轻松连接公司内网数据库 灵活开发测试:开发人员可远程连接本地数据库进行调试,提高协作效率 数据安全保障:通过 ZeroNews 的安
    的头像 发表于 07-04 18:06 650次阅读
    <b class='flag-5'>远程</b><b class='flag-5'>访问</b>内网MySQL数据库?这个方案更简单

    10万用户见证!树莓派 Connect 正式版发布:远程访问功耗直降50%!

    树莓派官方宣布其远程连接服务RaspberryPiConnect正式结束测试阶段:优化后的远程访问功能更简单、更强大!
    的头像 发表于 05-12 15:49 735次阅读
    10万用户见证!树莓派 Connect 正式版发布:<b class='flag-5'>远程</b><b class='flag-5'>访问</b>功耗直降50%!

    使用CAN以及CANIF配置了S32K310的CAN驱动模块,如何进行报文的接收呢?

    我使用CAN以及CANIF配置了S32K310的CAN驱动模块。我知道调用CAN_Write()函数进行报文的发送,但我存有以下的一些问题: 1.我该如何进行报文的接收呢?我看到有一些文章说能够通过
    发表于 03-21 07:24

    何进行电磁干扰处理

    智慧华盛恒辉如何进行电磁干扰 一、引言 电磁干扰已成为一种重要的作战手段,用于削弱、瘫痪或混乱敌方的通信、控制和侦察系统。如何对敌方的装备进行电磁干扰,包括干扰原理、干扰方式、干扰策略以及干扰效果
    的头像 发表于 02-20 10:28 1180次阅读

    DLP4710EVM-LC如何进行烧录?

    DLP4710EVM-LC: 如何进行烧录
    发表于 02-20 08:07

    Impero:革新安全远程访问方案

    借助 Impero Connect,您的 IT 支持团队可以确信您的远程访问软件将用于提供高效和简化的支持,而不是网络攻击或恶意行为。 超越自我的安全远程访问 无论在哪个行业,大多数网
    的头像 发表于 02-10 11:42 742次阅读
    Impero:革新安全<b class='flag-5'>远程</b><b class='flag-5'>访问</b>方案

    教你三招异地访问NAS

    NAS 设备上安装节点小宝客户端,并在节点小宝的内网穿透界面添加服务,填入 NAS 设备的内网地址与端口号,再设置一个独属于自己的外网地址,之后便可以通过该外网地址直接访问 NAS. 比如,你在家中设置好了群晖 NAS 的内网穿透,之后在外
    的头像 发表于 01-02 11:26 1826次阅读
    教你三招异地<b class='flag-5'>访问</b>NAS

    如何远程登录路由器

    已经连接到互联网,并且能够通过局域网内的设备(如电脑、手机等)进行访问。 其次 ,在需要远程访问的设备上(如手机、电脑等),访问节点小宝的官
    的头像 发表于 12-18 12:01 1554次阅读
    如何<b class='flag-5'>远程</b>登录路由器

    Splashtop 在日本远程访问服务市场份额排名第一

    ,Splashtop在日本远程访问服务市场份额排名第一。Splashtop首席执行官兼联合创始人MarkLee表示:“很荣幸当选日本杰出的远程访问服务提供商。客户相
    的头像 发表于 12-12 17:58 857次阅读
    Splashtop 在日本<b class='flag-5'>远程</b><b class='flag-5'>访问</b>服务市场份额排名第一