I want to calculate the data transferring rate of RDMA. Using ConnectX-5 whose bandwidth is declared 200Gbps. I write data transferring code with RDMA read operation. I set start timestamp just before ibv_post_send(), and set end timestamp just after I get cq whose opcode is IBV_WC_RDMA_READ. Calculating the rate, I got transferring rate at about 268.4 Tbps which surpasses the limit. I came out that getting a CQ element dose not mean the data actually mapped to local. So use memcpy copy data once and calculate time t1=end-begin; Then I use memcpy copy same size of data and calculate mere copy time t2. Rate=data_size/(t1-t2). Still, I got 185.6Gps which also surpass the limit. However, I use ofed ib_read_bw to get transferring rate of 22.122Gbps
Question: 1. Does the way I set timestamp right? If not, how to set timestamp right or how to design experiment to calculate transferring rate. 2. What does 100Gps transferring rate, which is declared by Mellanox, mean? Is packet transferring rate or read/write/send/receive operation?