For portability, choose PVM. It loses some on performance since at present it can't access the full capabilities of the SP2's high speed switch, however, the drawbacks of the other choices make this choice a reasonable alternative. Also, the soon to be released version 3.4 of PVM promises to support the SP2 as a machine type, using IBM provided MPI underneath for high performance. This is likely to make PVM (along with MPI), the most attractive choice by sometime in the fall of 1995.
MPL and PVMe are both designed for optimized use of the high speed switch. Disadvantages are that MPL is not portable to other machines, and PVMe is one major release behind PVM in supported functionality, and restricts the user to only one process per node.
See the section on Choosing a message passing library: PVM(e) or MPL?.
For PVM jobs, output is usually written to the file /tmp/pvml. < uid > in the
local filespace of the main pvm node in the virtual machine. You can
either copy that file back to your home area at the end of a batch or interactive run
(via a custom user cleanup script in batch), or call the routine pvm_catchout(),
which will force node output to appear on the console of an interactive session
or in the output file of a batch job.