
   ==================================================================
   ===                                                            ===
   ===                PARKBENCH Parallel Benchmarks               ===
   ===                                                            ===
   ===                           COMMS3                           ===
   ===                                                            ===
   ===                    Saturation Bandwidth                    ===
   ===                                                            ===
   ===               Version:  PVM + Fortran 77                   ===
   ===                                                            ===
   ===       Orignal Author:   Roger Hockney                      ===
   ===                         Department of Electronics and      ===
   ===                         Computer Science                   ===
   ===                         University of Southampton          ===
   ===                         Southampton SO17 1BJ, UK           ===
   ===                                                            ===
   ===       Modifications by: Ian Glendinning                    ===
   ===                         HPC Centre, Computing Services     ===
   ===                         University of Southampton          ===
   ===                         Southampton SO17 1BJ, UK           ===
   ===                                                            ===
   ==================================================================


1. Description
--------------
This benchmark attempts to measure the saturation bandwidth of the
parallel computer, by saturating the communication system with messages. 
Every processor sends a message of length, n, to every other processor, 
and then waits to receive all messages directed to it. Message length 
is varied until the bandwidth saturates. The program records the maximum 
observed bandwidth, and the corresponding bandwidth per processor.

The input file value of NNODE is the number of processors taking 
part in the test, and NEND selects the range of 'n' values to be used. 
The benchmarker is entitled to vary NEND in order to obtain the highest 
measured bandwidth for each value of NNODE. Then he should plot the curve 
of 'Maximum observed bandwidth' against 'number of processors'.
 
The parameter NITER in comm3.inc, which is the number of repeats of the
test within the timing loop, may be increased from 1 or 10 (for short
test to confirm  execution) to 1000 or 10000 (for time measurements),
depending on the precision of your clock (see TICK1 benchmark).

2. Operating Instructions
-------------------------
First edit NITER in comms3.inc if necessary.

To compile and link the code, type
make
 
On some systems it may be necessary to allocate the appropriate resources
before running the benchmark, eg. on the iPSC/860 to reserve a cube of 2
processors, type:    getcube -t2

To run the benchmark executable, type:    comms3

Enter values of NNODE and NEND in comms3.dat if the defaults do not work.
The progress of the benchmark execution can be monitored via the standard
output, whilst a permanent copy of the benchmark is written to a file 
called 'comms3.res', which normally appears in your top directory after 
the run is complete. If the run is successful and a permanent record is 
required, the file 'comms3.res' should be copied to another file before 
the next run overwrites it.

$Id: ReadMe,v 1.3 1994/06/14 16:13:08 igl Exp igl $
