Accelerating Databases using SIMD

Modern database system developers face two significant challenges.
On the one hand, database engines must provide sustainable high performance.
On the other hand, a database system should be able to run on a multitude of hardware platforms and facilitate the existing hardware-provided acceleration features to their full extent.
One prominent example of modern acceleration capabilities is the Single-Instruction-Multiple-Data (SIMD) paradigm, which is an integral part of state-of-the-art database systems.
However, every architecture (e.g., x86, ARM, Power, NEC Aurora TSUBASA) has its signature functional capabilities and libraries.
To cope with the heterogeneity, we designed and developed a hardware-abstraction library for SIMD functionality and an associated generator framework at the chair of databases.

Currently, our library is written in C++ using template metaprogramming.
The generator is written in python using Jinja2 for the actual generation.

We are looking for motivated students to contribute to either the library itself or the generator, including but not limited to prototyping and testing the developed code.

But fear not! You won’t be left alone. We are highly committed to this project and thus offer our unlimited expertise and guidance throughout the whole process.

 

Possible projects may include:

 

Either of these topics can contribute to the following modules:

[1] https://link.springer.com/article/10.1007/s00778-020-00620-x