From: Markus Fischer <markus@markus-fischer.de>
Newsgroups: comp.parallel.pvm
Subject: Re: pvm vs. mpi
Date: Tue, 11 May 1999 09:20:46 +0200
Organization: University of Mannheim
Message-Id: <3737DA4D.70A66090@markus-fischer.de>
References: <3736D96A.41C6@physik.uni-karlsruhe.de>
    <37374E2B.9CBD6C79@lanl.gov> <3737D1D2.CF54E42F@ti.uni-mannheim.de>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Xref: ukc comp.parallel.pvm:8367


Hi,
Lars Rzymianowicz wrote:

> Anders Jorgensen wrote:
> > 1) PVM can operate across multiple architectures, automatically
> > converting data format when sending between different architectures.
>
> So does MPI. At least you can run your app on a heterogeneous cluster.
> There are also functions for data conversion, but i'm not 100% sure, if
> they are called automatically...

Yes, it's done automatically.

> > 2) PVM is fault tolerant. If a node goes down, or a job dies, the PVM
> > system will detect it, and notify your program.
>
> Nah, the term "fault tolerant" is a bit misused here. MPI will also
> "detect" a process failure by just hanging or stoping...so does PVM.
> "Fault Tolerance" would mean that another process is started
> automatically and takes over. But neither of them is able to do this.

well at least you get a notifcation message that one of your communication
partners died, but I agree that you have to take care of such situations
manually.

>
> > 3) The PVM instruction set looked a heck of a lot simpler to me (No
> > flames please :-).
>
> It's more restricted, yes. But you don't need to use all 125 (or more)
> MPI functions. Just a dozen are enough for a lot of apps...
>
> A major point is: MPI is still evolving (in fact, it was designed to
> include the major functionality of PVM and other MP layers).
> So MPI-2 has dynamic processes, parallel I/O, one-sided communication etc.
> Current implementations need a bit more time to implement everything,
> but they will. PVM is a good and stable system. But it won't be
> extended, enhanced anymore...
> Yes, i know, there is Harness, the follow-up to it. But it will last
> some time to see the first version running...
>

another point is that the overhead which comes with PVM makes it difficult
to port it to faster, homogeneous machines. this is the drawback, if you want
to
be dynamic, you have to consider a lot of more things.
but how often do you add other processes ? MPI loses some time
during startup but that's neglectable. However, assumed you run on a Fast
Ethernet
with more than 60 processes, then you get a problem while PVM can still
handle it.
on the other hand, MPI has a nice ADI.

> > [...] If you intend to run parallel programs
> > on a massively parallel computer like the origin 2000, you may want to
> > consider MPI instead.
>
> Yip, all HPC vendors (SGI(Cray), IBM(SP2), Fujitsu, Siemens(hpcLine),...)
> have an optimized MPI.

and you have to pay for it and see whether your app actually makes a benefit
out
of it.

> If you are planning a large parallel app, which should run several years,
> MPi is the way to go. If you just want a quick hack or teach parallel
> programming, PVM fits also.

>
> My two cents, Lars

for free,
markus

>
> --
> Homepage: http://mufasa.informatik.uni-mannheim.de/lsra/persons/lars/

--
------------------------------------------------------------------------------------
Dipl. Inf. Markus Fischer       Tel.: +49 621 292-1621
University of Mannheim          Fax:  +49 621 292-5597
Computer Architecture           email:markus@markus-fischer.de
B6, 26
68159 Mannheim

