; Mathematics and Computer Science Division; Argonne National Laboratory; 1
user correction - Legacy Corrections
PVM and MPI are often compared. These comparisons usually start with the unspoken assumption that PVM and MPI represent different solutions to the same problem. In this paper we show that, in fact, the two systems often are solving different problems. In cases where the problems do match but the solutions chosen by PVM and MPI are different, we explain the reasons for the differences. Usually such differences can be traced to explicit differences in the goals of the two systems, their origins, or the relationship between their specifications and their implementations. For example, we show that the requirement for portability and performance across many platforms caused MPI to chose different approaches than PVM, which is able to exploit the similarities of network-connected systems. This paper expands on earlier discussions; among the additions are parallel I/O, the safety of contexts, and a subtle performance issue in multiparty communications.