From: Vincent Nikkelen <vincentn@stack.nl>
Newsgroups: comp.parallel.pvm
Subject: Re: pvm vs. mpi
Date: 11 May 1999 01:02:17 +0200
Organization: M.C.G.V. Stack - Eindhoven, the Netherlands
Sender: vincentn@turtle.stack.nl
Message-Id: <7h7ohp$dt5$1@turtle.stack.nl>
References: <3736D96A.41C6@physik.uni-karlsruhe.de>
    <37374E2B.9CBD6C79@lanl.gov>
User-Agent: tin/pre-1.4-980730 (UNIX) (FreeBSD/2.2.8-STABLE (i386))
Xref: ukc comp.parallel.pvm:8363


Anders Jorgensen <ajorg@lanl.gov> wrote:
: Juergen,
: 	I recently had to make this choice, and here are my reasons for using
: PVM.

: 1) PVM can operate across multiple architectures, automatically
: converting data format when sending between different architectures.

: 2) PVM is fault tolerant. If a node goes down, or a job dies, the PVM
: system will detect it, and notify your program.

: 3) The PVM instruction set looked a heck of a lot simpler to me (No
: flames please :-).

I agree. (No flame intended)

: These three reasons were based on me running PVM across a cluster of
: about 120 workstations scattered across several subnets with more or
: less reliable interconnections. In addition, most of these machines (all
: but one actually :-) don't belong to me, so I have no control over when
: they are rebooted, go down, etc. If you intend to run parallel programs
: on a massively parallel computer like the origin 2000, you may want to
: consider MPI instead.
:                              ----anders

I have no experiences with MPI, but fount this statement on:
http://www.ncsa.uiuc.edu/SCD/Hardware/CommonDoc/MessPass/

***
MPI is intended primarily for data-parallel problems. Therefore, it does 
not have the flexibility of PVM's dynamic process spawning, but its
collective operations (like gather-scatter operations) and
asynchronous message passing capabilities (asynchronous
sends and receives) are much more sophisticated and
configurable than those in PVM. 
***

This means that your choice should depend on the kind of programs you'd
like to make. If you're not sure, I'd choose PVM cause the dynamic
process spawning.

And ask yourself the next question: is it important which method I use?
First design your parallel program and then see what system is better
suited. A better performance can be gained mostly with a better design
(At least I don't care about time, speedup is the game I'm playing)

Good luck with your choice,

Vincent

