Microbenchmarks, i.e. very small computational kernels, have become commonly used for quantitative measures of node performance in clusters. For example, a commonly used benchmark measures the amount of time required to perform a fixed quantum of work. Unfortunately, this benchmark is one of many that violate well known rules from sampling theory, leading to erroneous, contradictory or misleading results. At a minimum, these types of benchmarks can not be used to identify time-based activities that may interfere with and hence limit application performance. Our original and primary goal remains to identify noise in the system due to periodic activities that are not part of user application code. We discuss why the 'fixed quantum of work' benchmark provides data that is of limited use for analysis; and we show code for, discuss, and analyze results from a microbenchmark which follows good rules of sampling hygiene, and hence provides useful data for analysis.
[1]
A. Forin,et al.
Using microbenchmarks to evaluate system performance
,
1992,
[1992] Proceedings Third Workshop on Workstation Operating Systems.
[2]
Carl Staelin,et al.
lmbench: Portable Tools for Performance Analysis
,
1996,
USENIX Annual Technical Conference.
[3]
Carl Staelin,et al.
Mhz: Anatomy of a Micro-benchmark
,
1998,
USENIX Annual Technical Conference.
[4]
Erik A. Hendriks,et al.
BProc: the Beowulf distributed process space
,
2002,
ICS '02.
[5]
F. Petrini,et al.
The Case of the Missing Supercomputer Performance: Achieving Optimal Performance on the 8,192 Processors of ASCI Q
,
2003,
ACM/IEEE SC 2003 Conference (SC'03).