RDMA 踩坑(三):多个 RECV 指向同一块内存,为什么会丢数据?
相关推荐
RDMA编程用户手册
RDMA aware programming user manual libibverbs user manual / document
RDMA单边与双边操作实战:如何用send/recv和read/write提升数据传输效率
本文深入探讨了RDMA技术中单边(read/write)与双边(send/recv)操作的核心原理与应用实践。通过对比分析两种操作模式的性能差异和适用场景,提供了在分布式存储、金融交易等高性能计算领域提升数据传输效率的优化策略和实战技巧,帮助开发者充分发挥RDMA的亚微秒级延迟优势。
RDMA send/recv 和 read/write操作
相当于说,我是client,对应id,我要发送的数据在addr放着,长度length,这个发送的数据所在的内存已经在RDMA设备上注册过了,是mr,发送标志是flags,控制写操作,由于我是直接写到服务器,服务器什么都不做,所以我得知道存到哪,而这个地址是通过send/recv交换过的,所以我就把数据放到remote_addr地址处,当然这块地址也是已经注册过的,我有这个地址的钥匙相当于操作权限rkey,这个也是服务器给我的。本地缓冲区和远程内存都是已经注册过的,才能和RDMA设备直接交互。
RDMA(远程直接内存访问)介绍
RDMA(远程直接内存访问)是一种网络技术,它允许计算机直接从另一台计算机的内存中读取或写入数据,而无需操作系统内核的介入,从而显著降低延迟并提高吞吐量。
RDMA Write with Immediate 踩坑实录:RNR 错误从入门到排查
gcc -o rnr_test rnr_test.c -libverbs ./rnr_test -s -p 18515 -d mlx4_0 ./rnr_test -c 对端ip地址 -p 18515 -d mlx4_0


