Paper “Generating Custom Code for Efficient Query Execution on Heterogeneous Processors” accepted in The VLDB Journal
Sebastian Breß (DFKI GmbH, TU Berlin), Bastian Köcher (TU Berlin), Henning Funke (TU Dortmund University), Steffen Zeuch (German Research Center for Artificial Intelligence), Tilmann Rabl (TU Berlin, DFKI GmbH), and Volker Markl (TU Berlin, DFKI GmbH)
Processor manufacturers build increasingly specialized processors to mitigate the effects of the power wall in order to deliver improved performance. Currently, database engines have to be manually optimized for each processor which is a costly and error prone process.
In this paper, we propose concepts to adapt to and to exploit the performance enhancements of modern processors automatically. Our core idea is to create processor-specific code variants and to learn a well-performing code variant for each processor. These code variants leverage various parallelization strategies and apply both generic and processor-specific code transformations.
Our experimental results show that the performance of code variants may diverge up to two orders of magnitude. In order to achieve peak performance, we generate custom code for each processor. We show that our approach finds an efficient custom code variant for multi-core CPUs, GPUs, and MICs.
Source Code: https://github.com/TU-Berlin-DIMA/Hawk-VLDBJ