[ofiwg] inserting duplicate addresses into an AV

Hefty, Sean sean.hefty at intel.com
Tue Mar 20 09:53:59 PDT 2018

MPI is hitting into an issue that is the result of inserting the same address into an AV more than once.  There is no defined behavior for what a provider should do in this case.  At least one provider allows the duplicate insertion, and at least one fails the call... and neither work with MPI when this occurs.  :/

There are a couple of problems trying to define this.  In the case of the provider that fails the call, the failure is detected when attempting to insert the same address into a hash table.  However, not all providers are easily able to detect duplicates.  Forcing them to do so _may_ require the provider to perform a linear search over the AV looking for a duplicate for every address that is inserted.  At scale, this is a significant overhead.

Even if the decision is made to force detecting duplicates (maybe even making this an AV option), there's the question of how a provider should respond.  Should it insert the address twice -- creating a new fi_addr for it, discard the duplicate -- and return the existing fi_addr, or generate an error.  And does it matter if AV_TABLE or MAP is used?

We need to know what applications need here, and how difficult it will be for providers to detect duplicates.  It is apparently non-trivial for the apps to avoid duplicate insertions.

- Sean 

More information about the ofiwg mailing list