[ofiwg] selecting a fabric for a destination

Hefty, Sean sean.hefty at intel.com
Wed Oct 8 21:58:10 PDT 2014

> Sorry, I think my followup was unclear - That's why I redefined the
> problem to be explicitly and only answering the question "what is the
> shortest distance?" as opposed to answering the question "what is the best
> fabric to use?" by assuming  shortest distance means "best".  By
> explicitly providing the answer to "what is shortest distance?" , we allow
> the app to use whatever metrics it wants to select the "best" fabric for
> it to use, and distance becomes one of the metrics available to the app,
> among other metrics like link speed, etc.

The general feature that you're wanting is topology information.  The fabric object should be the place for that data, but we need to define what that data looks like.  I think that's a much larger discussion that I'm sure would fall well into next year, and introduce entirely new sets of data structures and interfaces.  (Maybe there's a small group of people who could start work on designing this?)

> I'm OK with trying fi_getinfo with hints to start, but the mapping to open
> domain is a pain - loop on strcmp()ing the fabric names to match with the
> fabric underlying an already open domain?  Is there a more direct way?

I don't think so, but that doesn't mean we couldn't define this.  Making stuff up now... the fi_info attributes (fi_fabric_attr, fi_domain_attr, etc.) could include context fields that a provider could set if an opened fabric/domain/etc. existed for the matching criteria.  That would move the searching into the providers, rather than in each app.  And realistically, the number of opened fabrics/domains would be around 1.  If context = NULL, no existing object exists.

- Sean

More information about the ofiwg mailing list