> 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
