================================================================== === === === GENESIS / PARKBENCH Parallel Benchmarks === === === === COMMS3 === === === === Saturation Bandwidth === === === === Versions: PARMACS, PVM 3.1 === === === === 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 === === === === Fax: +44 703 593939 E-mail: firstname.lastname@example.org === === === === Last update: Jun 1994; GENESIS Release: 3.0 === === === ================================================================== 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 keyboard input 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 expand the PARMACS macros, compile and link the code with the appropriate libraries, enter the directory d77 and type: make To compile and link the code with the appropriate libraries for PVM, enter the directory pvm3 and 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 This will automatically load both host and node programs. Enter the values of NNODE and NEND at the keyboard in response to the prompts. 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 $
Submitted by Mark Papiani,
last updated on 10 Jan 1995.