Chapter 19. Other Parallel Implementations

Table of Contents

19.1. PVM (Parallel Virtual Machine)
19.1.1. What is PVM?
19.1.2. Current Release
19.1.3. How Does it Work?
19.1.4. Test pvm
19.1.5. More Documentation

19.1. PVM (Parallel Virtual Machine)

19.1.1. What is PVM?

PVM (Parallel Virtual Machine) is a software package that allows an heterogeneous collection of Unix and/or Windows computers hooked together by a network to be used as a single large parallel computer. Thus, large computational problems can be solved more cost-effectively by using the aggregate power and memory of many computers. The software is very portable. The source, which is available for free through netlib, has been compiled on many architectures, from laptops to CRAYs.

PVM enables users to exploit their existing computer hardware to solve much larger problems, at minimal additional cost. Hundreds of sites around the world are using PVM to solve important scientific, industrial, and medical problems, in addition to PVM's use as an educational tool to teach parallel programming. With tens of thousands of users, PVM has become the world-wide de-facto standard for distributed computing.

19.1.2. Current Release

IGGI contains the 3.4.5 version of PVM with no major patches.

19.1.3. How Does it Work?

The user should be in the "pvm" group (automatically set in IGGI), then run the "pvm" command. This program is the configuration tool for pvm; it allows you to add, remove nodes, tasks management, etc. Add the nodes you want to in your pvm cluster by means of the "add" command.

Adding a Node

[iggi@iggi ~]$ pvm
pvm> conf
conf
1 host, 1 data format
                    HOST     DTID     ARCH   SPEED       DSIG
       iggi.guibland.com    40000    LINUX    1000 0x00408841
pvm> add n1
add n1
1 successful
                    HOST     DTID
                      n1    80000
pvm> add n2
add n2
1 successful
                    HOST     DTID
                      n2    c0000
pvm> add n3
add n3
1 successful
                    HOST     DTID
                      n3   100000
pvm>

You can query the status of you configuration using the "conf" command. The example below shows a cluster with five nodes.

Showing the Configuration

pvm> conf
conf
4 hosts, 1 data format
                    HOST     DTID     ARCH   SPEED       DSIG
       iggi.guibland.com    40000    LINUX    1000 0x00408841
                      n1    80000    LINUX    1000 0x00408841
                      n2    c0000    LINUX    1000 0x00408841
                      n3   100000    LINUX    1000 0x00408841
pvm>

Use the "exit" command to exit the configuration tool and keep pvm configured. Use the "halt" command to stop the pvm service and exit the configuration tool.

19.1.4. Test pvm

/usr/share/pvm3/lib/aimk

19.1.5. More Documentation

More documentation on PVM can be found here: http://www.csm.ornl.gov/pvm/pvm_home.html.