[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