[ofa-general] RFC: Do we wish to take MPI out of OFED?

Jeff Squyres jsquyres at cisco.com
Wed Jun 3 05:24:23 PDT 2009


I'll state right up front that I'm in favor of removing MPI from  
OFED.  :-)


On Jun 2, 2009, at 3:30 PM, Tziporet Koren wrote:

> Here are some of the reasons for keeping MPI in or out of OFED.
>
> Main reasons to take MPI out of OFED:
> - MPI is not developed under OFA
> - Need to synchronize between different projects
>
   --> This point alone is hugely difficult.  OFED has been held up  
multiple times because of MPI release delays.  I would like to stress  
that the open source MPI implementations are entirely different  
software projects with minimal overlap of personnel between MPI and  
OFED.  Also, OFED is but one of the stacks that the MPI's support.

For example, many Open MPI members don't care about OpenFabrics at  
all.  It has sometimes been difficult to rationalize MPI schedule  
adjustments because of OFED.

> - Some customers prefer to install a different MPI version then the  
> one in OFED
>
- Also note that OFED only includes the open source MPI's; it's not a  
level playing field.

- Several of Open MPI's features are disabled in OFED builds (e.g.,  
scheduler / resource manager support), causing customers to re- 
download / re-build Open MPI anyway.  *** This is a fairly important  
point to us.


> Main reasons to keep MPI in OFED:
> - All participants test with the same MPI versions, and when  
> installing OFED it is ensured that MPI will work fine with this  
> version.
>
   --> I think we're all convinced that testing OFED with the various  
MPI implementations is a Good Thing -- nobody is suggesting that we  
remove that.  As discussed on the call, we can certainly all test the  
same version of the open source MPI's during OFED releases and include  
this information in the release notes ("OFED x.y.z was tested with  
Open MPI a.b.c.").

The Open MPI project would be happy to contribute the MPI Testing Tool  
(MTT; which itself is also open source) to OFED.  The MTT was designed  
for almost exactly this purpose: a large, distributed set of  
organizations that all need to test the same versions of MPI and  
report the results to a central location.  The MTT is not specific to  
Open MPI; it can be used with any MPI implementation.  The MTT is  
essentially an engine to download/install MPI implementations, run a  
set of MPI tests (e.g., IMB, OSU and others), and then report the  
results to a central database.

FWIW: several OFA members are using MTT internally for their own MPI  
testing.

> - Customers convenience in install (no need to go to more sites to  
> get MPI)
>
   --> My $0.02 is that this is a dubious point.  In installing a  
production HPC cluster, you're getting 20 pieces of software and  
installing them together.  So if you have to get OFED *and* MPI (i.e.,  
21 pieces of software), I think it makes little difference.  Indeed,  
as noted above, MPI implementations move at a different speed than  
OFED, so many customers go install their own MPI's anyway (or, per an  
above point, need to re-install MPI's to enable features that the OFED  
packaging disables).

I think the biggest issue related to this point is going to be  
customers asking "you *used* to bundle MPI, why don't do anymore?"

> - MPI is an important RDMA ULP and although it is not developed in  
> OFA it is widely used by OFED customers
>
   --> This point is actually used as a crutch by the OFA: why develop  
your own comprehensive performance testing / monitoring tools when you  
have MPI with all of its tools?  Removing MPI may help motivate the  
OFA to have better networking tools than those provided by a ULP.   
(before you flame, I admit that this is a minor point, but it is still  
worth noting -- I've always thought it strange that people use MPI to  
monitor and test their OF-based networks...)

-- 
Jeff Squyres
Cisco Systems




More information about the general mailing list