memory-managementclient-serverrdma

How does the remote Peer handles data send by a RDMA Write operation


I have difficulties to understand how and in which cases RDMA operations are used.

Let's say we have a server and a client. The client writes data via rdma-write to the memory region of the server. Since the server doesn't get any notification that data arrived during the client-side rdma-write operation (without immediate), I wonder now: How can the server access this data if it doesn't even know that it got some, let alone where it is located (in the memory region)?

In my research I only found examples and explanations simply describing how to send/read data via rdma-write/read, but no one explained e.g. how to use the data accordingly.


Solution

  • The server's CPU needs to be notified in a separate message abuot the data's arrival before accessing it, either using a subsequent RDMA write with immediate operation, a send operation, or an atomic operation.