XPVM program monitoring on the SP2


Program visualization with XPVM

The tool XPVM, developed at Oak Ridge National Laboratory, allows for viewing trace information generated by PVM programs. (Note that PVMe programs do not generate trace information which can be used with XPVM.) XPVM can be used on the interactive nodes, or in the batch environment.

A sample view of the XPVM console window:

(click to enlarge)

Requirements

To use XPVM, your program must spawn processes with the "PvmTaskTrace" option. Further, if your program has any input requirements, or if you want to monitor a job running in batch under the system pvm.script file, you will need to include a subroutine call in your program to enable it to attach to a pre-established XPVM session at run-time. (This is due to limitations of XPVM, which cannot spawn programs with input requirements and which makes assumptions on the executable directory where your program resides.) Programs with no input requirements may be spawned from within an XPVM session on the interactive nodes, and do not require this extra subroutine call. To cover the most general case, we will assume that the program to be monitored cannot be spawned from with XPVM.

Tutorial example: Matrix transposition

The tutorial included in the directory /usr/local/doc/Examples/transp demonstrates the use of XPVM to monitor a SPMD program running in the batch environment. The SPMD program setup.c generates a 3-D matrix distributed across the nodes, and calls a Fortran routine (in transp.f) to perform a matrix transposition. Since both C and Fortran are used, this example also serves to demonstrate how to link multi-language programs. A simple timer is also included, and can be used to get an estimate of elasped wallclock time.


Note the following:

XPVM on the interactive node pool

To run this tutorial, copy the source and README files listed above to your own area and build the executable program (setup) just as you would for the batch tutorial. Note the arguments required for the exectuable program. (See README.pvm for details.) To use XPVM on the interactive node pool, first follow the intructions for setting up an interactive PVM session, since it is probably easiest to start XPVM after you've successfully started PVM. To proceed with XPVM: