On Jan 6, 2004, at 9:20 AM, Michael Gutteridge wrote:
> Unfortunately, I haven't even seen the code (being able to port from
> PVM to MPI is one of the deciding factors for a takeover of the
> code-base). However, from appearances, it seems very similar in
> operation to mpiBLAST, where serial tasks are distributed to
> worker-nodes with results passed back to a parent. It doesn't appear
> to be a true parallel application (i.e. using shared-memory or
> anything really tricky like that).
In general, the answer to this question is a resounding "it depends on
the application". If the application just mucks around to form a grid
then does pairwise send/receive kinds of things, it probably won't be
too hard. If your application uses some of the features of PVM that
aren't in MPI (such as a looser dynamic process model), it could be a
real bear.
Since it sounds like you have a classic manager/worker, I would be
worried about dynamic process issues (MPI's dynamic process control is
kind of bolted on the side and doesn't have the flexibility PVM can
provide). It may even turn out that the communication structure needs
to be rewritten from scratch (more than just hacking at function names
and data structures). But if the communication patterns are simple
(which it sounds like they would be) and the code is well designed
(which I obviously can't offer advice on), it might not be a horrible
job to make the code run on MPI. If you have some MPI experts, this
might be reasonable. If you are just starting to hack at MPI codes,
this may not be the project to start with.
Just my small $0.02.
Brian
--
Brian Barrett
LAM/MPI developer and all around nice guy
Have a LAM/MPI day: http://www.lam-mpi.org/
|