Demonstrating Self-Learning Algorithm Adaptivity in a Hardware-Oblivious Database Engine


The increasingly heterogeneous modern hardware landscape is forcing database vendors to rethink basic design decisions: With more and more architectures to support, the traditional approach of building on hand-tuned operators might simply become too costand labor-intensive. With this problem in mind, we introduced the notion of a hardware-oblivious database engine, which avoids devicespecific optimizations and targets multiple different hardware architectures from a single code-base. We demonstrated the feasibility of this concept through Ocelot, a prototypical hardware-oblivious database that uses OpenCL to provide operators that can run on multiple architectures. In this demonstration, we show how we modified Ocelot to support self-learning algorithm adaptivity: The ability to automatically learn which algorithms are optimal for a given operation on a given hardware architecture. We present how to specify operators that can be executed by multiple algorithms, provide details about the underlying learning and decision routines, and demonstrate how our system picks the optimal algorithm when running on systems with multiple devices, such as CPUs and graphics cards.

DOI: 10.5441/002/edbt.2014.57

Extracted Key Phrases

3 Figures and Tables

Cite this paper

@inproceedings{Heimel2014DemonstratingSA, title={Demonstrating Self-Learning Algorithm Adaptivity in a Hardware-Oblivious Database Engine}, author={Max Heimel and Filip Haase and Martin Meinke and Sebastian Bre\ss and Michael Saecker and Volker Markl}, booktitle={EDBT}, year={2014} }