To content
Department of Computer Science

Generating custom code for efficient query execution on heterogeneous processors

Title

Generating custom code for efficient query execution on heterogeneous processors

Authors

Sebastian Breß, Bastian Köcher, Henning Funke, Steffen Zeuch, Tilmann Rabl, Volker Markl

Published

The VLDB Journal, December 2018, Volume 27, Issue 6, pp 797–822

Download

PDF

Abstract

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.

Project

Energy Awareness in Database Algorithms and Systems (SFB 876, A2)