This is an assortment of microbenchmarks for understanding the performance behavior of NUMA systems and for exploring the Linux NUMA API. Currently, the only full-featured test is the memory performance test (called malloc
). This program performs a variety of operations on a large piece of memory to explore the performance behavior of memory intensive programs.
Here are some results.
C++ Commons is a utility library I maintain; you’ll need to make it visible to numa-bench:
$ svn --quiet co https://assorted.svn.sourceforge.net/svnroot/assorted/cpp-commons/trunk cpp-commons
$ svn --quiet co https://assorted.svn.sourceforge.net/svnroot/assorted/numa-bench/trunk numa-bench
$ ln -s "$PWD/cpp-commons/src/commons" numa-bench/src/
$ cd numa-bench/src/
$ CPATH="$PWD:$CPATH" make
$ ./malloc.bash
PlotHist
processes stdout concatenated from multiple runs of the program. This will produce the averaged time measurement histograms across cores per experiment and across experiments varying the number of cores.
This tool depends on the Scala Commons.
NUMA Micro-Benchmarks Suite is released under the GNU GPL3.
Copyright 2008 Yang Zhang.
All rights reserved.
Back to assorted.sf.net.