[rds-devel] what is rdma immediate data and how is it used ?

Or Gerlitz ogerlitz at voltaire.com
Wed Jan 9 08:10:44 PST 2008


Richard Frank wrote:
> Or Gerlitz wrote:
>> Richard Frank wrote:
>>> Our planned use of immediate data (notification message of rdma 
>>> completion) keeps the immediate data (msg) separate from the rdma data.

>> Isn't this somehow non optimal for the case of rdma-write (disk read)?

> In the rdma write case (data to client) the immediate data identifies 
> the request that is completing.

Indeed, and with sending the immediate data along with (ie immediatly 
after, or even in post-send-list fashion, ie call ib_post_send with two 
work requests, the first of the rdma-write and the second of the 
immediate data send) the rdma-write, there will be no need as you noted 
to ask for completion on the rdma-write. Also assuming some 
credits/windowing scheme is used between the disk client and server, it 
will let the client to note this request is done more quickly and 
dequeue and submit another request.

> In the rdma read case (data from client), the rdma server  can 
> optionally send notification (immediate data).  The rdma server could - 
> for example - let the client know that the client buffer is no longer in 
> use - the data is now on the rdma server - and if it is in non-volatile 
> memory - it could indicate that the clients request is complete.  From 
> the RDS driver perspective, the immediate data rm (even if zero client 
> data) also provides a mechanism to auto free the key setup for the rdma 
> xfer (resource management). If moving the data from the rdma server to 
> persistent storage takes additional work - then when this work is 
> complete - a separate message is sent to the client indicating 
> completion of the request.

Yes, I understand that, thanks for the clarification

Or.




More information about the rds-devel mailing list