0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RDMA技术简介

Linux阅码场 来源:Linux阅码场 2023-04-13 10:48 次阅读

13.3 RDMA 协议

RDMA 指的是一种远程直接存储器访问技术。具体到协议层面,它主要包含 InfiniBand、RoCE 和 iWARP 三种协议。三种协议都符合 RDMA 标准,共享相同的上层用户接口(Verbs),只是在不同层次上有一些差别。图 13-6 对比了这几个协议在不同层次上的差异。

ce00fcdc-d92f-11ed-bfe3-dac502259ad0.png

RDMA 技术简介

13.3.1 InfiniBand

InfiniBand(直译为“无限带宽”,缩写为 IB)是一个用于高性能计算的计算机网络通信标准,它具有极高的吞吐量和极低的时延,在 2000 年由 IBTA(InfiniBand TradeAssociation)提出。IBTA 是 RDMA 技术最主要的倡导者和先行者,其规定了一整套完整的链路层到传输层(和传统 OSI 七层模型的传输层不同)规范,如图 13-7 所示。但是 InfiniBand无法兼容现有以太网,如果企业想部署的话,除了需要专用网卡之外,还要重新购买配套的网络交换设备

ce333404-d92f-11ed-bfe3-dac502259ad0.png

13.3.2 RoCE

基于融合以太网的 RDMA(RDMA over Converged Ethernet,RoCE)也是由 IBTA 定义的。InfiniBand 架构规范定义了如何通过 InfiniBand 网络执行 RDMA,而 RoCE 则定义了如何通过以太网网络执行 RDMA。RoCE 有 RoCEv1 和 RoCEv2 两个版本。如图 13-6 所示,RoCE v1 的网络层使用了InfiniBand 规范,链路层使用以太网协议,因此允许同一个以太网广播域中的两台主机进行通信。RoCEv2 使用了“UDP+IP”作为网络层,是一个“网络层+链路层”协议,因此 RoCE v2网络中的数据包可以被路由。RoCE 被认为是 InfiniBand 的“低成本解决方案”,将 InfiniBand传输层的报文封装成以太网数据包进行收发(也就是说 RoCE 仍然使用 InfiniBand 传输层,见图 13-6)。由于 RoCE 可以使用以太网交换设备,因此在企业中的应用比较多,但是其在相同场景下相比 InfiniBand 会有一些性能方面的损失。

RoCE 与 InfiniBand 有如下几个技术差异。

• 链路级流量控制。InfiniBand 使用基于信用(credit-based)的算法来保证无损的网络通信。RoCE 的实现需要无损以太网网络,以达到类似 InfiniBand 的性能。无损以太网通常通过以太网流量控制或优先级流量控制(PFC)进行配置,配置一个无损以太网网络比配置一个 InfiniBand 网络复杂。

• 阻塞控制。InfiniBand 定义了基于 FECN/BECN 标记的阻塞控制协议。RoCEv2 定义了一种使用 ECN 进行标记、CNP 帧进行反馈的阻塞控制协议,网络中的交换机中需要支持 ECN 功能。

• InfiniBand 交换机的时延通常低于以太网交换机。在以太网链路层上使用 RDMA 应用程序时,应注意以下几点。

• 网络中不需要子网管理器。对于那些需要与子网管理器通信的操作,在 RoCE 网络中会以不同的方式进行管理。

• 由于 LID 是 InfiniBand 协议栈链路层的属性,其在 RoCE 网络中无效,因此在查询RoCE 网卡的端口时,LID 显示为零。

• 因为子网管理器不存在,所以无法查询路径。因此,在建立连接之前,必须将相关的值填充进路径记录结构。建议使用 RDMA CM 建立连接,因为它可以负责填充路径记录结构。

• RoCE 设备的流量不显示在相关以太网设备的计数器(比如 ifconfig 命令的输出中可以看到的收发包计数)中,因为它的数据收发不通过以太网设备驱动程序。RoCE 设备 和 InfiniBand 设备的流量统计都在 /sys/class/infiniband//ports//counters/目录下。作者使用的 Mellanox ConnectX-5 100G 网卡就是一种 RoCE 设备。在安装了该设备的机器上,执行 ibv_devinfo 命令可以获取如下比较详细的设备信息,如下所示。

ce4bca96-d92f-11ed-bfe3-dac502259ad0.png

从其中的 transport: InfiniBand 可以看出其传输层为 InfiniBand 传输层,link_layer: Ethernet表示它支持以太网链路层,再结合图 13-6,就可以确认这是一种符合 IBTA 定义的 RoCE 类型的 RDMA 设备。另外,port_lid: 0 表示其 LID 为 0(LID 对 RoCE 无意义)。执行 cma_roce_mode 命令可以获知此网卡当前支持的 RoCE 版本为 RoCEv2。

ce63af12-d92f-11ed-bfe3-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 以太网
    +关注

    关注

    40

    文章

    5077

    浏览量

    166238
  • 存储器
    +关注

    关注

    38

    文章

    7150

    浏览量

    161998
  • 接口
    +关注

    关注

    33

    文章

    7640

    浏览量

    148496
  • InfiniBand
    +关注

    关注

    1

    文章

    25

    浏览量

    9129
  • RDMA
    +关注

    关注

    0

    文章

    68

    浏览量

    8845

原文标题:好书连载 | RDMA技术简介(3)

文章出处:【微信号:LinuxDev,微信公众号:Linux阅码场】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    深入了解RDMA技术

    Explorer,专注于高性能网络、虚拟化网络及网卡的测试方案研究。熟悉dpdk,rdma,sdn等技术的应用与解决方案。
    的头像 发表于 12-26 09:23 819次阅读
    深入了解<b class='flag-5'>RDMA</b><b class='flag-5'>技术</b>

    RDMA RNIC虚拟化方案

    远程直接内存访问(Remote Direct Memory Access,RDMA技术允许应用程序绕过操作系统内核,以零拷贝的方式和远程计算机进行网络通信,具有低延迟和高带宽的优势。RDMA协议
    的头像 发表于 01-23 17:23 675次阅读
    <b class='flag-5'>RDMA</b> RNIC虚拟化方案

    利用CXL技术重构基于RDMA的内存解耦合

    本文提出了一种基于RDMA和CXL的新型低延迟、高可扩展性的内存解耦合系统Rcmp。其显著特点是通过CXL提高了基于RDMA系统的性能,并利用RDMA克服了CXL的距离限制。
    发表于 02-29 10:05 539次阅读
    利用CXL<b class='flag-5'>技术</b>重构基于<b class='flag-5'>RDMA</b>的内存解耦合

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

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

    多核下基于RDMA的高效RPC研究

    本文针对目前基于远程直接内存访问(remote direct memory access,RDMA)的远程过程调用(remote procedure call,RPC)设计在多核背景下存在的性能和扩展性问题,提出了一种新的基于RDMA Write的高效
    发表于 09-26 15:27 0次下载
    多核下基于<b class='flag-5'>RDMA</b>的高效RPC研究

    技术盛宴 | 浅析RDMA网络下MMU水线设置

    了广泛应用。为保障RDMA的稳定运行,基础网络需要提供端到端无损零丢包及超低延时的能力,这也催生了PFC、ECN等网络流控技术RDMA网络中的部署。在RDMA网络中,如何合理设置MM
    发表于 11-22 12:44 921次阅读

    基于RDMA网络的MMU水线设置步骤与应用实例

    RDMA(Remote Direct Memory Access),通俗的说就是远程的DMA技术,是为了解决网络传输中服务器端数据处理的延迟而产生的。
    的头像 发表于 01-02 16:15 3671次阅读
    基于<b class='flag-5'>RDMA</b>网络的MMU水线设置步骤与应用实例

    如何选择最适合自己的RDMA网卡

    近些年来,RDMA网卡的技术应用在全球以太网通讯市场上刮起一股旋风,特别是阿里、腾讯、浪潮、超微、联想等一些互联网巨头企业在服务器上大量部署RDMA网卡。2019年,据官方数据报道,天猫双11当天
    发表于 10-21 15:35 564次阅读

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

    近几年RDMA这个词在行业内炒的如火如荼,但是很多人表示RDMA具体是什么?主要应用在哪些领域,有什么作用?RDMA都有哪几种协议?今天小编就这几个问题给大家科普一下。
    发表于 12-27 17:15 1.1w次阅读

    RDMA技术简介 RDMA的控制通路和数据通路方案

    RDMA 技术基于传统以太网的网络概念,但与以太网网络中的同类技术存在差异。关键区 别在于,RDMA 提供了一种消息服务,应用程序可以使用该服务直接访问远程计算机上的虚拟内存。
    发表于 04-10 09:59 1192次阅读

    RDMA技术简介

    iWARP(Internet Wide Area RDMA Protocol)是 IETF 定义的基于 TCP 的 RDMA,它和RoCE v2 都可以路由。因为 TCP 是面向连接的可靠协议,这使
    的头像 发表于 04-20 09:49 2065次阅读
    <b class='flag-5'>RDMA</b><b class='flag-5'>技术</b><b class='flag-5'>简介</b>

    什么是RDMA?什么是RoCE网络技术

    在数据为王的时代,人们对网络的要求更加严苛。然而传统的TCP / IP以太网连接占用了大量的CPU资源,并且需要额外的数据处理,已无法再满足当前更快、更高效和可扩展性的网络需求。在这种情况下,RoCE(RDMA over Converged Ethernet )走进了人们的视野。
    的头像 发表于 07-24 17:40 3995次阅读
    什么是<b class='flag-5'>RDMA</b>?什么是RoCE网络<b class='flag-5'>技术</b>?

    Redis RDMA改造方案分析

    RDMA传输的适配,从业务场景的使用角度来看,大致可分为如下几种类型。
    的头像 发表于 08-16 10:22 1559次阅读
    Redis <b class='flag-5'>RDMA</b>改造方案分析

    RDMA和TCP/IP有什么区别

    在分布式存储网络中,我们使用的协议有RoCE、Infiniband(IB)和TCP/IP。其中RoCE和IB属于RDMA (RemoteDirect Memory Access)技术,他和传统的TCP/IP有什么区别呢,接下来我们将做详细对比。
    的头像 发表于 11-30 09:19 715次阅读
    <b class='flag-5'>RDMA</b>和TCP/IP有什么区别

    rdma网络是什么?RDMA网络有什么应用场景?

    RDMA(Remote Direct Memory Access)网络是一种技术,它通过网络直接在计算机之间传输数据,而无需双方操作系统的介入。这种技术可以允许高吞吐、低延迟的网络通信,尤其适合在大规模并行计算机集群中使用。
    的头像 发表于 12-22 09:30 569次阅读