Efficient Generation of Machine Code for Query Compilers
Title
Efficient Generation of Machine Code for Query Compilers
Authors
Henning Funke, Jan Mühlig, and Jens Teubner
Published
16th Int'l Workshop on Data Management on New Hardware (DaMoN), Portland, OR, USA, June 2020
Abstract
Query compilation can make query execution extremely efficient, but it introduces additional compilation time. The compilation time causes a relatively high overhead especially for short-running and high-complexity queries.
We propose Flounder IR as a lightweight intermediate representation for query compilation to reduce compilation times. Flounder IR is close to machine assembly and adds just that set of features that is necessary for efficient query compilation: virtual registers and function calls ease the construction of the compiler front-end; database-specific extensions enable efficient pipelining in query plans; more elaborate IR features are intentionally left out to maximize compilation speed.
In this paper, we present the Flounder IR language and motivate its design; we show how the language makes query compilation intuitive and efficient; and we demonstrate with benchmarks how our Flounder library can significantly reduce query compilation times.
Projects
Energy Awareness in Database Algorithms and Systems (SFB 876, A2)
Publication Log
March 2020
submission to DaMoN 2020 (accept)
- submission (PDF)
- reviews (Accept, Accept, Strong Accept)