On Aug 24, 2007, at 8:37 AM, Terry D. Dontje wrote:

George Bosilca wrote:

Again, my main concern is about fault tolerance. There is nothing in
PMI (and nothing in RSL so far) that allow any kind of fault
tolerance [And believe me re-writing the MPICH mpirun to allow
checkpoint/restart is a hassle]. Moreover, your approach seems to
open the possibility of having heterogeneous RTE (in terms of
features) which in my view is definitively the wrong approach.

I am curious about this last paragraph. Is it your belief that the current ORTE does lend itself to being extended to incorporate fault tolerance?

Absolutely. We're working on incorporating a virtual topology called BMG (Thara's Ph.D. work) as the main topology of ORTE. This allow us to route ALL communications to their ALIVE destination in presence of faults. In same time based on the BMG properties we will be able to insure a minimal cost for all broadcast like operations (always log (n)), and maybe the more important improve the scalability grace of a very fast and scalable allgather. The approach we're targeting will have only one point of failure (the registry) but due to the properties of the BMG, the impact can be kept minimal.

Also, by heterogenous RTE are you meaning RTE running on a cluster
of heterogenous set of platforms? If so, I would like to understand why
you think that is the "wrong" approach.

By heterogeneous RTE I was talking about what will happened once we have the RSL. Different back-end will support different features, so from the user perspective we will not provide a homogeneous execution environment in all situations. On the other hand, focusing our efforts in ORTE will guarantee this homogeneity in all cases.




On Aug 16, 2007, at 9:47 PM, Tim Prins wrote:

WHAT: Solicitation of feedback on the possibility of adding a runtime
services layer to Open MPI to abstract out the runtime.

WHY: To solidify the interface between OMPI and the runtime
and to allow the use of different runtime systems, including different
versions of ORTE.

WHERE: Addition of a new framework to OMPI, and changes to many of the
files in OMPI to funnel all runtime request through this framework.
changes should be required in OPAL and ORTE.

WHEN: Development has started in tmp/rsl, but is still in its
infancy. We hope
to have a working system in the next month.

TIMEOUT: 8/29/07

Short version:

I am working on creating an interface between OMPI and the runtime
This would make a RSL framework in OMPI which all runtime services
would be
accessed from. Attached is a graphic depicting this.

This change would be invasive to the OMPI layer. Few (if any) changes
will be required of the ORTE and OPAL layers.

At this point I am soliciting feedback as to whether people are
supportive or not of this change both in general and for v1.3.

Long version:

The current model used in Open MPI assumes that one runtime system is the best for all environments. However, in many environments it may be
beneficial to have specialized runtime systems. With our current
system this
is not easy to do.

With this in mind, the idea of creating a 'runtime services layer' was
hatched. This would take the form of a framework within OMPI,
through which
all runtime functionality would be accessed. This would allow new or
different runtime systems to be used with Open MPI. Additionally,
with such a
system it would be possible to have multiple versions of open rte
which may facilitate development and testing. Finally, this would
solidify the
interface between OMPI and the runtime system, as well as provide
documentation and side effects of each interface function.

However, such a change would be fairly invasive to the OMPI layer, and
needs a buy-in from everyone for it to be possible.

Here is a summary of the changes required for the RSL (at least how
it is
currently envisioned):

1. Add a framework to ompi for the rsl, and a component to support
2. Change ompi so that it uses the new interface. This involves:
        a. Moving runtime specific code into the orte rsl component.
        b. Changing the process names in ompi to an opaque object.
        c. change all references to orte in ompi to be to the rsl.
3. Change the configuration code so that open-rte is only linked
where needed.

Of course, all this would happen on a tmp branch.

The design of the rsl is not solidified. I have been playing in a
tmp branch
(located at https://svn.open-mpi.org/svn/ompi/tmp/rsl) which
everyone is
welcome to look at and comment on, but be advised that things here are
subject to change (I don't think it even compiles right now). There
some fairly large open questions on this, including:

1. How to handle mpirun (that is, when a user types 'mpirun', do they
always get ORTE, or do they sometimes get a system specific
runtime). Most
likely mpirun will always use ORTE, and alternative launching
programs would
be used for other runtimes.
2. Whether there will be any performance implications. My guess is
but am not quite sure of this yet.

Again, I am interested in people's comments on whether they think
such abstraction is good or not, and whether it is reasonable to do
such a
thing for v1.3.


Tim Prins<RSL-
devel-core mailing list

devel-core mailing list

devel mailing list

Reply via email to