From: Lars Rzymianowicz <larsrzy@ti.uni-mannheim.de>
Newsgroups: comp.parallel.pvm
Subject: Re: pvm vs. mpi
Date: Tue, 11 May 1999 08:44:34 +0200
Organization: Dept. of Computer Engineering, University of Mannheim, Germany
Message-Id: <3737D1D2.CF54E42F@ti.uni-mannheim.de>
References: <3736D96A.41C6@physik.uni-karlsruhe.de>
    <37374E2B.9CBD6C79@lanl.gov>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Xref: ukc comp.parallel.pvm:8365


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...

> 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.

> 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...

> [...] 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.

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
-- 
Homepage: http://mufasa.informatik.uni-mannheim.de/lsra/persons/lars/

