S-Lang PVM Module Reference: Introduction to the PVM Module

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