1
1
openmpi/ompi
Jeff Squyres 3742c3550c Add "sync" collective component. This component is totally
deactivated by default.  It is activated by setting either of the
following two MCA parameters to values greater than 0:

 * coll_sync_barrier_before
 * coll_sync_barrier_after

If !_before is >0, then the sync coll collective will insert itself
before the underlying collective operations and invoke a barrier
before every Nth barrier (N == coll_sync_barrier_before).  Similar for
!_after.  Note that N is a _per communicator_ value; not global to the
MPI process.

If both are 0 (which is the default), this component returns NULL for
the comm query, meaning that it is not insertted into the coll module
stack. 

The intent of this component is to provide a a workaround for
applications with large numbers of collectives of short messages that
can cause unbounded unexpected messages.  Specifically, it is possible
for some iterative collective communication patterns to cause
unbounded unexpected messages.  Forcing a barrier before or after
every Nth collective operation would prevent that behavior by forcing
applications to synchronize (and thereby consume any outstanding
unexpected messages caused by collectives on the same communicator).

Open MPI still needs to bound unexpected messages resource consumption
at the receiver, but this is a viable workaround for at least some
symptoms of the problem.

Additionally, there has been anecdotal evidence of some applications
that "perfom better" when they put barriers after other collective
operations.  This could be due to many factors -- including shortening
the unexpected message queue.  Putting this component in Open MPI
allows people to try this with their own applications and give real
world feedback on this kind of behavior.

This commit was SVN r20584.
2009-02-18 23:32:44 +00:00
..
attribute Repair the MPI-2 dynamic operations. This includes: 2008-07-03 17:53:37 +00:00
class Always release the allocated memory. 2009-02-14 21:49:06 +00:00
communicator - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
contrib/vt Updated VT version to 5.4.7 2009-01-22 13:20:09 +00:00
datatype - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
debuggers * Fix a truckload of Cisco copyrights to be the same as the rest of 2009-01-11 02:30:00 +00:00
errhandler - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
etc Many thanks to Ralf W. for finding a subtle bug in these Makefile.am's 2008-06-04 01:28:03 +00:00
file - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
group - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
include Two major things in this commit: 2009-01-14 23:44:31 +00:00
info - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
mca Add "sync" collective component. This component is totally 2009-02-18 23:32:44 +00:00
mpi - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
op Ensure to zero out all the pointers in the op so that the destructor 2009-02-12 19:15:37 +00:00
peruse - Move the OMPI_DECLSPEC from .c to .h 2008-09-11 12:26:33 +00:00
proc Per the RFC, extend the current use of the ompi_proc_t flags field (without changing the field itself). 2009-02-10 02:20:16 +00:00
request - As shown in ticket #1349, the status is not copied 2008-09-02 15:36:10 +00:00
runtime - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
tools - On the way to get the BTLs split out and lessen dependency on orte: 2009-02-14 02:26:12 +00:00
win Replace the ompi_pointer_array with opal_pointer_array. The next step 2007-12-21 06:02:00 +00:00
CMakeLists.txt Add a new feature for checking mca subdirectories, i.e. detecting if there is an exclude file list which indicates the files that shouldn't be added to the source list. By default, the CMake build system will simply add all source files in the required sub folders, without knowing which files have to be excluded. The first use of it is in plm/base/.windows. 2009-02-10 17:20:13 +00:00
Makefile.am Some more work on the man pages: 2008-08-07 19:20:40 +00:00