当前位置: 首页 > 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. 产品学三元素 产品学有三个元素:用户、需求、产品 产品学的内容:根据用户的需求设计产品,使用产品服务用户 仅仅通过三个元素无法说明每个元素的概念,因为三个元素互为说明关系。 通过引入人/群体来说明三个元素的关系。 需…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...

AspectJ 在 Android 中的完整使用指南

一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...

pycharm 设置环境出错

pycharm 设置环境出错 pycharm 新建项目,设置虚拟环境,出错 pycharm 出错 Cannot open Local Failed to start [powershell.exe, -NoExit, -ExecutionPolicy, Bypass, -File, C:\Program Files\JetBrains\PyCharm 2024.1.3\plugins\terminal\shell-int…...

Unity中的transform.up

2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...

node.js的初步学习

那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...

[拓扑优化] 1.概述

常见的拓扑优化方法有:均匀化法、变密度法、渐进结构优化法、水平集法、移动可变形组件法等。 常见的数值计算方法有:有限元法、有限差分法、边界元法、离散元法、无网格法、扩展有限元法、等几何分析等。 将上述数值计算方法与拓扑优化方法结合&#…...

Tauri2学习笔记

教程地址:https://www.bilibili.com/video/BV1Ca411N7mF?spm_id_from333.788.player.switch&vd_source707ec8983cc32e6e065d5496a7f79ee6 官方指引:https://tauri.app/zh-cn/start/ 目前Tauri2的教程视频不多,我按照Tauri1的教程来学习&…...