1
1
openmpi/ompi/communicator
Edgar Gabriel 0684002812 fixes: 1127
fix some of the multi-threading problems for the cid allocation. Two bugs
specifically:
 - since we do not have a queue for incoming fragments of unknown cid, we need
 to synchronize all processes before exiting the communicator creation. This
 synchronization was/is located in comm_activate, which was however too late
 for the multi-threaded case. Thus, for multi-threaded scenarios we are now
 synchronizing 'before' we allow another thread to enter the cid-allocation
 loop.

- for synchronization, we used for the sake of simplicity allreduce
  operations. It turns out, that these operations interefered with the
 allreductions in the cid-allocation routine, which lead to non-sense results
  in the cid-allocation and potentially to endless loops.

Multi-threaded communicator creation seems to work now, is however still 'very
very' slow. I think, the busy wait of threads is killing the performance of
the active threads in the cid allocation. But this is another topic.

This commit was SVN r15910.
2007-08-17 16:15:26 +00:00
..
comm_cid.c fixes: 1127 2007-08-17 16:15:26 +00:00
comm_dyn.c Merging in the Sparse Groups.. 2007-08-04 00:41:26 +00:00
comm_init.c Merging in the Sparse Groups.. 2007-08-04 00:41:26 +00:00
comm_publish.c Add the potential for doing some basic error checking on mutexes during 2007-06-12 16:25:26 +00:00
comm.c Merging in the Sparse Groups.. 2007-08-04 00:41:26 +00:00
communicator.h Merging in the Sparse Groups.. 2007-08-04 00:41:26 +00:00
Makefile.am Update the copyright notices for IU and UTK. 2005-11-05 19:57:48 +00:00