[ofa-general] Re: Re: [PATCH RFC] sharing userspace IB objects

Dror Goldenberg gdror at dev.mellanox.co.il
Mon Jul 2 13:08:43 PDT 2007


Michael S. Tsirkin wrote:
>> Quoting Hal Rosenstock <halr at voltaire.com>:
>> Subject: Re: [ofa-general] Re: Re: [PATCH RFC] sharing userspace IB objects
>>
>> On Mon, 2007-07-02 at 08:58, Dror Goldenberg wrote:
>>     
>>> Hal Rosenstock wrote:
>>>       
>>>> On Sun, 2007-07-01 at 15:05, Gleb Natapov wrote:
>>>>   
>>>>         
>>>>> On Sun, Jul 01, 2007 at 07:27:24PM +0300, Dror Goldenberg wrote:
>>>>>     
>>>>>           
>>>>>>> SSQ is needed for scalability, no need to explain this (by 
>>>>>>> the way RD is needed for the same reason too. What's Mellanox 
>>>>>>> plan to support it?
>>>>>>>         
>>>>>>>               
>>>>>> RD is not supported in hardware today. Implementing RD is extremely 
>>>>>> complicated. To solve the scalability issues on MPI like applications
>>>>>> we believe that SRC and SSQ are the right solutions. It is much simpler
>>>>>> for implementation by both software and hardware. By MPI-like I refer
>>>>>> to applications that have some level of trust between two processes of
>>>>>> the
>>>>>> same application. RD also has some performance issues as it only 
>>>>>> supports one message in the air. Those performance issues are solved
>>>>>> by design in SRC/SSQ.
>>>>>>
>>>>>>       
>>>>>>             
>>>>> Didn't know about RD limitation. Is this shortcomings of IB spec or
>>>>> general limitation of reliable datagram? RD looks much nice to me then SRC/SSQ.
>>>>>     
>>>>>           
>>>> I think Dror is referring to number of messages in flight per EEC and
>>>> number of messages in flight per QP being limited to 1 per IBA spec.
>>>> Number of messages enqueued per EEC/QP is implementation dependent.
>>>>
>>>> -- Hal
>>>>   
>>>>         
>>> Correct. The number of messages in flight per EEC is 1 per IB spec.
>>> The fact that IB requires SQ WQEs to complete in order, even if their 
>>> destination is different EECs,
>>>       
>> Where's this requirement in the spec (and could this be relaxed as it
>> seems like it is overly "specified") ? Just wondering...
>>     
>
> For example:
> 	10.8.5 RETURNING COMPLETED WORK REQUESTS
>
> 	...
>
> 	Except for RD Receive Work Queues and Receive Work Queues associ-
> 	ated with an SRQ, Work Completions are always returned in the order
> 	submitted to a given Work Queue with respect to other Work Requests on 
> 	that Work Queue.
>
>   
I referred to:

o10-52: If the CI supports RD Service, Work Requests submitted to the
same RD Send Queue shall complete in the same order in which they
were submitted.

And I agree with Roland that it doesn't worth breaking it. And even if 
you do want to break it, it is still a mess to actually implement it in 
hardware and that is the main reason you see no RD implementations out 
there.




More information about the general mailing list