[ofa-general] peer to peer connections support
Sean Hefty
mshefty at ichips.intel.com
Tue Dec 18 12:07:59 PST 2007
> I wonder what will it take to implement peer to peer connection
> establishment support in the IB CM (and RDMA-CM, ofcourse). Also do you
> expect any API changes needed in order to support that?
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.
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.
> Reading through section 12.10.4, I was not sure to fully understand the
> following: "The ServiceID implicitly defines whether the service is
> client/server or peer to peer, but the application must inform the CM so
> that the CM will handle the inbound REQ correctly."
My interpretation of this is:
An app uses a single service ID and connects using either peer to peer
or client/server. This implies that a service ID is either for peer to
peer or client/server connections.
The CM needs to know the connection model selected by the app, to avoid
matching an incoming REQ incorrectly. For example, suppose an app tries
to connect to SID 1, while another app on the same machine is listening
on SID 1. Does an received REQ with SID 1 match for a peer to peer
connection, or client/server? In this case, you can probably guess
client/server correctly, but suppose the REQ is received before the
server app starts. The CM needs to know not to match the REQ with the
client.
> 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.
- Sean
More information about the general
mailing list