> One thought to consider is the idea of an 'inheritance model'.  The idea is 
> that a
> traffic class can be assigned to a domain, an endpoint, or a transmit 
> context. In the
> libfabric object hierarchy, domains encompass endpoints and endpoints 
> encompass
> transmit contexts.  The idea of inheritance is that if a traffic class isn't 
> defined
> for a specific object, that object inherits the classification from the 
> object above
> it.

I agree this may makes sense, but I’m not sure to which object TC ultimately 
belongs.  I.e. what are we trying to label?

One of the main decisions is whether a TC is an attribute of:

1 Transfers *from* the initiating EP
2 Transfers *to* a target EP (maps to fi_addr_t)
3 Transfers *between* EPs (maps to AV or connection)

Sockets maps to option 1, but I think IP is really option 2.  IB and OPA are 
either 2 or 3, depending on whether the transfers are reliable.  Your labels 
seem to be driving at ... option 3?

Option 3 is the most restrictive, but if it's all that apps require, it allows 
for the broadest implementation.

It could be that the answer differs based on the endpoint type 
(reliable/unreliable, connected/unconnected).

- Sean


_______________________________________________
ofiwg mailing list
[email protected]
https://lists.openfabrics.org/mailman/listinfo/ofiwg

Reply via email to