I would agree with Brian - in fact, it was my understanding from the
beginning of the project that we were Andrew's first vision: an MPI
implementation with whatever run time support that is required, and no
more.
I would only expand on the statement about "...do not detract from the
primary goal..." to add that anything that complicates the code base,
makes it harder to maintain, etc. IMHO violates this principle. OMPI
is an MPI implementation. If people want to reuse the code for other
purposes, they are welcome to do so.
I myself currently assist several such groups, and just became
involved in yet another, in doing just this. Our approach has been to
respect OMPI's inherent nature by not intruding upon it with requests
to modify the code solely for our benefit. Instead, we work on
branches of OMPI's code, reusing what we want (maintaining copyright,
of course), removing/replacing what we don't want. Where it would help
OMPI, we contribute code back as a gesture of appreciation for what
others have done and are doing. It isn't hard to do at all, and
maintains the integrity of both the OMPI objective and the (at times,
conflicting with OMPI) objectives of the projects working on other
uses for the code.
I think Andrew raised a good point that is the crux of the argument
that has been running for some time now. Thanks for raising it to a
more visible position!
Ralph
On Mar 11, 2009, at 12:41 PM, Brian W. Barrett wrote:
On Wed, 11 Mar 2009, Andrew Lumsdaine wrote:
Hi all -- There is a meta question that I think is underlying some
of the discussion about what to do with BTLs etc. Namely, is Open
MPI an MPI implementation with a portable run time system -- or is
it a distributed OS with an MPI interface? It seems like some of
the changes being asked for (e.g., with the BTLs) reflect the
latter -- but perhaps not everyone shares that view and hence the
impedance mismatch.
I doubt this is the last time that tensions will come up because of
differing views on this question.
I suggest that we come to some kind of common understanding of the
question (and answer) and structure development and administration
accordingly.
My personal (and I believe, Sandia's) view is that Open MPI should
seek to be the best MPI implementation it can be and to leave the
distributed OS part to a distributed OS project. This can be seen
by my work with Ralph over the past few years to reduce the amount
of run-time that exists when running on Red Storm. My vision of the
(ideal, possibly impractical) Open MPI would be one with a DPM
framework (the interface between OMPI and the run-time) and nothing
else in the run-time category.
That being said, I understand the fact that we need a run-time for
platforms which are not as robust as Red Storm. I also understand
the desire to build a variety of programming paradigms on top of
Open MPI's strong infrastructure. Given the number of broken
interfaces out there, only having to fix them once with more
software is attractive.
In the end, I don't want to give up the high quality MPI
implementation part of the project to achieve the goal of wider
applicability. Five years ago, we set out to build the best MPI
implementation we could, and we're not done yet. We should not give
up that goal to support other programming paradigms or projects.
However, changes to better support other projects and which do not
detract from the primary goal of a high quality MPI implementation
should be pursued.
Brian
_______________________________________________
devel mailing list
de...@open-mpi.org
http://www.open-mpi.org/mailman/listinfo.cgi/devel