Skip to content

Connection establishment

Yossi edited this page Mar 28, 2016 · 6 revisions

UCT supports either connecting to a remote interface, or connecting to a remote endpoint (p2p mode). When connecting to an interface, need to create endpoint with uct_ep_create_connected(), and the endpoint can be used immediately. When connecting to a remote endpoint, need to create an endpoint using uct_ep_create() and then connect it using uct_ep_conenct(). This endpoint can be use only after remote side has connected its endpoint as well.

UCP, on the other hand, exposes only one-sided semantics: ucp_ep_create() would create an endpoint which could be used immediately for communications to a remote worker. Therefore, UCP has to implement a connection establishment protocol - wireup - which would bridge this gap and support the following scenarios:

  1. Establish connection over p2p transport.
  2. Create endpoint for sending replies back, for one-sided transports.
  3. Use multiple transports for different types of operations.
Clone this wiki locally