The Operator Variant Selection Problem on Heterogeneous Hardware.

Viktor Rosenfeld, Max Heimel, Christoph Viebig, Volker Markl · Very Large Data Bases · 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, di↵erent hardware architectures typically require di↵erent code optimizations, and the lack of performance portability in programming frameworks like OpenCL requires developers to handtune 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.

Read the paper · More papers on PaperTik