Next Previous Contents

1. Introduction to the PVM Module

PVM (Parallel Virtual Machine) is a software package which permits a heterogeneous collection of Unix and/or Windows computers, connected by a network, to be used as a single large parallel computer. The PVM module provides a S-lang interface to this package. By performing distributed computations with S-lang one can make better use of available computer resources yet still retain the advantages of programming in an interpreted language.

This document briefly describes how to use the S-lang interface to PVM. It assumes that the reader is already familiar with the PVM package itself.

For complete details on obtaining, installing and using the PVM package, see the PVM documentation. Note that, once the PVM package is properly installed on your computer, the PVM man pages will provide detailed documentation on all the PVM library functions.

Although the S-lang PVM module functions often have slightly different interfaces, the differences are usually minor so the PVM documentation is quite helpful. Because the S-lang interface is not yet fully documented, it will be necessary to consult the PVM documentation directly to make full use of the S-lang PVM module.

Because PVM processes require running programs on remote hosts, it is necessary to provide each host with the full path to the relevant executables. To simplify this process, it may be useful to create a directory, e.g.$HOME/bin/PVM, on every host and put relevant executables in that directory so that the same relative path will work on all machines. This PVM path may be specified in the $HOME/.pvmhosts configuration file; for a detailed description of the contents of this file, see the pvmd man page.

The usage examples discussed in this manual assume that the PVM has already been initialized by running a command such as

  unix> pvm ~/.pvmhosts
This starts the PVM console and also starts the PVM daemon, pvmd, on each remote host. This daemon runs all PVM slave processes and handles all communications with the parent process and the rest of the PVM.

The execution environment of the PVM slave processes is inherited from the corresponding pvmd process which, in turn, is inherited from the parent process which started the PVM console. However, it is sometimes useful to configure the environment of the remote pvmd process using a startup script, $HOME/.pvmprofile. This is a Bourne shell script which, if present, is run when pvmd is started. For a detailed description of the contents of this file, see the pvmd man page.

Next Previous Contents