近期本人在学习rdma相关的基础知识,其中想使用rdma_bench仓库中相关的代码,但是由于这个仓库的代码已经比较老,所以需要修改,在网上进行一番搜索之后发现已经有大佬将修改好的代码上传到了Github仓库中,详情参考RDMA 可扩展性测量实验 BASED ON Design Guidelines for High Performance RDMA Systems_rdma实验_hb_wxz的博客-CSDN博客
原仓库作者是对CX-3网卡(早年的网卡)进行实验,目前我所使用的网卡是CX-6,修改后的代码也是对应的CX-6网卡,下面附上我环境搭建的过程。
git clone https://github.com/wxzisk/RDMA-General.git
mv RDMA-General rdma_bench
cd rdma_bench
接下来需要安装gflags,要注意,cmake的版本不能低于3.0.2
git clone https://github.com/gflags/gflags.git
cd gflags
cmake .
make && make install
下面需要安装一些必要的库,直接使用apt install即可
sudo apt install -y build-essential memcached libmemcached-dev libnuma-dev numactl
要注意,cmake的版本不能低于2.8
cd rdma_bench
cmake .
make
在make成功以后会发现,在本目录下多了一个build的文件夹,然后我们对其中一个进行测试
cd ud-sender
chmod +x run-servers.sh
./run-servers.sh
由于我是在root下操作,需要把sudo删掉,然后还会有-E的报错,通过查询相关解决方案,只需要将-E替换成set -e即可
然后执行./run-servers.sh就不会再报错了。