Efficiently compiling efficient query plans for Modern Hardware

459Citations
Citations of this article
370Readers
Mendeley users who have this article in their library.
Get full text

Abstract

As main memory grows, query performance is more and more determined by the raw CPU costs of query processing itself. The classical iterator style query processing technique is very simple and exible, but shows poor performance on modern CPUs due to lack of locality and frequent instruction mis- predictions. Several techniques like batch oriented processing or vectorized tuple processing have been proposed in the past to improve this situation, but even these techniques are frequently out-performed by hand-written execution plans. In this work we present a novel compilation strategy that translates a query into compact and effcient machine code using the LLVM compiler framework. By aiming at good code and data locality and predictable branch layout the resulting code frequently rivals the performance of hand- written C++ code. We integrated these techniques into the HyPer main memory database system and show that this results in excellent query performance while requiring only modest compilation time. © 2011 VLDB Endowment.

Cite

CITATION STYLE

APA

Neumann, T. (2011). Efficiently compiling efficient query plans for Modern Hardware. Proceedings of the VLDB Endowment, 4(9), 539–550. https://doi.org/10.14778/2002938.2002940

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free