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.
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?
> Leonardo Fialho
> Computer Architecture and Operating Systems Department - CAOS
> Universidad Autonoma de Barcelona - UAB
> ETSE, Edifcio Q, QC/3088
> Phone: +34-93-581-2888
> Fax: +34-93-581-2478
> devel mailing list