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

Reply via email to