PVM: A Users' Guide and Tutorial for Network Parallel Computing (Scientific and Engineering Computation)
W**D
Parallelism APIs evolving
The Parallel Virtual Machine abstraction assumes a message passing environment built from Unix machines. It's message passing primitives are a good deal simpler than MPI's, and the authors note that MPI can be effective as an under-layer for that part of PVM. Unlike MPI, however, PVM emphasizes heterogeneous computing ensemble built from whatever hardware is already at hand.What sets PVM apart from the others is its emphasis on the pragmatics of multi-computer coordination. More than the usual SPMD coordination, it has facilities for managing the ensemble. It even has facilities for signalling runaway processes and for recovering from lost nodes and other errors. And, although the authors note many system-dependent specifics, they address issues that arise in managing the server daemons, crossing administrative boundaries, and other pragmatics of parallel computing.Most of the book is taken up with code samples and man pages for the PVM API. That gives it a very hands-on, practical feel, short on the philosophical and theoretical tone of other books on parallelism APIs. PVM doesn't depend on special compilers, so it's a bit easier for C programmers to approach than OpenMP is. And it's a compact API with just a few central concepts, mostly drawn from standard C idioms, so it's lot simpler that MPI. The book's mention of MasPar, Kendall Square Research, DEC, and Thinking Machines gives an antiquated sense, though. I'm not sure how common PVM is, these days, but if it's what you have, then this is the book for you.//wiredweird