1
1
openmpi/ompi/mca
Dave Goodell c40f8879c8 usnic: improve interface matching (esp. for UDP)
Prior to this commit we matched local interfaces to remote interfaces in
order to create endpoints in a simplistic way.  If any remote interfaces
were on the same subnet as any of our local interfaces then only local
interfaces would be paired (IP-routed remote interfaces would be
ignored).

This commit introduces a more general scheme which attempts to make the
"best" pairing of local interfaces to remote interfaces.  We now cast
the problem as a graph theory problem known as the "Assignment Problem",
or finding a maximum-cardinality, minimum-weight bipartite matching.  We
solve this problem by reducing the bipartite graph of interface
connectivity to a flow network and then solving for a minimum cost flow.
This is then easily converted into back into a matching on the original
bipartite graph.

In the new scheme, interfaces on the same subnet are preferred over
interfaces requiring intermediate routing hops and higher bandwidth
links are preferred over lower bandwidth links.

Reviewed-by: Jeff Squyres <jsquyres@cisco.com>

cmr=v1.7.5:ticket=trac:4253

This commit was SVN r30849.

The following Trac tickets were found above:
  Ticket 4253 --> https://svn.open-mpi.org/trac/ompi/ticket/4253
2014-02-26 07:50:26 +00:00
..
allocator Fix longstanding issue with our multi-project support. Rather than using 2014-01-07 22:11:15 +00:00
bcol basemuma bcol : fixing warnings 2014-02-20 18:30:53 +00:00
bml Addressing Jeff's comments: 2014-02-24 23:18:35 +00:00
btl usnic: improve interface matching (esp. for UDP) 2014-02-26 07:50:26 +00:00
coll Remove executable property 2014-02-21 17:27:47 +00:00
common usnic: enable UDP support 2014-02-26 07:44:35 +00:00
crcp SNAPC/CRCP/SSTORE: remove compiler warnings 2014-01-29 20:52:00 +00:00
dpm Fix longstanding issue with our multi-project support. Rather than using 2014-01-07 22:11:15 +00:00
fbtl add support for PLFS filesystem 2014-01-22 21:16:15 +00:00
fcoll add proper typcasts to intptr_t to avoid warnings on 32bit systems. 2014-01-10 16:19:04 +00:00
fs Fix: making sure the file type is not overwritten by the last queried component 2014-01-29 19:21:03 +00:00
io Per http://www.open-mpi.org/community/lists/devel/2014/01/13938.php, 2014-01-28 21:46:26 +00:00
mpool udreg: free huge page allocations correctly 2014-01-14 16:26:06 +00:00
mtl MXM: do not enforce version check 2014-02-18 19:44:37 +00:00
op Merge one-sided updates to the trunk - written by Brian Barrett and Nathan Hjelmn 2014-02-25 17:36:43 +00:00
osc Helps to include the correct header. 2014-02-25 19:14:48 +00:00
pml Merge one-sided updates to the trunk - written by Brian Barrett and Nathan Hjelmn 2014-02-25 17:36:43 +00:00
pubsub Fix longstanding issue with our multi-project support. Rather than using 2014-01-07 22:11:15 +00:00
rcache Fix longstanding issue with our multi-project support. Rather than using 2014-01-07 22:11:15 +00:00
rte Remove an unused RML tag (it isn't even used in the oshmem layer). 2014-02-17 18:35:43 +00:00
sbgp coll/ml: add support for blocking and non-blocking allreduce, reduce, and 2014-01-22 15:39:19 +00:00
sharedfp Fix longstanding issue with our multi-project support. Rather than using 2014-01-07 22:11:15 +00:00
topo Fix longstanding issue with our multi-project support. Rather than using 2014-01-07 22:11:15 +00:00
vprotocol Fix longstanding issue with our multi-project support. Rather than using 2014-01-07 22:11:15 +00:00