rdma

2024/4/12 9:29:40

RoCEv2网络部署实践

延续上篇RoCE网络的介绍,我们知道承载ROCEv2流量必须有一张无损网络。 本章主要介绍在以太网环境部署无损网络的关键点。 首先是QoS,包含流分类和队列调度两部分。 流分类:在网络接入设备(TOR)配置if-match类的语句&am…

RoCE v2中UDP的源端口和目的端口

0 前言 RoCE v2协议中RDMA的数据都是通过UDP来传输的,按照RoCE v2协议规范,UDP的目的端口是固定的(des port 4791),但是UDP源端口的确定是由RDMA驱动使用hash来算出来的。不同的QP建链方式以及QP的类型采用具体的计算…

拥塞控制算法系列之:Swift-谷歌2020年SIGCOM-包级别端到端TIMELY拥塞控制算法

核心要点: 谷歌 2020 SIGCOM基于delay的AIMD拥塞拆分EC和FC,时延敏感场景优势分别计算EC和FC的wnd(最核心)保障吞吐和低延迟。Swift 因利用延迟的简单性和有效性而闻名包级别的论文:https://dl.acm.org/doi/pdf/10.11…

RDMA 、InfiniBand、IB卡、IB驱动 之间的关系!

这里是我自己写的 一个关于 “RMDA、IB卡、IB驱动包下载、Ubuntu16.04安装IB驱动、RDMA测试” 等的一个学习目录;可以更方便的进行学习及文章的查找: 学习目录:RMDA、IB卡、IB驱动包下载、Ubuntu16.04安装IB驱动、ib_read/write_bw测试 RDMA …

rdma 编程详解

1.相关名词解释 1.1 rdma-core 指开源RDMA用户态软件协议栈,(用户空间的驱动)包含用户态框架、各厂商用户态驱动、API帮助手册以及开发自测试工具等。 rdma-core在github上维护,我们的用户态Verbs API实际上就是它实现的。http…

RDMA Scatter Gather List详解

1. 前言 在使用RDMA操作之前,我们需要了解一些RDMA API中的一些需要的值。其中在ibv_send_wr我们需要一个sg_list的数组,sg_list是用来存放ibv_sge元素,那么什么是SGL以及什么是sge呢?对于一个使用RDMA进行开发的程序员来说&#…

【RDMA】librdmacm库和连接建立过程

翻译:rdma_cm - RDMA通信管理器。 概述:rdma_cm是用于建立RDMA传输上的通信的管理器。 说明:RDMA CM是一个用于建立可靠连接和不可靠数据报数据传输的通信管理器。它为建立连接提供了一个RDMA传输中立的接口。该API基于套接字,但…

RDMA在典型场景下的技术应用分析与探索

本文首发于:RDMA在典型场景下的技术应用分析与探索 1.业务适配RDMA类型 RDMA传输的适配,从业务场景的使用角度来看,大致可分为如下几种类型。 场景一:机器学习、分布式存储等场景,使用社区成熟的方案,如在…

博通BCM575系列RDMA网卡驱动bnxt_re分析(一)

简介 整个BCM系列驱动分成以太网部分(bnxt_en.ko)和RDMA部分(bnxt_re.ko), 两个模块之间通过内核的auxiliary_bus进行管理.我们主要分析下bnxt_re驱动. 代码结构 这个驱动的核心是 qplib_fp.c, 这个文件主要包含了驱动的数据路径, 包括Post Send, Post Recv, Poll CQ流程的实…

阿里云RDMA通信库XRDMA论文详解

RDMA(remote direct memory access)即远端直接内存访问,是一种高性能网络通信技术,具有高带宽、低延迟、无CPU消耗等优点。RDMA相比TCP在性能方面有明显的优势,但在编程复杂度上RDMA verbs却比TCP socket复杂一个数量级。 开源社区和各大云厂…

RDMA抓包

拉取容器: docker pull mellanox/tcpdump-rdma 启动容器 docker run -it -v /dev/infiniband:/dev/infiniband -v /tmp/traces:/tmp/traces --nethost --privileged mellanox/tcpdump-rdma 进入mellanox/tcpdump-rdma bash之后,运行以下命令。 3、开始捕…

RDMA编程实践-SEND-RECEICVE原语应用

RDMA编程实践 本文描述了RDMA编程过程中的SEND-RECEIVE双边原语的代码实现。包含多个版本,1、client向server发送消息,server回复client收到消息(ACK),然后两边断开连接。2、server端循环等待客户端建立连接,client发送一次消息后…

RDMA 出现背景、如何实现?如何测试连通性?

文章目录一、背景:1、传统的 网络通信:2、传统网络通信的问题:二、RDMA :1、出现背景:2、RDMA 简介:3、如何工作:4、RDMA 与 Infiniband 的关系:5、支持 RDMA 的其他协议:6、RDMA 的…

qemu-kvm安装and配置桥接和SR-IOV

kvm和docker的区别:kvm是全虚拟化,需要模拟各种硬件,docker是容器,共享宿主机的CPU,内存,swap等。本文安装的qemu-kvm属于kvm虚拟化,其中:kvm负责cpu虚拟化和内存虚拟化,…

RDMA qp数量和RDMA性能

QP数量上升性能下降 ​​​​​​https://icnp21.cs.ucr.edu/papers/icnp21camera-paper30.pdf 在现代云数据中心中,大规模分布式应用通常构建在许多机器上,需要使用大量并发连接进行频繁的网络通信[4]–[6]。但是,RDMA的性能会随着连接数的…

centos7.7源码安装ceph最新版+rdma

需求:为提升ceph性能,采用infiniband 网卡 rdma协议,ceph-deploy安装方式是不支持rdma协议的,故只能采用源码安装,把rdma参数编译进去。 环境准备 IPhostIOSkernel192.168.1.82host82centos7.74.19.6-1.el7.elrepo.x…

rdam 原理解析

目录 1.rdma介绍 2. rdma原理 网络环境下的CPU负载消耗 3. rdma传输 3.1双边操作 3.2 单边操作 4 RoCEv2的封包格式 4.1 RoCEv2的封包格式 4.2 IB BTH格式和字段定义 5 无损网络和PFC 5.1 拥塞产生的原因 5.1.1 收敛比(总输入带宽/总的输出带宽) 5.1.2 ECMP(ECMP构…

基于RDMA的云服务能力实践与探索

01 背景 随着基于大数据大模型构建的数据系统越来越有商业价值,机器学习的玩家也越来越多,数据量越来越大。为解决海量数据在服务器之间的同步效率问题,RDMA(Remote Direct Memory Access) 技术逐渐走进了网络技术人员的视野。RDMA为什么…

使用libibverbs构建RDMA应用

本文是对论文Dissecting a Small InfiniBand Application Using the Verbs API所做的中英文对照翻译 Dissecting a Small InfiniBand Application Using the Verbs API Gregory Kerr∗ College of Computer and Information ScienceNortheastern UniversityBoston, MAkerrgccs…

SRNIC、选择性重传、伸缩性、连接扩展性、RoCEv2优化(六)

参考论文SRDMA(A Scalable Architecture for RDMA NICs ):https://download.csdn.net/download/zz2633105/89101822 借此,对论文内容总结、加以思考和额外猜想,如有侵权,请联系删除。 如有描述不当之处&…

RDMA内核态函数ib_post_send()源码分析

最近调用linux内核下RDMA的Verb API ib_post_send()出现了问题,因此从源码分析一下这个函数的调用过程。 我使用的内核版本为5.15.0-94 这是函数ib_post_send的头文件定义,这个函数的意义是向发送队列提交发送请求,他会调用qp对应设备的post_…

RDMA 是什么?RDMA 出现的背景?RDMA 如何工作?RDMA 的优点!

文章目录1、RDMA 是什么?2、RDMA 出现的背景?先了解一下 传统的 网络通信:传统的网络通信的工作流程:传统网络通信存在的问题:所以 RDMA 出现了:RDMA 工作过程?RDMA 的优点:这里是我…

【RDMA】RDMA事件通知机制详解

RDMA通过kernel-bypass和协议栈offload两大核心技术,实现了远高于传统TCP/IP的网络通信性能。尽管RDMA的性能要远好于TCP/IP,但目前RDMA的实际落地业务场景却寥寥无几,这其中制约RDMA技术大规模上线应用的主要原因有两点: 主流互…

目录大全:RDMA、IB卡、IB驱动下载、ubuntu16.04安装 IB驱动、ib_read/write_bw 测试RDMA读写....

本文章我主要当做一个目录来使用: 方便查询文章 和 跟着步骤去学习文章: 1、RDMA 介绍?RDMA 出现的背景?RDMA 如何工作?RDMA 的优点! 2、使用 Infiniband 协议实现 RDMA ! 3、RDMA 、Infini…

传统网络通信模式、RDMA技术、InfiniBand协议、IB卡(IB交换机)之间的关系?

首先你要明白 RDMA技术 是什么?为什么要出现? 我写了一篇关于 RDMA 的文章,如果你不懂可以看一下 这是我写的关于 IB 卡 的文章 这是我写的关于 下载、安装IB驱动包 的文章 我推荐看一下 我上面分享的第一个文章链接,那里有详细的…

rdma 介绍

1. DMA和RDMA概念 RDMA是Remote Direct Memory Access的缩写,通俗的说可以看成是远程的DMA技术,为了解决网络传输中服务器端数据处理的延迟而产生的。RDMA允许用户态的应用程序直接读取或写入远程内存,而无内核干预和内存拷贝发生。起初&…

RDMA内核态函数ib_post_recv()源码分析

接上文,上文分析了内核rdma向发送队列添加发送请求的函数ib_post_send,本文分析一下向接收队列添加接收请求的函数ib_post_recv。其实函数调用流程与上文类似,不再重复说明,可参考链接。 函数调用过程 最终会调用到这个函数 下面…

nccl 源码安装与应用示例 附源码

1, 官方下载网址 注意,本文并不使用nv预编译的包来安装,仅供参考: NVIDIA Collective Communications Library (NCCL) | NVIDIA Developer 2,github网址 这里是nv开源的nccl源代码,功能完整,不…

高性能网络建设指南,《智算中心网络架构白皮书》开放下载

所有具备前瞻视野的 CTO、技术负责人,都正在将目光聚焦在为公司建立起面向大模型时代的 AI 基础设施。大模型需要大规模高性能集群的支持,如何建设高性能网络是其中最为关键的一步。 高性能网络的成功落地,可以确保大模型用最短的时间训练出…

喷泉码浅谈

01、喷泉码简介 喷泉码(Fountain Code)是一种在无线通信、数据传输和网络编码领域中使用的错误纠正技术。它与传统的纠错码和编码方法有所不同,喷泉码被设计用于在不确定信道条件下的高效数据传输。传统的纠错码(如海明码、RS码等…

RDMA性能优化经验浅谈

一、RDMA概述 首先我们介绍一下RDMA的一些核心概念,当然了,我并不打算写他的API以及调用方式,我们更多关注这些基础概念背后的硬件执行方式和原理,对于这些原理的理解是能够写出高性能RDMA程序的关键。 Memory Region RDMA的网…

RDMA编程实例rdma_cm API

RDMA编程基础 存储大师班 | RDMA简介与编程基础 -https://zhuanlan.zhihu.com/p/387549948 1. RDMA的学习环境搭建 RDMA需要专门的RDMA网卡或者InfiniBand卡才能使用,学习RDMA而又没有这些硬件设备,可以使用一个软件RDMA模拟环境,softiwarp …

基于RDMA的RPC框架(一) 环境搭建

文章目录一、简介二、Ubuntu 14安装SoftRoce2.1、编译内核2.2、安装用户库三、Ubuntu 18安装Soft Roce引用一、简介 二、Ubuntu 14安装SoftRoce 2.1、编译内核 我使用的是 Ubuntu 14.04,内核版本为: 安装 新版本的内核 git clone git://git.kernel.…

博通BCM575系列 RDMA 网卡驱动 bnxt_re 分析(一)

简介 整个BCM系列驱动分成以太网部分(bnxt_en.ko)和RDMA部分(bnxt_re.ko), 两个模块之间通过内核的auxiliary_bus进行管理.我们主要分析下bnxt_re驱动. 代码结构 这个驱动的核心是 qplib_fp.c, 这个文件主要包含了驱动的数据路径, 包括Post Send, Post Recv, Poll CQ流程的实…

FPGA实现 NIC 10G 网卡,纯verilog代码编写,提供工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的UDP方案3、10G网卡基本性能简介4、详细设计方案接口概述PCIe HIPDMA IFAXI总线接口时钟同步处理TXQ和RXQ队列TXCQ和RXCQ队列完成EQ MAC PHY流水线队列管理发送调度程序端口和接口数据路径以及发送和接收引擎分段内存接口 5、vivado工程详…