当前位置: 首页 > news >正文

【硬件相关】RDMA网络类别及基础介绍

文章目录

    • 一、前言
      • 1、RDMA网络协议
      • 2、TCP/IP网络协议
    • 二、RDMA类别
      • 1、IB
      • 2、RoCE
      • 3、iWARP
    • 三、RDMA对比
      • 1、优缺点说明
        • a、性能
        • b、扩展性
        • c、维护难度
      • 2、总结说明

一、前言

roce-vs-infiniband-vs-tcp-ip
RoCE、IB和TCP等网络的基本知识及差异对比

分布式存储常见网络协议有TCP/IP和RDMA两种,传统TCP/IP协议无法满足高性能计算、AIGC大模型分析等高并发、低时延应用,通常会采用RDMA来满足高吞吐、低延时的网络通信要求。
传统TCP/IP网络通信使用内核发送消息,这种通信方式有较高的数据移动和数据复制开销,现有数据中心一般采用RDMA网络通信,降低了读写时延和服务器CPU资源占用,但RDMA协议对网络丢包非常敏感,0.01的丢包率会使得RDMA吞吐率下降为0,无损成为RDMA网络重要需求之一,通常要求丢包率在1e-05(十万分之一)以下。
在这里插入图片描述

1、RDMA网络协议

RDMA,即Remote Direct Memory Access(远端直接内存访问),它能够使得网络中的两台主机直接在内存中交换数据,而不依赖与任何一台主机的处理器、缓存和操作系统,可以直接通过网络接口访问内存数据,无需操作系统的介入,降低数据处理过程中的延迟。
它将收/发包的工作卸载(offload)到了网卡上,不需要像TCP/IP协议一样使系统进入内核态,减少了拷贝、封包解包等等的开销。这样大大降低了以太网通信的延迟,减少了通讯时对CPU资源的占用,缓解了网络中的拥塞,让带宽得到更有效的利用,从而在支持RDMA的系统之间实现更快的数据传输速率和更低的延迟。
RDMA网络协议具备以下优势:

  • 零拷贝(Zero-copy) :应用程序能够直接执行数据传输,在不涉及到网络软件栈的情况下。数据能够被直接发送到缓冲区或者能够直接从缓冲区里接收,而不需要被复制到网络层。
  • 内核旁路(Kernel bypass) :应用程序可以直接在用户态执行数据传输,不需要在内核态与用户态之间做上下文切换。
  • 不需要CPU干预(No CPU involvement) :应用程序可以访问远程主机内存而不消耗远程主机中的任何CPU。远程主机内存能够被读取而不需要远程主机上的进程(或CPU)参与。远程主机的CPU的缓存(cache)不会被访问的内存内容所填充。
  • 消息基于事务(Message based transactions):数据被处理为离散消息而不是流,消除了应用程序将流切割为不同消息/事务的需求。
  • 支持分散/聚合条目(Scatter/gather entries support):RDMA原生态支持分散/聚合。也就是说,读取多个内存缓冲区然后作为一个流发出去或者接收一个流然后写入到多个内存缓冲区里去。

在这里插入图片描述

2、TCP/IP网络协议

TCP/IP,即Transmission Control Protocol/Internet Protocol(传输控制协议/网络协议),用于互联网上互联网络设备,它确定数据应该如何打包、寻址、传输、路由和接收;TCP/IP 非常重视两台计算机之间的精确数据传输,如果系统在一次性发送消息时遇到问题,则必须再次发送整个消息。
此外,TCP/IP 的功能分为四个不同的层次: 数据链路层、互联网层、传输层和应用层。数据必须经过这四层,然后才能在另一端接收。然后CP/IP 将通过以相反的顺序传递层来重新组装数据,并将其呈现给接收方。通过这种方式,可以通过升级某些层而不是整个系统来提高数据中心的性能或安全性。

二、RDMA类别

RDMA有以下三种类别

1、IB

IB,即Infiniband,是一种专门为RDMA设计的网络,从硬件级别保证网络无损,提供极高的带宽和极低的时延,但是成本高,需要支持IB的网卡和交换机。
Infiniband交换机是特定厂家提供的专用产品(主流厂商有NVIDIA(Mellanox)、Intel、Cisco、HPE 等),采用私有协议,而目前绝大多数环境均采用IP以太网络,采用Infiniband无法满足互通性需求,同时封闭性架构存在厂商锁定问题。

2、RoCE

基于Soft-RoCE可实现不支持RoCE网卡主机具备RoCE网络协议通信能力,配置过程详见Chapter 2. Configuring RoCE

RoCE,即RDMA over Converfied Ethernet,基于以太网实现的RDMA网络,它允许数据从一台主机传输到另一台主机,减少了CPU的操作负载。消耗的资源比 iWARP 少,支持的特性比 iWARP 多,可以使用普通的以太网交换机(需要支持无损以太网技术),但是需要支持RoCE的网卡。
RoCE目前有两个版本

  • RoCE v1:是一种链路层协议,使用RoCE v1协议通信的双方必须在同一个二层网络内,允许在同一个广播域下的任意两台主机直接访问
  • RoCE v2:是一种网络层协议,使用RoCE v2协议的包可以被三层路由,具有更好的扩展性,基于UDP协议封装,允许不同广播域下的主机通过三层访问

3、iWARP

iWARP,即internet Wide Area RDMA Protocol,基于TCP实现的RDMA网络,它使用TCP来实现可靠的数据传输,但由于TCP协议限制,其性能上丢失了大部分RDMA的优势。相比RoCE,在大型组网的情况下,iWARP的大量TCP连接会占用大量的内存资源,对系统规格要求更高。可以使用普通的以太网交换机,但是需要支持iWARP的网卡。
RDMA

在这里插入图片描述

三、RDMA对比

类别RoCEIBiWARP
性能低(受TCP影响)
扩展性
稳定性
维护难度
投入成本
网络设备以太网交换机IB交换机以太网交换机
网卡要求支持RoCE支持IB支持iWARP
标准编制IBTA(InfiniBand Trade Association)IBTA(InfiniBand Trade Association)IETF(Internet Engineering Task Force)

1、优缺点说明

a、性能
  • RoCE提高了企业数据中心的速度和能力,在不更换以太网基础设施情况下降低总体成本
  • Infiniband使用串行链路和总线一次1bit地发送数据,从而实现更快、更有效的通信
  • iWARP提供了与RoCE类似的低延迟和高吞吐量的传输能力,但性能略逊于 InfiniBand 和 RoCE
b、扩展性

三种RDMA网络协议都具有很高的可扩展性和灵活性,其中Infiniband协议扩展性最高,Infiniband一个子网可以支持成千上万个节点,它提供了相对简单和可扩展架构,通过Infiniband路由器创建几乎无限的集群大小。

c、维护难度

三种RDMA网络协议中,其中Infiniband维护难度及成本最高,Infiniband需要采购特定厂家生产的IB网卡和IB交换机,使用了私有协议作为专用网络技术,无法继承用户在IP网络运维的积累;
当前Infiniband市场空间占比很少,业内有经验的运维人员严重缺乏,网络一旦出现故障,无法及时修复,运营成本极高,目前基于传统以太网承载RDMA(RoCE v2)成为RDMA大规模应用的必要趋势。

2、总结说明

  • 对于追求最高性能的网络通信,无疑首选是Infiniband
  • 对于追求更高性能、更易于管理和成本有限的网络通信,无疑首选是RoCE

相关文章:

【硬件相关】RDMA网络类别及基础介绍

文章目录 一、前言1、RDMA网络协议2、TCP/IP网络协议 二、RDMA类别1、IB2、RoCE3、iWARP 三、RDMA对比1、优缺点说明a、性能b、扩展性c、维护难度 2、总结说明 一、前言 roce-vs-infiniband-vs-tcp-ip RoCE、IB和TCP等网络的基本知识及差异对比 分布式存储常见网络协议有TCP/IP…...

POS 之 ETH质押现状

ETH总质押数量趋势图 质押的ETH总数量,数量越多,网络越安全 ETH质押率 质押的ETH数量占总流通数的比率,对ETH价格有积极的影响 ETH总验证人数 质押的总人数,人数越多,说明社区共识越强,活跃度越高 ETH质押日新增质押 新增质押越多说明人们对ETH价格的很乐…...

Qt之插件

插件结构 #mermaid-svg-HMxjwDgwwRejLSQ5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-HMxjwDgwwRejLSQ5 .error-icon{fill:#552222;}#mermaid-svg-HMxjwDgwwRejLSQ5 .error-text{fill:#552222;stroke:#552222;}#…...

Tensorflow2.0+部署(tensorflow/serving)过程备忘记录Windows

Tensorflow2.0部署(tensorflow/serving)过程备忘记录 部署思路:采用Tensorflow自带的serving进模型部署,采用容器docker 1.首先安装docker 下载地址(下载windows版本):https://desktop.docke…...

Docker的安装跟基础使用一篇文章包会

目录 国内源安装新版本 1、清理环境 2、配置docker yum源 3、安装启动 4、启动Docker服务 5、修改docker数据存放位置 6、配置加速器 现在我们已经完成了docker的安装和初始配置。以下为基本测试使用 自带源安装的版本太低 docker官方源安装的话速度太慢了 所以本篇文…...

SQL技巧笔记(一):连续3人的连号问题—— LeetCode601.体育馆的人流量

SQL 技巧笔记 前言:我发现大数据招聘岗位上的应聘流程都是需要先进行笔试,其中占比很大的部分是SQL题目,经过一段时间的学习之后,今天开了一个力扣年会员,我觉得我很有必要去多练习笔试题目,这些题目是有技…...

LeetCode 1976.到达目的地的方案数:单源最短路的Dijkstra算法

【LetMeFly】1976.到达目的地的方案数:单源最短路的Dijkstra算法 力扣题目链接:https://leetcode.cn/problems/number-of-ways-to-arrive-at-destination/ 你在一个城市里,城市由 n 个路口组成,路口编号为 0 到 n - 1 &#xff…...

vulnhub-----Hackademic靶机

文章目录 1.C段扫描2.端口扫描3.服务扫描4.web分析5.sql注入6.目录扫描7.写马php反弹shell木马 8.反弹shell9.内核提权 1.C段扫描 kali:192.168.9.27 靶机:192.168.9.25 ┌──(root㉿kali)-[~] └─# arp-scan -l Interface: eth0,…...

十秒学会Ubuntu命令行:从入门到进阶

一、引言 在使用Ubuntu操作系统时,命令行界面(CLI)是不可或缺的一部分。对于初学者来说,掌握基本的命令行操作可以帮助他们更高效地管理系统和软件。 本文将介绍一些常见的Ubuntu命令以及如何解决与命令行相关的问题。 目录 一、…...

华为智慧教室3.0的晨光,点亮教育智能化变革

“教室外有更大的世界,但世界上没有比教室更伟大的地方。” 我们在求学阶段,都听说过这句话,但往往是在走出校园之后,才真正理解了这句话。为了让走出校园的孩子能够有能力,有勇气探索广阔的世界。我们应该准备最好的教…...

深度学习预测分析API:金融领域的Game Changer

🚀 引言 在这个AI遍地开花的时代,谁能成为金融领域的真正Game Changer?那必然是是深度学习预测分析API。如大脑般高效运转的系统不仅颠覆了传统操作,更是以无与伦比的速度和精度赋予了金融数据以全新的生命。 💼 广泛…...

外贸网站做Google SEO 用wordpress模板的优势

易于优化:WordPress模板是专门为搜索引擎优化(SEO)设计的。从一开始,WordPress模板就考虑到了搜索引擎的因素,因此在构建网站时已经考虑了如何优化网站的结构和内容。使用WordPress模板可以简化优化过程,让您的网站更容易被搜索引…...

后端面试题整理-1

1.Maven 依赖传递产生版本冲突怎么解决? 升级或降级依赖版本:通过修改相关依赖的版本号,选择与项目其他依赖兼容的版本。可以通过查看 Maven 依赖树来确定哪些依赖冲突,并找出合适的版本号进行调整。排除依赖:对于特定…...

Python图像处理之光斑分析

文章目录 质心目标截取光斑半径 python图像处理教程:初步📷插值变换📷形态学处理📷滤波 光斑是工程中经常出现的图像数据,其特点是目标明确,分布清晰。对光斑图像的分析,主要包括质心定位、目标…...

软件测试 - 测试用例基本理论

1. 概念 为了特定的目的(该目的是检验代码是否满足用户需求)而设计的文档,文档包含测试输入、执行条件、预期结果等。文档的形式一般是excel表格。 比如说我们买了一台电脑,新买的笔记本检查完外观之后第一步需要查看电脑是否能够正常开机,…...

在 Flutter 中使用 flutter_gen 简化图像资产管理

你是否厌倦了在 Flutter 项目中手动管理图像资产的繁琐任务? 告别手工输入资源路径的痛苦,欢迎使用“Flutter Gen”高效资源管理的时代。在本文中,我将带您从手动处理图像资源的挫折到动态生成它们的便利。 选择1:痛苦手动添加–…...

两天学会微服务网关Gateway-Gateway过滤器

锋哥原创的微服务网关Gateway视频教程: Gateway微服务网关视频教程(无废话版)_哔哩哔哩_bilibiliGateway微服务网关视频教程(无废话版)共计17条视频,包括:1_Gateway简介、2_Gateway工作原理、3…...

图像处理 mask掩膜

1,图像算术运算 图像的算术运算有很多种,比如两幅图像可以相加,相减,相乘,相除,位运算,平方根,对数,绝对值等;图像也可以放大,缩小,旋…...

信驰达ESP32-C3/RTL8720CM WiFi开发板RF-WT01上线

为方便客户快速选型和验证WiFi模块,深圳市信驰达科技有限公司推出了WiFi开发板RF-WT01,支持适配信驰达RF-WM-ESP32B1、RF-WM-20CMB1、RF-WM-11AFB1、RF-WM-20DNB1 4款WiFi串口模块使用,方便客户实现对信驰达WiFi模块的快速测试和评估。 图1RF…...

【产品经理方法论——产品的基本概念】

1. 产品学三元素 产品学有三个元素:用户、需求、产品 产品学的内容:根据用户的需求设计产品,使用产品服务用户 仅仅通过三个元素无法说明每个元素的概念,因为三个元素互为说明关系。 通过引入人/群体来说明三个元素的关系。 需…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...

如何在网页里填写 PDF 表格?

有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据&#xff…...

MySQL账号权限管理指南:安全创建账户与精细授权技巧

在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则&#xf…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

日常一水C

多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

软件工程 期末复习

瀑布模型:计划 螺旋模型:风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合:模块内部功能紧密 模块之间依赖程度小 高内聚:指的是一个模块内部的功能应该紧密相关。换句话说,一个模块应当只实现单一的功能…...