<html>
<body>
<font size=3>At 03:36 PM 2/8/2006, Arlin Davis wrote:<br>
<blockquote type=cite class=cite cite="">Roland Dreier wrote:<br><br>
<blockquote type=cite class=cite cite="">   Michael> So,
here we have a long discussion on attempting to<br>
   Michael> perpetuate a concept that is not universal
across<br>
   Michael> transports and was deemed to have minimal value
that most<br>
   Michael> wanted to see removed from the
architecture.<br><br>
But this discussion is being driven by an application developer who<br>
does see value in immediate data.<br><br>
Arlin, can you quantify the benefit you see from RDMA write with<br>
immediate vs. RDMA write followed by a send?<br><br>
 <br>
</blockquote>We need speed and simplicity.<br><br>
A very latency sensitive application that requires immediate notification
of RDMA write completion on the remote node without ANY latency penalties
associated with combining operations, HCA priority rules across QPs, wire
congestion, etc. An application that has no requirement for messaging
outside of remote rdma write completion notifications. The application
would not have to register and manage additional message buffers on
either side, we can just size the queues accordingly and post zero byte
messages. We need something that would be equivelent to setting there
polling on the last byte of inbound data. But, since data ordering within
an operation is not guaranteed that is not an option. So, rdma with
immediate data is the most optimal and simplistic method for indication
of RDMA-write completion that we have available today. In fact, I would
like to see it increased in size to make it even more
useful.</blockquote><br>
RDMA Write with Immediate is part of the IB Extended Transport
Header.  It is a fixed-sized quantity and not one subject to change,
i.e. increasing its size.<br><br>
Your argument above reinforces that the particular application need is
IB-specific and thus should not be part of a general API but a
transport-specific API.   If the application will only operate
optimally using immediate data, then it is only suitable for an IB
fabric.  This reinforces the need for a transport-specific
API.<br><br>
Those applications that simply want to enable completion notification
when a RDMA Write has occurred can use a general purpose API that is
interconnect independent and whose code is predicated upon a RDMA Write -
Send set of operations.  This will enable application portability
across all interconnect types.<br><br>
Mike</font></body>
</html>