【RDMA】安装RDMA Soft-RoCE|虚拟机安装Soft-RoCE

目录

什么是Soft-RoCE

Soft-RoCE的作用

与TCP的性能对比

安装Soft-RoCE

Ubuntu系统

其他系统

配置RXE网卡

克隆虚拟机


RoCE既可以通过硬件实现,也可以通过软件实现。 Soft-RoCE 是 RDMA 传输的软件实现。

既然RoCE可以通过软件实现,为什么会对硬件有依赖?

RDMA技术本身的一大特点就是“硬件卸载”,即把本来软件(CPU)做的事情放到硬件中实现以达到加速的目的,RoCE由软件实现就无法实现对CPU减负。

如果不考虑CPU减负,自然就可以使用软件的RoCE--Soft-RoCE

什么是Soft-RoCE

softRoCE的目标是在所有支持以太网的设备上都可以部署RDMA传输,可以使不具备RoCE能力的硬件和支持RoCE的硬件间进行基于IB语义的交流。

大白话就是模拟RDMA的软件栈,使得在没有RDMA网卡的环境上,也可以运行基于RDMA写的传输程序。

但是因为RDMA网卡的一大特色之一就是,传输的动作是网卡上的芯片处理的,普通网卡没有这样的硬件,所以只是实现了0拷贝,而没有真正的RDMA网卡的CPU减负功效。

更多关于Soft-RoCE,见:http://t.csdn.cn/SuM9m

http://t.csdn.cn/fD7iy

604 * 821

Soft-RoCE的作用

可以不依赖于硬件不是RoCE,方便学习。

与TCP的性能对比

理论上:

虽然软件实现IB传输层带来了一定的开销,但是相比基于Socket-TCP/IP的传统通信方式,Soft-RoCE因为减少了系统调用(只在软件通知硬件下发了新SQ WQE时才会使用系统调用),发送端的零拷贝以及接收端的只需要单次拷贝等原因,仍然带来了性能上的提升?

实际:

注意:根据网友们的反馈以及我自己实测,Soft-RoCE的性能不及TCP。主要是几个原因:
1. IB传输层MTU最大为4096,256 Bytes的Header + 4096 Bytes的Payload,Header所占比例较高;而TCP的MTU可以很大,相当于提高了有效载荷。
2. 网卡往往可以为TCP提供硬件加速功能。
3. Soft-RoCE用CPU去计算CRC,这是一件很慢的事情。

这里提供我能想到的提升性能的思路:
1. 在编程时做多线程,每个线程绑定一个核,并且每个线程间不要共享使用QP,因为会出现抢锁。
2. 使用WR List代替单个WR,即每次Post Send时下发多个WR组成的WR链表,减少敲Doorbell时的系统调用开销。
3. 将网卡的

posted on 2023-08-10 02:05  bdy  阅读(24)  评论(0)    收藏  举报  来源

导航