[ofa-general] peer to peer connections support

Kanevsky, Arkady Arkady.Kanevsky at netapp.com
Wed Dec 19 05:15:37 PST 2007


Or,
are you proposing that rdma_cm try to separate 2 cases.
One where 2 sides each trying to set up a connection to another side,
vs. where 2 sides are trying to set up 1 connection but each side
issuing
a connection request?
Isn't it easier to handle in MPI which has a unique rank so only one
side issues a connection request?
Thanks,

Arkady Kanevsky                       email: arkady at netapp.com
Network Appliance Inc.               phone: 781-768-5395
1601 Trapelo Rd. - Suite 16.        Fax: 781-895-1195
Waltham, MA 02451                   central phone: 781-768-5300
 

> -----Original Message-----
> From: Or Gerlitz [mailto:ogerlitz at voltaire.com] 
> Sent: Wednesday, December 19, 2007 6:34 AM
> To: Sean Hefty
> Cc: OpenFabrics General
> Subject: Re: [ofa-general] peer to peer connections support
> 
> Sean Hefty wrote:
> > Peer to peer connection was never fully implemented in the 
> ib_cm.  I 
> > don't think it would be that hard to implement at that 
> level, and it 
> > shouldn't require API changes.
> 
> With you below comment of "CM needs to know the connection 
> model selected by the app" I am somehow confused. With 
> reading your other comments, I see two options here based on 
> whether the implementation differentiate between peer-to-peer 
> SIDs to client/server SIDs:
> 
> if there's no difference, then also in the peer-to-peer 
> model, the application must first tell the CM to listen on a 
> SID and its up to the CM to break the symmetry and decide who 
> sends the REP and who ignores the REQ.
> 
> if there is a diff, then peer-to-peer SIDs are in a different 
> domain then client/server SIDs.
> 
> > Support at the rdma_cm level may require an API change.  There's no 
> > easy way for the rdma_cm to know if it should invoke the IB 
> > peer-to-peer connection model.  I'm not even sure how one 
> peer would 
> > know the other peer's port number, unless well known ports 
> are used on both sides.
> 
> Why there should be a difference between the rdma-cm to the 
> cm? if in the cm you have a model without API change, 
> wouldn't it apply also to the rdma-cm?
> 
> >> Such support would be useful in symmetric schemes such as 
> MPIs that 
> >> open connections on demand and more applications where 
> each party can 
> >> both accept and initiate connections. For example, I 
> understand that 
> >> some work is done now at the open mpi community to use the 
> rdma-cm as 
> >> a possible channel for connection establishment.
> 
> > I would need to better understand the expected usage model, 
> like how 
> > the peers find each other, but this is something that could 
> be added if needed.
> 
> I think that in the MPI world each rank gets a SID from the 
> local CM and they exchange the SIDs out-of-band, then 
> connections are opened. If its a connection-on-demand scheme, 
> then when ever the rank process calls
> mpi_send() to peer for which the local MPI library does not 
> have a connection, it tries to connect. So if this happens 
> "at once" between some pair of ranks, there should be a way 
> to form one connection out of these two connecting requests. 
> My thinking/motivation is that support of this scheme should 
> be in the IB stack (cm and rdma-cm) level and not in the 
> specific MPI implementation level.
> 
> Jeff, Jon, any comments?
> 
> Or.
> 
> 
> _______________________________________________
> 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