[libfabric-users] Scalable endopint issue
sean.hefty at intel.com
Thu Dec 9 13:37:06 PST 2021
> When receiving, suppose I have two Rx contexts and I post a receive on both and a
> message arrives - if they are tagged messages, then presumably whichever Rx has the
> right tag will receive it - if untagged, is it just round robiin, or chance/race to see
> which cq is given the receive?
If the provider has not exposed some sort of steering flow mechanism (provider specific definition), then the Rx context that receives a message is non-deterministic from the viewpoint of the app. You're at the whim of the provider implementation, and it could also depend on traffic from other peers targeting the same endpoint. E.g. round robin at the receiver may not look like round robin at the sender.
This is true even for tagged messages. The Rx contexts are independent, and if a tagged message is received on one, but the matching tag was posted to another, then the message will be treated as unexpected.
Named Rx contexts are defined for sender directed traffic.
More information about the Libfabric-users