【RDMA】学习笔记(三)

本篇主要详细学习RDMA三种不同的技术实现,然后就看心情学习!

一.支持RDMA的三个网络协议

目前RDMA有三种不同的硬件实现,它们都可以使用同一套API来使用,但它们有着不同的物理层和链路层。主要包括InfiniBand (IB)、RDMA over Converged Ethernet (RoCE)以及Internet Wide Area RDMA Protocol (iWARP)。(注意:上述几种协议都需要专门的硬件(网卡)支持

1.InfiniBand(IB)

1.1.简介

InfiniBand 是一种基于 InfiniBand 架构的 RDMA 技术,它提供了一种基于通道的点对点消息队列转发模型,每个应用都可通过创建的虚拟通道直接获取本应用的数据消息,无需其他操作系统及协议栈的介入。

InfiniBand 架构的应用层采用了 RDMA 技术,可以提供远程节点间 RDMA读写访问,完全卸载 CPU 工作负载;网络传输采用了高带宽的传输;链路层设置特定的重传机制保证服务质量,不需要数据缓冲。

InfiniBand 必须运行在 InfiniBand 网络环境下,必须使用 IB 交换机及 IB 网卡才可实现,现在做nfiniBand网络的厂商主要是Mellanox。

性能上看,IfiniBand网络最好,但是网卡和交换机价格很高。

1.2.特点

• 应用层采用 RDMA 技术,降低了在主机侧数据处理的延迟。

• 消息转发控制由子网管理器完成,没有类似以太网复杂的协议交互计算。

• 链路层通过重传机制保证服务质量,不需要数据缓冲,无丢包。

• 具有低延迟、高带宽、低处理开销的特点

2.RoCE(RDMA over Converged Ethernet)

2.1.简介和分类

是一种基于以太网的 RDMA 技术允许应用通过以太网实现远程内存访问。也是由IBTA提出。RoCE 与 InfiniBand技术有相同的软件应用层及传输控制层,仅网络层及以太网链路层存在差异。

RoCE分为两种版本

RoCE v1基于IP网络,是一种链路层协议,允许在同一个广播域下的任意两台主机直接访问。基于以太网承载 RDMA,只能部署于二层网络,它的报文结构是在原有的 IB架构的报文上增加二层以太网的报文头,通过 Ethertype 0x8915 标识 RoCE 报文。

RoCE v2在此基础上增加了对UDP的支持,提高了网络的兼容性和灵活性,是一种Internet层协议,即可以实现路由功能。基于 UDP/IP 协议承载 RDMA,可部署于三层网络,它的报文结构是在原有的 IB 架构的报文上增加 UDP 头、IP 头和二层以太网报文头,通过 UDP 目的端口号 4791 标 识RoCE 报文。RoCE v2 支持基于源端口号 hash,采用 ECMP 实现负载分担,提高了网络的利用率。

RoCE 技术可通过普通以太网交换机实现,但服务器需要支持 RoCE 网卡,网络侧需要支持无损以太网络,这是由于 IB 的丢包处理机制中,任意一个报文的丢失都会造成大量的重传,严重影响数据传输性能。

RoCE支持在标准以太网基础设施上使用RDMA技术,但是需要交换机支持无损以太网传输,只不过网卡必须是支持RoCE的特殊的NIC。

2.2.特点

RoCE 使得基于以太网的数据传输能够:

• 提高数据传输吞吐量。

• 减少网络延时。

• 降低 CPU 负载。

3.iWARP

3.1.简介

 是基于以太网和 TCP/IP 协议的 RDMA 技术,可以运行在标准的以太网基础设施上。

由 IETF 标 准定义。iWARP 支持在标准以太网基础设施上使用 RDMA 技术,而不需要交换机支持无损以太网传输,但服务器需要使用支持iWARP 的网卡。与此同时,受 TCP 影响,性能稍差。

二.关系和理解

目前,虽然IB、以太网RoCE、以太网iWARP这三种RDMA技术使用统一的API,但它们有着不同的物理层和链路层。在以太网解决方案中,RoCE相对于iWARP来说有着明显的优势,这些优势体现在延时、吞吐率和 CPU负载。RoCE被很多主流的方案所支持,并且被包含在Windows服务软件中

RoCE和InfiniBand,一个定义了如何在以太网上运行RDMA,而另一个则定义了如何在IB网络(主要是基于集群的应用)中运行RDMA
RoCE和iWARP,一个是基于无连接协议UDP,一个是基于面向连接的协议(如TCP)。

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习 RDMA(Remote Direct Memory Access)可以通过以下方法进行: 1. 学习基本概念:了解 RDMA 的基本概念和工作原理,包括 RDMA 网络架构、RDMA 传输协议(如 InfiniBand、RoCE 等)、RDMA 操作模型和数据传输过程等。 2. 阅读文档和规范:查阅相关的 RDMA 文档和规范,包括官方文档、标准规范和协议说明。这些文档可以提供关于 RDMA 的详细信息和技术细节。 3. 参考教材和教程:有一些专门的书籍和教程介绍了 RDMA 技术,包括 RDMA 的原理、设计和实现。可以通过阅读这些教材来深入了解 RDMA。 4. 参加培训和课程:参加相关的培训课程或在线学习平台上的课程,了解 RDMA 的基本原理和应用实践。这些课程通常会提供理论讲解、案例分析和实验演示等。 关于 RDMA 的拥塞算法现状及演进方向,以下是一些常见的拥塞算法和发展趋势: 1. 基于随机早期检测(Random Early Detection, RED)的拥塞控制算法:RED 算法是一种基于随机策略的拥塞控制算法,通过在网络节点上监测队列长度,并根据队列长度的阈值来丢弃或标记数据包,以减少网络拥塞。RED 算法可以应用于 RDMA 网络中,以实现拥塞控制。 2. 基于传输控制协议(Transmission Control Protocol, TCP)的拥塞控制算法:TCP 是一种常见的传输层协议,具有强大的拥塞控制机制。在 RDMA 网络中,可以借鉴 TCP 的拥塞控制算法,如 TCP Vegas、TCP New Reno 等。 3. 基于反馈和控制论的拥塞控制算法:近年来,一些研究提出了基于反馈和控制论的拥塞控制算法,如 Proportional Integral (PI) 控制器、Model Predictive Control (MPC) 等。这些算法可以根据网络状态和性能指标进行动态调整,以实现更精确和高效的拥塞控制。 4. 数据中心拥塞控制算法:随着数据中心规模的增大和应用负载的复杂化,数据中心网络的拥塞控制成为一个重要问题。一些新的拥塞控制算法针对数据中心网络特点进行优化,如 DCTCP、Homa 等。这些算法通过优化拥塞信号传输和调度策略,以提高数据中心网络的性能和吞吐量。 未来 RDMA 拥塞算法的发展方向可能包括以下几个方面: 1. 更精确和动态的拥塞控制:研究人员正在探索更精确和动态的拥塞控制算法,以适应不同网络环境和负载的变化。 2. 机器学习和人工智能在拥塞控制中的应用:机器学习和人工智能技术的发展为拥塞控制提供了新的思路和方法。未来可能会有更多基于机器学习的拥塞控制算法被提出和应用。 3. 跨层次优化:拥塞控制不仅仅局限于传输层,还需要考虑与其他网络层次(如网络拓扑、路由选择等)的协同优化,以实现更高效的拥塞控制。 4. 针对特定应用场景的优化:不同应用场景对网络性能和延迟要求不同,可能需要定制化的拥塞控制算法来满足特定需求。 为了更深入了解 RDMA 的拥塞算法现状和演进方向,建议阅读相关的学术论文、专业期刊和会议论文,以及参考相关的研究报告和技术博客。同时,参与学术会议和研讨会也是了解最新研究动态和交流学习的好途径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值