Skip to main content Skip to main navigation


The Operator Variant Selection Problem on Heterogeneous Hardware.

Max Heimel Viktor Rosenfeld (Hrsg.)
International Conference on Very Large Data Bases (VLDB-2015), ADMS@VLDB, ADMS@VLDB 2015, VLDB Endowment, 8/2015.


With the ongoing trend towards increased hardware heterogeneity, database systems will need to support many different processor architectures in order to fully exploit all available hardware configurations. However, different hardware architectures typically require different code optimizations , and the lack of performance portability in programming frameworks like OpenCL requires developers to hand-tune operator implementations. Even when only supporting a few architectures, these manual optimizations can drastically inflate the source code, resulting in extensive development and maintenance costs. Ideally, the database should be able to automatically generate and select optimal operator implementations from a single codebase. In this paper, we discuss this operator variant selection problem on heterogeneous hardware, demonstrating that even for such simple operations as selection and aggregation, we can already generate thousands of variants. We provide an extensive experimental evaluation, demonstrating that picking the optimal variant is non-trivial and strongly dependent on the specific device. Finally, we discuss how to automatically select good variants at runtime and provide heuristic selection algorithms that work well in practice.