Mainly because we know that the RML and OOB are not thread safe? :-)
Seriously, we know that ORTE has thread safety issues, mostly in the
RML/OOB area, which is why we do not allow it to be used with
threading. You are responsible for thread locking above that layer, if
you intend to use threads.
Use of the progress thread is problematic as it impacts throughout
ORTE, which is why we don't use it. I'm not sure we have any plans to
use it at this time, but maybe some day in the future we will invest
the time/effort to thread-safe the RTE.
Ralph
On Nov 13, 2008, at 6:26 AM, Leonardo Fialho wrote:
Ralph and others,
I made two tests with the RML/OOB while a PML module (I know it is
trange, but I need it) waits for a message
(orte_rml_recv_buffer(...)). The first one was using the --enable-
progress-threads and the second one without this.
My test was:
Sent a message from an orted, i.e. [[X,0],2], to an application
process (where is the modified PML), i.e. [[X,1],0], hosted by
another orted, i.e. [[X,0],1]. In this case the message should be
routed by the [[X,0],1] daemon.
I don't know why, but the results are as follows:
1) With progress thread, the [[X,0],1] daemon receives the message,
identify that it should be routed, but do not routed it.
2) Without progress thread, the message was delivered correctly.
I don't know if I made any mistake, but the same code which works
for an progress thread free compilation does not work for a
compilation with a progress thread. Why?
Thanks,
--
Leonardo Fialho
Computer Architecture and Operating Systems Department - CAOS
Universidad Autonoma de Barcelona - UAB
ETSE, Edifcio Q, QC/3088
http://www.caos.uab.es
Phone: +34-93-581-2888
Fax: +34-93-581-2478
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel