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

RDMA新手必看:从零开始用ib_write_bw测试RoCE双端口性能

RDMA新手必看从零开始用ib_write_bw测试RoCE双端口性能在数据中心和高性能计算领域RDMA远程直接内存访问技术正成为突破传统网络性能瓶颈的关键。作为RDMA over Converged EthernetRoCE的实践入门指南本文将带您从零开始通过ib_write_bw工具完成单端口与双端口的完整性能对比测试。无论您是刚接触RDMA的开发者还是需要优化分布式存储性能的架构师这些实战经验都将帮助您快速掌握企业级网络基准测试的核心方法。1. 测试环境搭建1.1 硬件准备要点本次测试采用Mellanox ConnectX-7系列网卡CX7这是当前支持200GbE RoCEv2的主流设备。在实际部署时需注意网卡安装确保网卡正确插入PCIe 4.0 x16插槽带宽不足会导致性能瓶颈线缆选择使用认证的DAC铜缆或AOC光缆劣质线材可能引发误码散热设计CX7在满载时功耗可达35W需要保证机箱风道畅通提示通过lspci -vv | grep Mellanox可验证网卡识别状态正常应显示Ethernet controller: Mellanox Technologies MT28908 Family1.2 驱动与固件配置正确的软件栈是测试的基础按以下顺序安装# 卸载旧版驱动 sudo apt purge mlnx-ofed* sudo rm -rf /usr/lib/libibverbs* # 安装MLNX_OFED wget https://www.mellanox.com/downloads/ofed/MLNX_OFED-5.8-1.0.1.1/MLNX_OFED_LINUX-5.8-1.0.1.1-ubuntu20.04-x86_64.tgz tar -xzvf MLNX_OFED*.tgz cd MLNX_OFED*/ sudo ./mlnxofedinstall --force关键配置参数检查参数项推荐值检查命令最大MTU1024cat /sys/class/net/p0/mtuRoCEv2使能Enabledsudo ibv_devinfo -vPFC流控Priority 3mlnx_qos -i p02. 单端口基准测试实战2.1 服务端启动在目标机器执行以下命令启动服务端ib_write_bw --run_infinitely --duration 1 -d mlx5_0 -F参数解析-d mlx5_0指定使用的RDMA设备--duration 1每秒输出一次统计-F禁用CPU频率调节对测试的影响2.2 客户端测试在发起端运行测试命令ib_write_bw --run_infinitely --duration 1 -d mlx5_0 -F 10.240.24.220典型输出结果分析#bytes #iterations BW peak[MB/sec] BW average[MB/sec] MsgRate[Mpps] 65536 176622 0.00 11037.77 0.176604性能指标解读带宽11037.77 MB/s ≈ 88.3 Gb/s接近100GbE线速报文速率0.176 Mpps百万包每秒2.3 性能监控技巧使用自定义脚本实时监控网卡统计#!/bin/bash ETHTOOL($(ethtool -S p0 | awk /tx_prio5_packets/{txp$2} /rx_prio5_packets/{rxp$2} /tx_prio5_bytes/{txb$2} /rx_prio5_bytes/{rxb$2} END {print txp,rxp,txb,rxb})) echo TX: ${ETHTOOL[0]} pkts/s, ${ETHTOOL[2]} bytes/s echo RX: ${ETHTOOL[1]} pkts/s, ${ETHTOOL[3]} bytes/s3. 双端口性能进阶测试3.1 多QP配置原理通过创建多个队列对(QP)实现链路聚合单QP瓶颈单个QP受限于PCIe通道和CPU核心多QP优势利用多核并行和网卡多通道最佳实践QP数量建议为CPU物理核心数的1/23.2 服务端启动增加-q参数指定QP数量ib_write_bw --run_infinitely --duration 1 -d mlx5_0 -q 2 -F3.3 客户端测试对应发起测试命令ib_write_bw --run_infinitely --duration 1 -d mlx5_0 -q 2 -F 10.240.24.220关键输出对比测试模式平均带宽(MB/s)CPU利用率备注单端口11037.7718%单QP单核双端口22043.5465%2QP绑定到不同NUMA节点3.4 GID索引优化在多端口场景下正确的GID索引设置至关重要# 查看可用GID列表 ibv_devinfo | grep -A 10 GID index # 测试时指定GID索引 ib_write_bw -x 1 -d mlx5_0 # 使用索引1的GID常见问题排查错误Couldnt connect to server原因防火墙阻断或GID索引不匹配解决sudo ufw allow 4791/tcp开放RoCE默认端口4. 性能优化深度解析4.1 PCIe调优避免PCIe成为瓶颈的关键参数# 启用PCIe Relaxed Ordering echo 1 /sys/bus/pci/devices/$(ethtool -i p0 | grep bus-info | cut -d -f2)/relaxed_ordering # 检查DMA设置 dmesg | grep -i dma4.2 中断平衡优化中断分配提升多QP性能# 查看中断分布 cat /proc/interrupts | grep mlx5 # 手动绑定中断到特定核心 echo 2 /proc/irq/$(cat /proc/interrupts | grep mlx5_0 | awk {print $1} | tr -d :) /smp_affinity4.3 内存注册优化大块内存注册显著提升吞吐量// 示例注册1GB内存区域 struct ibv_mr *mr ibv_reg_mr(pd, buf, 1UL30, IBV_ACCESS_LOCAL_WRITE | IBV_ACCESS_REMOTE_WRITE);注册模式对比模式延迟(μs)适用场景默认(4KB)1.2小消息高频大页(2MB)0.8大数据块传输巨型页(1GB)0.6持久内存访问在实际测试中当遇到性能达不到预期时建议按照硬件链路-驱动配置-应用参数的顺序逐层排查。记得保存完整的测试日志对比不同参数组合下的性能差异这些数据对后期调优极具参考价值。

相关文章:

RDMA新手必看:从零开始用ib_write_bw测试RoCE双端口性能

RDMA新手必看:从零开始用ib_write_bw测试RoCE双端口性能 在数据中心和高性能计算领域,RDMA(远程直接内存访问)技术正成为突破传统网络性能瓶颈的关键。作为RDMA over Converged Ethernet(RoCE)的实践入门指…...

3大技术突破让前端文档处理效率提升200%:vue-office全场景应用指南

3大技术突破让前端文档处理效率提升200%:vue-office全场景应用指南 【免费下载链接】vue-office 项目地址: https://gitcode.com/gh_mirrors/vu/vue-office 问题场景:前端文档处理的四大拦路虎 在现代Web应用开发中,文档预览功能如同…...

百度网盘高速下载终极方案:直链解析工具完整指南

百度网盘高速下载终极方案:直链解析工具完整指南 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 在数字化资源获取的日常中,百度网盘作为国内主流的云存…...

【物联网实践指南】温度传感模块的智能控制与应用

1. 温度传感模块的核心原理 温度传感模块是物联网系统中感知环境的关键"触角"。想象一下,当你走进一个智能温室,系统能自动调节到最适合植物生长的温度,这背后就是温度传感器在默默工作。这类传感器主要分为接触式和非接触式两大类…...

小程序版 Three.js 入门 Demo(完整可运行)

第一步:准备项目(前提) 确保你的小程序项目已安装 threejs-miniprogram: # 在项目根目录执行 npm install threejs-miniprogram # 然后在微信开发者工具 → 工具 → 构建 npm新建 / 替换 pages/index 下的 3 个文件: …...

告别OBClient!用DBeaver高效管理OceanBase Oracle数据库(含字段注释显示解决方案)

告别OBClient!用DBeaver高效管理OceanBase Oracle数据库(含字段注释显示解决方案) 对于习惯图形化界面的数据库开发者来说,命令行工具OBClient的操作体验往往显得笨重且低效。本文将详细介绍如何通过DBeaver这款强大的数据库管理工…...

ESS、RSS、TSS傻傻分不清?5分钟搞懂机器学习回归模型的核心指标

ESS、RSS、TSS:用生活案例拆解机器学习回归模型的三大核心指标 每次看到天气预报说"明天降水概率70%",你是否好奇这个数字是怎么算出来的?这背后其实和机器学习模型评估指标有着异曲同工之妙。今天我们就用生活中常见的预测场景&am…...

Cartographer定位模式下的位置初始化技巧:如何用ROS服务快速重定位你的机器人

Cartographer定位模式下的位置初始化技巧:如何用ROS服务快速重定位你的机器人 在移动机器人开发中,定位精度和重定位效率直接影响着AGV、服务机器人等应用的可靠性。Cartographer作为业界领先的SLAM解决方案,其pure_localization模式为已建图…...

小白也能玩转AI音效:HunyuanVideo-Foley镜像部署实战

小白也能玩转AI音效:HunyuanVideo-Foley镜像部署实战 1. 引言:为什么你需要这个AI音效神器 想象一下这个场景:你刚用手机拍了一段精彩的旅行视频,画面里有海浪拍打礁石、海鸥掠过天空、孩子们在沙滩上奔跑。但当你想分享给朋友时…...

从Threads_FOUND报错深入理解CMake的FindThreads模块工作机制

从Threads_FOUND报错深入理解CMake的FindThreads模块工作机制 当你在CMake项目中遇到Could NOT find Threads (missing: Threads_FOUND)报错时,表面上看是简单的依赖缺失问题,背后却隐藏着CMake线程库查找机制的复杂逻辑。本文将带你深入FindThreads.cma…...

系统架构设计 {slide}

系统架构设计 {slide} 【免费下载链接】md2pptx Markdown To PowerPoint converter 项目地址: https://gitcode.com/gh_mirrors/md/md2pptx 核心组件 {slide} 前端服务 React框架Redux状态管理 后端服务 Node.js APIMongoDB数据库 性能对比 {slide} type: bar data:…...

墨刀原型设计实战:从入门到高保真交互效果全解析

1. 墨刀入门:零基础快速上手 第一次打开墨刀时,很多新手会被它简洁的界面惊艳到。左侧是整齐排列的工具栏,中间是干净的画布区域,右侧则是属性面板——这种布局让我想起第一次用乐高积木的感觉,所有模块都触手可及。记…...

解决依赖下载报错,npm ERR! code EPERM

报错内容如下:npm ERR! code EPERM npm ERR! syscall rename npm ERR! path D:\项目\kty_zncl_frontend\node_modules\bpmn-io\element-templates-validator npm ERR! dest D:\项目\kty_zncl_frontend\node_modules\bpmn-io\.element-templates-validator.DELETE np…...

【2026年蚂蚁春招算法岗- 3月19日 -第二题- 文本数值混合特征工程】(题目+思路+JavaC++Python解析+在线测试)

题目内容 现有一个文本与数值的混合数据,需要你在仅使用numpy/pandas/scikit-learn的前提下,实现下表所示四段式特征工程+双基模型平均流程,并输出测试集标签。 输入描述 ① Word−levelWord-levelWord−...

OpenClaw Skills 安装指南

OpenClaw Skills 安装指南📚 适用人群:新手友好 | 中文详细说明📖 什么是 Skills? Skills(技能) 是 OpenClaw 的"功能扩展包"。就像手机安装 APP 一样,Skills 可以为你的 AI 助手添加…...

SLAM精度评估实战:用evo工具搞定ATE和RPE(附完整命令行示例)

SLAM精度评估实战:从原理到工具链的深度解析 在机器人导航和增强现实领域,SLAM(同步定位与地图构建)系统的精度直接决定了应用的可靠性。当我们完成一个SLAM算法的开发后,如何科学地评估其性能?本文将带您…...

联邦学习进阶:SCAFFOLD与FedAvg的深度对比及适用场景分析

联邦学习进阶:SCAFFOLD与FedAvg的深度对比及适用场景分析 在联邦学习的实践中,算法选择往往决定了模型性能的上限。当数据分布呈现高度异构性时,传统FedAvg算法暴露出的"客户漂移"问题,促使研究者们寻找更鲁棒的解决方案…...

GroundingDINO零基础入门指南:5步掌握开放集目标检测核心技能

GroundingDINO零基础入门指南:5步掌握开放集目标检测核心技能 【免费下载链接】GroundingDINO 论文 Grounding DINO: 将DINO与基于地面的预训练结合用于开放式目标检测 的官方实现。 项目地址: https://gitcode.com/GitHub_Trending/gr/GroundingDINO 还在为…...

时序预测新范式:Temporal Fusion Transformer (TFT) 如何革新多变量序列建模

1. 时序预测的痛点与TFT的诞生 记得我第一次尝试用LSTM预测股票价格时,被各种技术指标和时间窗口搞得焦头烂额。传统时序预测方法就像拿着老式收音机调频——明明知道信号就在那里,却总是差那么点准头。这正是Temporal Fusion Transformer(TF…...

claude code安装使用 node版

1、检查自己系统中是否安装node node 版本尽量在20及20以上。 node -v npm -v没有安装先进行安装,可参考文章https://blog.csdn.net/weixin_52755319/article/details/115857361?spm1001.2014.3001.5501 node的安装网址(https://nodejs.org/en/&#xf…...

3个维度提升中文文献管理效率:Zotero茉莉花插件深度解析

3个维度提升中文文献管理效率:Zotero茉莉花插件深度解析 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 问题矩阵&…...

Qwen3-0.6B-FP8入门:Typora结合Markdown文档生成

Qwen3-0.6B-FP8入门:Typora结合Markdown文档生成 1. 快速上手:环境准备与工具介绍 如果你经常写Markdown文档,可能会遇到需要批量生成内容或者快速填充模板的情况。手动编写既费时又容易重复劳动。今天介绍一个实用的组合:用Qwe…...

淘宝潮玩扭蛋机小程序开发全解析:技术落地+生态适配+合规避坑

潮玩消费持续下沉,扭蛋机凭借低门槛、强仪式感、轻量化的特点,成为淘宝生态内引流变现的热门轻互动模式。相较于独立潮玩小程序,淘宝潮玩扭蛋机小程序需深度适配淘宝开放平台规则、电商链路与流量逻辑,兼顾玩法趣味性、交易稳定性…...

Unity资源包提取与编辑全指南:UABEAvalonia跨平台工具技术解析与实战应用

Unity资源包提取与编辑全指南:UABEAvalonia跨平台工具技术解析与实战应用 【免费下载链接】UABEA UABEA: 这是一个用于新版本Unity的C# Asset Bundle Extractor(资源包提取器),用于提取游戏中的资源。 项目地址: https://gitcod…...

OFA模型生成技术文档插图描述实战

OFA模型生成技术文档插图描述实战 写技术文档最头疼的是什么?对我来说,除了逻辑要清晰,还有一个容易被忽视但极其重要的环节——给插图配上准确的描述。架构图、流程图、界面截图,一张张图放上去,还得绞尽脑汁写一段文…...

PDN设计避坑指南:如何避免电源完整性中的常见误区(附实测数据)

PDN设计避坑指南:如何避免电源完整性中的常见误区(附实测数据) 在高速数字电路设计中,电源分配网络(PDN)的质量直接影响系统稳定性和信号完整性。许多工程师在项目后期才发现电源噪声超标、电压跌落过大等问…...

Qwen3.5-9B GPU部署教程:多卡并行推理与模型分片加载实操详解

Qwen3.5-9B GPU部署教程:多卡并行推理与模型分片加载实操详解 1. 引言 Qwen3.5-9B作为新一代多模态大模型,在视觉-语言理解、推理能力和智能体交互方面展现出显著优势。本文将手把手教你如何在多GPU环境下部署这个强大的模型,实现高效并行推…...

PPOCR训练acc为0?试试调整batch_size这个关键参数(附详细步骤)

PPOCR训练acc为0?深入解析batch_size的优化策略与实战技巧 当你满怀期待地启动PPOCR训练流程,却发现acc指标始终卡在0不动,这种挫败感我太熟悉了。去年在部署一个东南亚语言识别项目时,我也曾连续三天被这个问题困扰。经过多次实验…...

TJU微机课设:proteus仿真8086利用8253和8259产生10Hz的定时中断来完成ADC0808采样

一、项目背景与目标在嵌入式系统和微机接口课程中,中断驱动的数据采集系统是一个经典的设计案例。本项目使用8086微处理器、8253定时器、8259中断控制器、8255并行接口芯片、ADC0808模数转换器以及4位数码管,构建了一个完整的10Hz中断采样与显示系统。系…...

StructBERT-Large中文复述识别效果展示:社交媒体评论情感倾向语义聚合案例

StructBERT-Large中文复述识别效果展示:社交媒体评论情感倾向语义聚合案例 1. 项目简介与核心价值 今天要给大家展示一个特别实用的中文语义分析工具——基于StructBERT-Large模型的语义相似度判断系统。这个工具专门解决一个很常见的问题:如何判断两段…...