Next Previous Contents

3. Installing pvm_xstar

After the dependencies described below are met, installing pvm_xstar should be easy because it does not involve any software compilation. The package consists of 4 scripts:

   pvm_xstar            Bourne shell script
   pvm_xstar_wrap       Bourne shell script
   pvm_xstar_master     S-Lang script
   pvm_xstar_slave      S-Lang script
although end-users generally need to concern themselves only with the first. Simply use the standard GNU configure and make commands within a UNIX-like (e.g. Linux, Mac OS/X terminal, or Cygwin) environment:
        ./configure [options]
        make install
You may specify the ---prefix option to configure to steer the installation to a non-default location, or use ---help to get more information.

It is strongly encouraged that you test your PVM setup and pvm_xstar both before and after installation. These can be done from the top of your pvm_xstar distribution with:

These tests can also generate sample PVM hosts files, which can serve as templates for your own virtual machines. Refer to the tests subdirectory for more details.

3.1 Dependencies

pvm_xstar requires that the following software is installed on your system:

Installing S-Lang and PVM should be relatively straightforward, because on most modern systems (e.g. Redhat, Debian or Ubuntu Linux, or Mac OS/X) they can be done with binary install tools such as Yum, apt-get or MacPorts (which for Mac OS/X we recommend over Fink). The S-Lang PVM module is very small, and should also take little time to download and install. Although XSTAR may be the largest download of any of these dependencies, much of that is due to the data required for its operation; as a standard Fortran 77 code that has been tested for many years, XSTAR builds cleanly on most Unix-like systems.

3.2 Configuring PVM

While PVM may be installed easily on modern systems via binary package management, additional user-specific configuration is usually required before it can be employed. Common PVM configuration problems include

Some potential solutions are outlined below.

Passwordless SSH

If you are using PVM on a single machine, such as a multicore workstation or massively-parallel-processor (MPP), then you will not need to perform remote logins and can skip this section.

A common way of automating remote SSH logins involves generating keys on the master,

        master%  ssh-keygen -t dsa
        ...
copying the public keyfile that's generated to each slave host,
        master%  scp ~/.ssh/id_dsa.pub slave-host-1:master.key
adding it to the authorized keys file for that host,
        slave-host-1%  cd ~/.ssh
        slave-host-1%  cat ~/master.key >> authorized_keys
and ensuring that authorized_keys has the required permissions:
        slave-host-1%  chmod 600 authorized_keys
Another option is to use ssh-agent.

Configuring $PATH

Enabling the PVM daemon to access your pvm_xstar scripts can be done in several ways, such as installing them into a system-wide location accessible to all users at login, but in our experience one of the most reliable methods has been to add a line like

        * ep=$PATH
or
        * ep=<path/to/your/pvm_xstar/scripts>
to your PVM hosts file, as described in the pvm_intro(1) and pvmd3 man page documentation. When the * ep= option appears at the top of your hosts file it applies to all hosts in the virtual machine, but PVM allows different values to be used simultaneously by defining ep on the hostname line, such as
        mylinux.mysite  ep=/nfs/local/bin
        mymac.mysite    ep=/usr/local/bin


Next Previous Contents