Saturday, April 2, 2011

Benchmarking XenBench using HPL

I created a python script (see SVN or the python source file) that determines how many flops the system reaches without our XenBench application running to get a point of comparison. To achieve this I used the HPL (High-Performance Linpack) benchmark, which can be found here. Afterwards we determine the number of flops we can reach when our XenBench application is profiling, followed by the flops we get when the curses and the gui interfaces are used. After the benchmark, these measurements are presented in a clear overview, that states the change in performance such that conclusions about the amount of overhead can be made.

Installing the HPL Benchmarkt was pretty difficult, so a step-by-step overview is given here:
  1. Download and untar HPL Linpack Benchmark from the website.
  2. Make sure openmpi and the other dependencies for HPL are installed: 'sudo apt-get install gcc gcc-4.3 gfortran-4.3 make openmpi-bin libatlas-base-dev libblas-dev libopenmpi-dev'.
  3. Make sure GoToBlas2 is installed, it can be found here. Untar the download and build the GoToBlas software: './quickbuild.64bit'. Copy the shared library: 'cp libgoto2.so /usr/local/lib'.
  4. Download an architecture Make file for Ubuntu here, and modify its entries so the right paths are being used. Make sure to paste the file in the hpl-2.0 folder.
  5. Build the HPL software: 'sudo make arch=Ubuntu'. For me, this still resulted in the following errors:
    make[2]: Entering directory `/home/kurt/Desktop/hpl-2.0/src/auxil/Ubuntu'
    Makefile:47: Make.inc: No such file or directory
    make[2]: *** No rule to make target `Make.inc'. Stop.
    and
    /usr/lib/libtbb.so not found
    The first problem was solved by removing the 'include Make.inc' lines from the different make files, a modified version of hpl can be downloaded here. The second problem on the other hand was easily solved by installing libtbb: 'sudo apt-get install libtbb-dev'.
  6. Try building HPL again, it should work now! Go to 'hpl-2.0/bin/Ubuntu' and run the benchmark (modify HPL.dat to your preferences first): 'mpirun -np 8 xhpl'.