[ofa-general] RDS flow control
Steve Wise
swise at opengridcomputing.com
Tue May 13 10:58:11 PDT 2008
Richard Frank wrote:
> Steve Wise wrote:
>> Olaf Kirch wrote:
>>> On Monday 12 May 2008 18:57:38 Jon Mason wrote:
>>>
>>>> As part of my effort to get RDS working for iWARP, I will be
>>>> working on the RDS flow control. Flow control is needed for iWARP
>>>> due to the fact that iWARP connections terminate if there is no
>>>> posted recv for an incoming packet. IB connections do not have
>>>> this limitation if setup in a certain way. In its current
>>>> implementation, RDS sets the connection attribute rnr_retry to 7.
>>>> This causes IB to retransmit until there is a posted recv buffer.
>>>
>>> I think for the initial implementation, it is fine for iWARP to just
>>> fail the connect when that happens, and re-establish the connection.
>>>
>>> If you use reasonable defaults for the send and recv queues, receiver
>>> overruns should be relatively rare.
>>>
>>> Once everything else works, let's revisit the flow control part.
>>>
>>>
>> I _think_ you'll hit this quickly with one-way flows. Send
>> completions for iWARP only mean the user's buffer can be reused. Not
>> that its placed at the remote peer or in the remote user's buffer.
>>
> Let's see what happens - anyway - this could be solved in an IWARP
> extension to RDS - right ?
Yes, by adding flow control. And it could be iwarp-specific if you
want. I would not suggest relying on connection termination and
re-establishment as the way to handle this :).
>> But perhaps I'm wrong. Jon, maybe you should try to hit this with IB
>> and rnr_retry == 0 using the rds perf tools?
>> Also "the everything else" part depends on remove fmr usage. I'm
>> working on the new RDMA memory verbs allowing fast registration of
>> physical memory via a send WR. To support iWARP we need to remove
>> the fmr usage from RDS. The idea was to replace fmrs with the new
>> fastreg verbs. Thoughts?
>>
> What does "fast" imply here - how does this compare to the performance
> of FMRs ?
Don't know yet, but probably as fast.
>
> Why would not push memory window creation into the RDS transport
> specific implementations ?
Isn't it already transport-specific? IE you don't need FMRs for TCP.
(I'm ignorant on the specifics of the implementation at this point, so
please excuse any dumb statements :)
>
> Changing the API may be OK - if we retain the performance we have with
> IB.
I assume nothing would fly that regresses IB performance. Worst case,
you have an iwarp-specific RDS transport like you do for TCP, I guess.
Hopefully though, IB + iWARP will be a common transport.
>
>> Stay tuned for the new verbs API RFC...
>>
>> Steve.
>> _______________________________________________
>> general mailing list
>> general at lists.openfabrics.org
>> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
>>
>> To unsubscribe, please visit
>> http://openib.org/mailman/listinfo/openib-general
More information about the general
mailing list