Latest news:

Sept 10, 2009:
version 0.1 released!

University of Luxembourg
This website provides information about ACBEA, a framework for the fully-automatic benchmarking of computing cluster by HPL/Linpack based on Evolutionary Algorithms (EA).

HPC platform benchmarking by HPL/Linpack

Statistics on high-performance computers are of major interest to manufacturers, users, and potential users. The Top500 project operates at a worldwide level as a reference contest to evaluate the 500 most powerful computer systems.
The list is updated twice a year and the computers are ranked by their performance on the long-established High-Performance HPL/Linpack benchmark, despite the existence of newer alternative benchmarks [HPC2002].

HPL (High-Performance LINPACK) is a software package that solves a (random) dense linear system of order N: A × x = b.
It uses double-precision (64 bit) floating-point arithmetic on distributed-memory computers.
The data is distributed onto a two-dimensional P-by-Q grid of processes (of size NB×NB) according to the block-cyclic scheme to ensure ``good'' load balance as well as the scalability of the algorithm. An example is shown in the figure in the right.
Apart from N, P , Q and NB, HPL is parametrized by 13 other parameters listed in the table below (with their relative importance).

Parameter Importance Function
NB 5 Block size
N 4 Problem size
P 4 Process matrix rows
Q 4 Process matrix columns
BCAST 3 Broadcast algorithm
DEPTH 3 Lookahead depth
FSWAP 3 Swapping algorithm
NBMIN 3 Recursive stopping criterion
NDIV 3 Number of panels in recursion
PFACT 3 Panel factorization algorithm
TSWAP 3 Swapping threshold for mix algorithm
PMAP 2 Process mapping
RFACT 2 Recursive panel factorization algorithm
E 1 Swap broadcast equilibration
L1 1 Upper triangle storage form
U 1 Panel row storage form
A Not tested Memory alignment in double

The adjustment of HPL's seventeen tuning parameters to achieve maximum performance is a time-consuming task usually performed by hand.

 

(top)

ACBEA


ACBEA (Automatic Cluster Benchmark using Evolutionary Algorithm) is a framework that supports the automatic generation of near-optimal results for the HPL/Linpack benchmark on compute clusters.

ACBEA is written in C++, and is an application of Scott Robert Ladd's Evocosm evolutionary algorithm framework. At the present time, a single application of ACBEA is provided in the form of runacbea, a command-line program that uses its facilities in the context of a Beowulf cluster with a job scheduler, such as OAR.
Details of the benchmark, its allowable parameters, and of the cluster on which is to be run, are provided by an XML-format configuration file. The diagram below shows the relationship between these components.
runacbea
Command-line harness
HPL
Run by batch manager
libacbea config.xml
Configuration file
libevocosm >= 3.1.1 libbrahe >= 1.1.0
Operating system

 

(top)

Current development status and authors


ACBEA is still in Alpha (last version: 0.1).
This project has been developed during the master thesis of Dominic Dunlop under the supervision of Sebastien Varrette and Pascal Bouvry.

 

(top)

Licence


ACBEA is released under GNU GPL Licence v3 (free software).