[OMPI users] Barrier implementation and use

2013-04-22 Thread Pablo Barrio

Hi all,

I'm using mixed MPI/pthreads with MPI_THREAD_MULTIPLE support. At some 
point, only one of the threads on each process communicate, while the 
others keep waiting in a MPI_Barrier. The traces I took from execution 
suggest that the linux scheduler is waking up the threads blocked in the 
barrier from time to time, delaying the threads that are actually doing 
the hard work.


Is that the correct behaviour or just that it's not optimized yet? I 
expected the barriers to use some kind of interrupt mechanism so that 
the blocked threads wouldn't get in the way of others. Any thoughts 
about how to prevent only some threads stealing cycles?


Thanks ahead,
Pablo

--
Pablo Barrio
Dpt. Electrical Engineering - Technical University of Madrid
Office C-203
Avda. Complutense s/n, 28040 Madrid
Tel. (+34) 915495700 ext. 4234
@: pbar...@die.upm.es



Re: [OMPI users] What's the status of OpenMPI and thread safety?

2013-12-19 Thread Pablo Barrio
Hi all, this is the first time I post to the list (although I have read 
it for a while now). I hope this helps.


I'm heavily using MPI_THREAD_MULTIPLE on multicores (sm BTL) and my 
programs work fine from a CORRECTNESS point of view. I use OpenMPI 1.6 
(SVN rev. 26429) and pthreads on Linux.


This said, the performance is still very poor. Some of my programs 
become a thousand times slower. After some profiling/tracing, I found 
out that the Linux scheduler gave CPU time to threads stuck in blocking 
calls (Ssend, Recv, Wait, etcetera). It seems to me that the MPI 
implementation can be improved to avoid spending CPU time in threads 
waiting for messages.


In short, my experience is that the implementation is correct but not 
very efficient so far.


I have a few questions:

1. My OpenMPI version is more than a year old. Have these 
performance issues been fixed in the latest versions?


2. If not, perhaps I could contribute to OpenMPI multithreading 
support. Who takes care of this? How can I help?


Thanks ahead.

--
Pablo Barrio
Dpt. Electrical Engineering - Technical University of Madrid
Office C-203
Avda. Complutense s/n, 28040 Madrid
Tel. (+34) 915495700 ext. 4234
@: pbar...@die.upm.es


On 19/12/13 01:49, Ralph Castain wrote:
This was, in fact, a primary point of discussion at last week's OMPI 
developer's conference. Bottom line is that we are only a little 
further along than we used to be, but are focusing on improving it. 
You'll find good thread support for some transports (some of the MTLs 
and at least the TCP BTL), not so good for others (e.g., openib is 
flat-out not thread safe).



On Dec 18, 2013, at 3:57 PM, Blosch, Edwin L <mailto:edwin.l.blo...@lmco.com>> wrote:


I was wondering if the FAQ entry below is considered current opinion 
or perhaps a little stale.  Is multi-threading still considered to be 
'lightly tested'?  Are there known open bugs?

Thank you,
Ed
7. Is Open MPI thread safe?
Support for MPI_THREAD_MULTIPLE (i.e., multiple threads executing 
within the MPI library) and asynchronous message passing progress 
(i.e., continuing message passing operations even while no user 
threads are in the MPI library) has been designed into Open MPI from 
its first planning meetings.
Support for MPI_THREAD_MULTIPLE is included in the first version of 
Open MPI, but it is only lightly tested and likely still has some 
bugs. Support for asynchronous progress is included in the TCP 
point-to-point device, but it, too, has only had light testing and 
likely still has bugs.
Completing the testing for full support of MPI_THREAD_MULTIPLE and 
asynchronous progress is planned in the near future.

___
users mailing list
us...@open-mpi.org <mailto:us...@open-mpi.org>
http://www.open-mpi.org/mailman/listinfo.cgi/users




___
users mailing list
us...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/users