Native InfiniBand Support for MySQL Cluster
Introduction:
Database systems are an integral part of today's IT infrastructures. The handling of the
rapidly growing data sets is a demanding challenge for the used database systems. Special purpose
computers are quite expensive to procure. Thus, as in the HPC arena, the usage of networked commodity
computers (Clusters) is a promising way to save costs. These clusters can be used to share the amount
of data as well as to split the load requirements.
MySQL is one of the most popular open source database systems and
offers under the name
MySQL Cluster such
a system as described above. MySQL Cluster provides an interface to implement arbitrary interconnects
as the networking foundation for you clustered database.
We implemented a so called MySQL Cluster Transporter for native InfiniBand to provide low latency and high bandwidth.
Here you can see some results from the testReadPerf Benchmark included in MySQL.


System requirements:
-
Tested with MySQL-5.0.15
-
Mellanox Verbs API
Download:
You can download the InfiniBand Transporter diff file
here
as free software under a BSD license.
There is also an diff file for an RDMA optimized Transporter included but it isn't bugfree yet.
Usage:
Patch the MySQL distribution with one of the diff files above. Then make in the MySQL root directory:
autoreconf
./configure --prefix= --with-ndbcluster --with-ndb-ib= --with-ndb-test --enable-thread-safe
make all
make install
Then, you can configure the cluster.
Here you can find an example config.ini file.
References:
- Dirk Dunger
- MySQL Cluster mit nativer InfiniBand Unterstützung (german)
Diploma thesis at Chemnitz University of Technology.