                             PVM 
                             ---
         A Parallel Environment for CODINE and GRD

              (c) 2000 Sun Microsystems, Inc.

This directory contains the following files:

              README        - this file 
   1.         startpvm.sh   - the startup script for PVM
   2.         stoppvm.sh    - the shutdown script for PVM
   3.         pvm.template  - a template for a PVM parallel environment

   4.         pvm.sh        - a sample PVM job
   5.         pvm_nogs.sh   - a second sample PVM job not using PVM group 
                              communication facilities
   
Refer to the "Installation and Administration Guide" Chapter "Support of
Parallel Environments" for a general introduction to the Parallel
Environment Interface of CODINE/GRD.

Please note that there is a need to build some binaries for successful use
of the prepared startup scripts and the job examples. To build these
binaries ensure that both PVM_ROOT and CODINE_ROOT are set in your
environment. Change into $CODINE_ROOT/pvm/src and start ./aimk. Then use 
the script 'install.sh' to copy all necessary binaries to the places where 
they are expected by the scripts described below.

1. The task of the PVM starter script is to start the pvmd. The script also
   passes all necessary informations about desicions of the CODINE/GRD
   scheduler to PVM. The script needs 'start_pvm'. Its use is to verify that
   the master pvmd was able to start slave pvmd's. In most cases start of
   pvm slave fails since the 'rsh' command failed. 'start_pvm' detects this
   failure. The advantage is that the pvm job is not started without a
   properly setup PVM environment for that job. The starter script
   'startpvm.sh' needs some command line arguments, to be configured by use
   of either qmon or qconf. The first one is the path to the "$pe_hostfile"
   that gets transformed by startpvm.sh into a PVM host file. The second
   argument "$host" is used to pass the master host to startpvm.sh. The
   third argument must be the path of $PVM_ROOT. It is used for starting the
   pvmd.

2. The stopper 'stoppvm.sh' is shutting down the PVM virtual machine which
   was setup for this job. For that purpose 'stop_pvm' which is used by the
   script uses pvm_halt(3) which shuts down the entire virtual machine. 
   'stoppvm.sh' needs the two command line arguments
   $pe_hostfile and $host.

3. Use this template as a starting point when establishing a parallel
   environment for PVM. You need to replace <a_list_of_parallel_queues>, 
   <the_number_of_slots>, <your_codine_root> and <your_pvm_root> with 
   the appropriate information.

There are two samples included. You should use these samples to verify that
your integration of CODINE/GRD with PVM works correctly.

4. The first job example 'pvm.sh' is a shell wrapper around the 'spmd' from
   the PVM distribution.

5. The second example starts a pvm sample with master-slave communication.
   No group communication is needed.
