[Pvfs2-developers] BMI send implemtations

Scott Atchley atchley at myri.com
Tue Aug 22 11:40:08 EDT 2006


On Aug 22, 2006, at 11:22 AM, Pete Wyckoff wrote:

> atchley at myri.com wrote on Tue, 22 Aug 2006 09:52 -0400:
>> What is the purpose of the Request To Send (RTS) and Clear To Send
>> (CTS) messages in the IB and other BMI implementations? Is it to
>> check if resources are available on the receiver (i.e. to see if a
>> matching receive has been posted) or to explicitly tell the receiver
>> to post a receive?
>
> The former.  I'm sure Patrick would be happy to quote from his rant
> on how much IB sucks in imposing this netowrk semantic.  :)

He is always happy to rant. :-)

What should a BMI method do if the receive is not posted? Wait?  
Cancel with failure?

>> From my discussions with Sam and Murali, they mentioned that in any
>> exchange the first message is always unexpected. These messages are
>> guaranteed to below a preset size (determined by the BMI method). Any
>> expected message should then find a matching receive on the peer. If
>> so, why use the RTS and CTS messages?
>
> BMI does not guarantee that receives be preposted.  It also does not
> look into message contents to divine that, for instance, an
> unexpected message implies a following expected message.  Even if we
> did integrate BMI into the server protocol, there are situations
> where you wouldn't know the response size in advance.
>
> 		-- Pete

I am still trying to have a clear understanding of how a send varies  
from an unexpected send. The receiver will have some number of pre- 
posted, "generic" receives (i.e. can receive from any peer) to catch  
unexpected sends. If the send is _not_ unexpected (i.e. expected),  
then it implies that the receiver will post a receive for the  
expected send (either pre-posted or slightly late due to clock  
drift), no? If not, what am I missing?

Is the purpose of the RTS/CTS messages then to stall the sending  
until the receiver has posted the receive? If so, would the receiver  
ever send a CTS to indicate that a match is not forthcoming? Or does  
the receiver only send a CTS when the receive is posted? In the  
latter case, the sender may time out waiting for a CTS and thus  
cancel the send?

Thanks,

Scott


More information about the Pvfs2-developers mailing list