RE: ipoib-cm multiple connection model

"Dror Goldenberg" <[email protected]> Wed, 16 Nov 2005 01:04:20 +0200
Newsgroups gmane.ietf.ipoib
Message-ID <[email protected]>
I think it's OK. We can move forward from my perspective.

> -----Original Message-----
> From: H.K. Jerry Chu [mailto:[email protected]]=20
> Sent: Monday, November 14, 2005 9:34 PM
> To: [email protected]; [email protected]
> Cc: [email protected]; [email protected]
> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
>=20
>=20
> Hi folks,
>=20
> Have we reached a concensus the connection setup procedure in=20
> the current draft is "good enough", or folks still think it=20
> needs to be improved?
>=20
> I'd like to see any remaining issue resolved asap so we can=20
> start a WG last call (after Vivke revs the draft based on all=20
> the comments so far).
>=20
> Jerry
>=20
> >Date: Thu, 27 Oct 2005 22:47:16 -0700 (PDT)
> >From: Vivek Kashyap <[email protected]>
> >X-X-Sender: [email protected]
> >To: Dror Goldenberg <[email protected]>
> >Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >MIME-Version: 1.0
> >X-Spam-Score: 0.0 (/)
> >X-Scan-Signature: f8ee348dcc4be4a59bc395f7cd6343ad
> >Cc: "'[email protected]'" <[email protected]>, Vandana Rao=20
> ><[email protected]>
> >X-BeenThere: [email protected]
> >X-Mailman-Version: 2.1.5
> >List-Id: IP over InfiniBand WG Discussion List <ipoverib.ietf.org>
> >List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/ipoverib>,=20
> <mailto:[email protected]?subject=3Dunsubscribe>
> >List-Post: <mailto:[email protected]>
> >List-Help: <mailto:[email protected]?subject=3Dhelp>
> >List-Subscribe: <https://www1.ietf.org/mailman/listinfo/ipoverib>,
> <mailto:[email protected]?subject=3Dsubscribe>
> >
> >Hi Dror,
> >
> >On Thu, 27 Oct 2005, Dror Goldenberg wrote:
> >
> >> Hi Vivek,
> >>
> >> I agree with the flows that you describe, and with the=20
> fact that the=20
> >> original requester has always the "second chance" to withdraw its=20
> >> request by rejecting the REP. However, in my opinion,=20
> giving all this=20
> >> freedom to the implementation can lead to interoperability=20
> issues and=20
> >> poor implementations. If an implementation tries to open n=20
> >> connections with a certain peer, it may end up opening=20
> more or less=20
> >> than n and that might take few iterations and that all=20
> depends on the=20
> >> CM timing and some other "unrelated" parameters - how can you even=20
> >> test it ? I therefore feel that we should provide a robust and=20
> >> deterministic specification of how to establish more than one=20
> >> connection in the RFC or live with a single connection.
> >
> >I'd like to delve into this a bit more to be sure. As per=20
> >your/Vandana's comments, the left peer will cancel the=20
> request. Isn't=20
> >this is a 'conscious' decision by the ULP? The ULP would then remove=20
> >the its internal object that it would associate with this IB=20
> >connection. If it was successful in cancelling the REQ then there is=20
> >only one connection.
> >
> >If, however, as you pointed out it is unable to, it might=20
> receive a REP
> >*if* the remote peer accepts multiple connections. The left=20
> peer's ulp=20
> >however will not find any object associated with the private=20
> data and=20
> >the connection request (there will be another one already existing=20
> >though) and can use that to indicate rejection.
> >
> >Does the above sound right?
> >
> >Vivek
> >
> >>
> >> BTW, this is my opinion in this case, and if folks feel OK=20
> with the=20
> >> current draft, then maybe we should move on ?
> >>
> >> Thanks
> >> Dror
> >>
> >>> -----Original Message-----
> >>> From: Vivek Kashyap [mailto:[email protected]]
> >>> Sent: Wednesday, October 26, 2005 10:33 PM
> >>> To: Dror Goldenberg
> >>> Cc: Vandana Rao; '[email protected]'
> >>> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >>>
> >>>
> >>> On Wed, 26 Oct 2005, Dror Goldenberg wrote:
> >>>
> >>>> Vivek,
> >>>>
> >>>> I agree that the two scenarios you mention here are the=20
> interesting=20
> >>>> ones. I don't agree about the solution. Let's look at the two=20
> >>>> cases:
> >>>>
> >>>> 1) Left peer accepts
> >>>> 	I disagree. You have an assumption that left peer can
> >>>> 	revoke its original connection request - BEFORE transmitting
> >>>> 	the REP that accepts the peer request. I am not sure that
> >>>> 	you can do it with every CM implementation. Even if you can,
> >>>> 	then the HCA can reorder those packets if they are on
> >>>> 	different QPs, and the fabric can reorder them as well if
> >>>> 	they are on different VLs.
> >>>
> >>> Yes, that has the potential for extra connections..however, the=20
> >>> following will occur if CM checks don't work.
> >>>
> >>> Left peer accepted. Sent a REP. And of course the REQ was=20
> also sent.=20
> >>> The right receiver can receive :
> >>>
> >>>  	a. REP first
> >>>
> >>>  	It sets up the connection. Then receives a REQ.
> >>>
> >>>  	i) If it accepts multiple connections from the same peer:
> >>>  		 it will  REP with a new QP (connection).
> >>>
> >>>  		Now, if the left peer decides that it didn't
> >>> need another
> >>>  		connection it terminates the connection.
> >>>
> >>>  		Otherwise, it is legitimate to setup multiple=20
> connections
> >>>  		since it is equivalent to a second valid request.
> >>>
> >>>  	ii) If the right peer does not accept multiple connections from=20
> >>> the
> >>>  	same peer then it will reject the request.
> >>>
> >>>  	Note that these decisions in part depend on the ipoib component=20
> >>> peeking
> >>>  	into the local link address and not on CM.
> >>>
> >>>
> >>>  	b. REQ first
> >>>
> >>>  	Since its own REQ is outstanding, and as per link
> >>> address comparison,
> >>>  	the left peer accepts then this will be rejected.
> >>>
> >>> Vivek
> >>>>
> >>>> 2) Left peer rejects
> >>>> 	I think that this scenario works.
> >>>>
> >>>> Thanks
> >>>> Dror
> >>>>
> >>>>> -----Original Message-----
> >>>>> From: Vivek Kashyap [mailto:[email protected]]
> >>>>> Sent: Tuesday, October 25, 2005 11:38 PM
> >>>>> To: Vandana Rao
> >>>>> Cc: Dror Goldenberg; '[email protected]'
> >>>>> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >>>>>
> >>>>>
> >>>>> Hi Vandana,
> >>>>>
> >>>>> I too agree there is no problem here.
> >>>>>
> >>>>> I think you are right if the left peer accepts the connection.=20
> >>>>> However, if the reverse was the case, that is the left
> >>> peer rejected
> >>>>> the connection since it is found that the local address is=20
> >>>>> numerically larger. It will do this comparison since its
> >>> REQ is also
> >>>>> outstanding.  The right peer will not receive any REQ  (it
> >>> is delayed
> >>>>> or yet to be retransmitted). If it receives the reject it
> >>> will cancel
> >>>>> its request. At a later time it will receive the=20
> >>>>> delayed/retransmitted request and one connection will be=20
> >>>>> established.
> >>>>>
> >>>>> Dror, do these two scenarios look right to you?
> >>>>>
> >>>>> Vivek
> >>>>>
> >>>>> On Thu, 20 Oct 2005, Vandana Rao wrote:
> >>>>>
> >>>>>> Hi Dror,
> >>>>>> I think you are confusing the 2 IDs that come into play in
> >>>>> this setup.
> >>>>>> The
> >>>>>> communication ID is something that the CM entity on a node
> >>>>> understands but
> >>>>>> the transaction ID is something that the MAD handling
> >>>>> entity uses (for
> >>>>>> retransmission, req/resp matchup etc.).
> >>>>>> So, in the second slide, there should not be a
> >>>>> retransmission of the left
> >>>>>> peer REQ MAD since when the left peer accepts the
> >>>>> connection, it will cancel
> >>>>>> its outstanding REQ request and hence the retransmission
> >>>>> should not take
> >>>>>> place.
> >>>>>> -Vandana
> >>>>>>
> >>>>>> At 12:39 AM 10/20/2005, Dror Goldenberg wrote:
> >>>>>>> After giving it some more thought, I think that there=20
> is still a=20
> >>>>>>> problem. Please look at the attached pdf.
> >>>>>>>
> >>>>>>> In the first slide, everything happens smoothly, the left
> >>>>> peer knows
> >>>>>>> that
> >>>>>>> it has to accept the connection and the right peer knows
> >>>>> that it has to
> >>>>>>> decline.
> >>>>>>> On the 2nd slide, the left peer REQ transmission is
> >>>>> dropped in the fabric.
> >>>>>>> It is retransmitted independently by the CM way after a
> >>>>> channel has already
> >>>>>>> been established. Now the right side can not really tell
> >>>>> whether this is a
> >>>>>>> new channel request or an old "simultaneous connection
> >>>>> channel". This may
> >>>>>>> lead to two channels being opened mistakenly.
> >>>>>>>
> >>>>>>> I don't believe it can be solved by looking at the
> >>>>> communication ID.
> >>>>>>> This
> >>>>>>> number is just being fabricated by the sender of the REQ
> >>>>> and is just a
> >>>>>>> "random number" with respect to what we're trying to=20
> determine.
> >>>>>>>
> >>>>>>> -Dror
> >>>>>>>
> >>>>>>> -----Original Message-----
> >>>>>>> From: Dror Goldenberg
> >>>>>>> Sent: Wednesday, October 19, 2005 9:37 PM
> >>>>>>> To: 'Vandana Rao'; Dror Goldenberg; [email protected]
> >>>>>>> Subject: RE: [Ipoverib] ipoib-cm multiple connection model
> >>>>>>>
> >>>>>>> Hi Vandana,
> >>>>>>>
> >>>>>>> Thanks for clarifying this. I agree that if IPoiB-CM
> >>>>> implementation
> >>>>>>> looks
> >>>>>>> at the Communication ID it can make those decisions
> >>>>> correctly. The question
> >>>>>>> is whether this value is exposed through common CM APIs.
> >>>>> For all other
> >>>>>>> purposes, the CM doesn't need to expose the Communication
> >>>>> ID to the ULP.
> >>>>>>> However, seems like it's not a big deal to expose this
> >>>>> value to the ULP.
> >>>>>>> Anyway, it worth noting this explanation in the RFC so
> >>>>> that it's clear that
> >>>>>>> a proper implementation of IPoIB-CM should monitor
> >>>>> Communication ID as part
> >>>>>>> of the simultaneous connection decision.
> >>>>>>>
> >>>>>>> -Dror
> >>>>>>> -----Original Message-----
> >>>>>>> From: Vandana Rao [mailto:[email protected]]
> >>>>>>> Sent: Wednesday, October 19, 2005 6:40 PM
> >>>>>>> To: Dror Goldenberg; [email protected]
> >>>>>>> Subject: Re: [Ipoverib] ipoib-cm multiple connection model
> >>>>>>>
> >>>>>>> Hi Dror,
> >>>>>>> The purpose of the MAD transaction ID is to allow one to
> >>>>> do what you
> >>>>>>> say
> >>>>>>> below, i.e. have multiple connection establishment MADs
> >>>>> between 2 peers. It
> >>>>>>> is essentially the same as the "channel ID" that you talk
> >>>>> about below. Its
> >>>>>>> just that it is a generic channel ID for any MAD
> >>>>> transactions, not just CM
> >>>>>>> MADs.
> >>>>>>> I do not believe there is any issue with existing IB CM in
> >>>>> this regard.
> >>>>>>> -Vandana
> >>>>>>>
> >>>>>>> At 03:11 AM 10/19/2005, Dror Goldenberg wrote:
> >>>>>>>> I think that the current model for multiple connections=20
> >>>>>>>> establishment between two peers works well for 1=20
> connection but=20
> >>>>>>>> is broken for
> >>>>> more than one
> >>>>>>>> connection.
> >>>>>>>> Because of cases where CM packets are dropped or travel
> >>>>> on different VLs,
> >>>>>>>> they
> >>>>>>>> might get reordered on the way and observed in a
> >>>>> different order than were
> >>>>>>>> originally
> >>>>>>>> sent. This breaks the current model which assumes that
> >>>>> the REQs are sent
> >>>>>>>> and
> >>>>>>>> processed in order.
> >>>>>>>>
> >>>>>>>> I think that we need to think of a model which is=20
> robust to CM=20
> >>>>>>>> packets reordering which can be one of:
> >>>>>>>> - Adding a "channel ID" in the private data. The field
> >>>>> goes 0,1,2 and on.
> >>>>>>>> It helps
> >>>>>>>>    synchronizing both peers on which is the channel at
> >>>>> question now. The
> >>>>>>>> rest
> >>>>>>>>    of the decision (per channel) of whether to accept or
> >>>>> reject can be the
> >>>>>>>> same
> >>>>>>>>    as defined in the draft.
> >>>>>>>> - Not supporting multiple connections between the same peers.
> >>>>>>>>
> >>>>>>>> -Dror
> >>>>>>>> _______________________________________________
> >>>>>>>> IPoverIB mailing list
> >>>>>>>> [email protected]
> >>> https://www1.ietf.org/mailman/listinfo/ipoverib
> >>>>>>>
> >>>>>>
> >>>>>
> >>>>
> >>>
> >>
> >
> >_______________________________________________
> >IPoverIB mailing list
> >[email protected] https://www1.ietf.org/mailman/listinfo/ipoverib
>=20