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.
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
|
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.
Licence
ACBEA is released under
GNU GPL Licence v3 (free software).