Clusterpunch: a distributed mini-benchmark system for clusters

Documentation—clusterbench

clusterbench - returns terse output showing results of a cluster benchmark

NAME

clusterbench - returns terse output showing results of a cluster benchmark


SYNOPSIS


Default Usage

 > clusterbench
 182
 137


Custom Benchmarks

Use the -c COMMAND feature to pass a custom punch command to the daemons. You cannot directly compare the benchmark rating for different commands.

 > clusterbench -c "benchcpu(1e5)"
 844
 137


Hostname Filter

Only hosts with names which match the REGEXP are used for the statistics

 > clusterbench -r "of1"
 25
 13


Adjusting Timeout

 > clusterbench -t 15


Setting Port and/or Broadcast

 > clusterbench -p 8095 -b 10.1.2.255


DESCRIPTION

This is part of the clusterpunch system. Each node that you wish to monitor must be running the clusterpunch.shutdown daemon, documented in the clusterpunch.shutdown. Once the server is running, you can poll it and send commands using the API documented in clusterpunchclient.pm, or through the various utilities, such as this one.

The clusterbench utility is meant to be used with external monitoring facilities such as MRTG or RRD. Where more detailed output is required, clustersnapshot should be used.

clusterbench by default returns two values. The total cluster CPU time required to carry out the internal benchmark routines and the overall cluster resource measure. These are defined as follows

 total_time = t1 + t2 + t3 + ... + tn, n = 1 ... N

 resource measure (RM) = 10 * ( 1/t1 + 1/t2 + 1/t3 + ... + 1/tn )

where ti is the time taken for node i to carry out the benchmark. The total time is only a sensible and consistent measure if the number of nodes is fixed, since it cannot distinguish between fewer nodes and faster nodes!

The default benchmark routine is

 benchio;benchcpu;benchmem

which tests the IO, CPU and memory subsystems. You can set your own benchmark routine, but this will have an effect on the total time and resource measure of the benchmark. Altering the functions has the same effect as changing node speed! You should stick to one set of functions, preferably something that executes in several than one second to avoid timeouts but to ensure reproducibility.


SEE ALSO


Daemons

clusterpunchserver, clusterpunch.start, clusterpunch.shutdown


API

clusterpunch.pm


Utilities

benchdriver, clusterbench, clusterlogin, clusternodecount, clustersnapshot


CHANGES


AUTHOR

Martin Krzywinski (martink@bcgsc.ca), January 2003

$Id: clusterbench,v 1.6 2003/01/26 08:03:56 martink Exp $