BENCH — User Commands
NAME
bench − Benchmark harness that coordinates multiple processes
SYNOPSIS
bench [options] -c command
bench −M [options]
OPTIONS
−M numClients
Run as master of the number of clients indicated. The master bench process should be started before any slaves.
−SRun as a slave. Use -c to specify a command. The slave process will wait until all other slaves have registered with the master before executing their benchmark.
−c command args ...
Follow this with the command to benchmark. Execution search paths are not used (yet). The command can be followed with any required arguments.
−pName of the pseudo-device used for coordination.
−o outfileOutput file in which execution statistics are placed.
−fFlush the file system cache before executing the benchmark.
−xDisable all system tracing before executing the benchmark.
−hEnable taking of RPC timing histograms. This is ok with -x.
−dDon’t sync the file system cache at the end of the benchmark. Normally this is done after the benchmark completes and before the file system I/O statistics are taken.
−sUse signals instead of pseudo-devices for rendez-vous.
−P secondsPause for some seconds before getting the final statistics. Only applies to the master bench process.
−wCauses the master process to wait for a USR1 signal before it allows the slaves to begin running. This option must be used with the -M option, and cannot be used with the -s option.
DESCRIPTION
Bench is a harness for other programs that executes them and takes system statistics. The command to benchmark follows the -c option. Currently bench does not used the execution search path, so the command has to be a valid pathname. (This should be fixed!) In its simplest form (no -S or -M) bench executes a single process and generates output to “bench.out” or to the file specified by the -o option. The default behavior is that the execution time and CPU utilization are recorded after the benchmarked process completes, then the file system cache is written back and file system statistics are recorded. The file system cache can be flushed before the benchmark using the -f option. The cache write-back at the end of the run can be disabled with the -d option. The -x option turns off various kernel tracing that can slow down execution.
Multiple processes can be coordinated using the -M and -S options. First a master bench process is started with the -M option. This option is followed by an integer that indicates the number of slaves to expect. The master process creates a pseudo-device that will be used to coordinate the slaves. Each slave benchmark is started using the -S option. The slaves contact the master, and after they all make contact the master lets them proceed. The master bench process also takes system statistics during the execution of all the slaves. It is generally run on the file server in order to measure the load presented by the slaves. Note that the master doesn’t run a command itself, so no -c argument is needed with -M.
KEYWORDS
benchmark, statistics, timing
Sprite version 1.0 — February 16, 1990