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
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to