Zum Inhalt
Fakultät für Informatik

Efficient Generation of Machine Code for Query Compilers


Efficient Generation of Machine Code for Query Compilers


Henning Funke, Jan Mühlig, and Jens Teubner


16th Int'l Workshop on Data Management on New Hardware (DaMoN), Portland, OR, USA, June 2020


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.


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

MxKernel: A Bare-Metal Runtime System for Database Operations on Heterogeneous Many-Core Hardware (DFG TE111/2-1)

Publication Log

March 2020

submission to DaMoN 2020 (accept)