MPI/Beowulf vs. SM Programming/OpenMP

Ron Brightwell rbbrigh at valeria.mp.sandia.gov
Fri Mar 30 13:40:28 PST 2001


> 
> I guess my post wasn't clear enough.  
> 
> I am working with a software vendor.  They need to launch several different
> programs that interact through MPI.  You can do this in PVM, you can do this
> with LAM/MPI, but you can't do this with MPIch.  Or I should say, I don't
> think it can be done with MPIch.  The folks at this company looked into the
> matter and independently reached the same conclustion.
> 
> As I see it, with MPIch, I must have everything in a single program.  Yes,
> the programs can execite readically different pathways so in most cases,
> this doesn't restrict the algorithms I can work with.  There are other
> engineering issues, however, that sometimes force  me to run completely
> different programs that cooperate through MPI.  This is the situation the
> un-named software vendor is faced with.
> 
> So that is is what I meant by my general Multiple Program Multiple Data (or
> MPMD) comment.
> 
> Does this make sense?  Did I get something wrong and it is indeed the case
> that MPIch can handle this situation?  I'd love to be wrong as it would make
> my life simpler if I could do everything with only one version of MPI.
>

I think there's a mixture of misunderstanding in what MPICH can do and in
what MPMD means.

MPICH supports the launching of several different binaries as a single MPI
job, i.e. all the processes are in the same MPI_COMM_WORLD.  For lack of a
better term, I've called this mode static MPMD, since the number of binaries
and the number of processes are fixed throughout the life of the parallel job.

MPICH doesn't yet support the MPI-2 style client/server operations that
allow independent parallel jobs to join, which is what LAM and PVM support.
I've called this dynamic MPMD since both the number of processes and number
of binaries can change throughout the life of the parallel job.

If there are better terms to describe the combination of these two things
(multiple binaries and joining independent parallel jobs), let me know.
I've had similar confusing discussions with users about which functionality
they wanted.

-Ron






More information about the Beowulf mailing list