[openib-general] [MAD] RMPP reassembly

Sean Hefty mshefty at ichips.intel.com
Tue Mar 1 11:57:27 PST 2005


Roland Dreier wrote:

>     Sean> * For the total transaction timeout, the equation given to
>     Sean> calculate the value would probably require 1000+ lines of
>     Sean> code, and the default value given is 40 seconds, which seems
>     Sean> long.  Any opinions on what approach to take here?  I can
>     Sean> either go with a total reassembly timeout value, or a
>     Sean> timeout relative to the last received segment.  I'm leaning
>     Sean> towards whichever ends up being easier to implement.
> 
> I'd be somewhat scared to tinker with the timeout calculations without
> doing some heavy-duty research into how the modified version interacts
> with a spec-compliant implementation.  Experience with TCP shows that
> protocol behavior in the face of packet loss can be complex and
> unpredictable and that minor changes in the protocol can lead to large
> degradations in performance.

I would tend to agree, except that the IB spec gives this beauty of an 
equation for calculating total transaction timeout:

4.096 us x
8 x
ceiling(payload length/220) x
(2 ^ packet lifetime from sender to receiver +
  2 ^ packet lifetime from receiver to sender +
  2 ^ receiver response time value (ClassPortInfo:RespTimeValue or 20) +
  2 ^ sender response time value (ClassPortInfo:RespTimeValue or 20)

Getting from receiving the first segment of an RMPP MAD to this value 
is non-trivial, and doing so before the sender times out is even more 
difficult.  Is there spec compliant implementation of this in 
existence?  If so, I'd be interested in seeing it.

- Sean



More information about the general mailing list