2018 IEEE 34th International Conference on Data Engineering (ICDE) 2018
DOI: 10.1109/icde.2018.00027
|View full text |Cite
|
Sign up to set email alerts
|

Adaptive Execution of Compiled Queries

Abstract: Compiling queries to machine code is a very efficient way for executing queries. One often overlooked problem with compilation is the time it takes to generate machine code. Even with fast compilation frameworks like LLVM, generating machine code for complex queries often takes hundreds of milliseconds. Such durations can be a major disadvantage for workloads that execute many complex, but quick queries. To solve this problem, we propose an adaptive execution framework, which dynamically switches from interpre… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
22
0

Year Published

2018
2018
2024
2024

Publication Types

Select...
4
3

Relationship

3
4

Authors

Journals

citations
Cited by 43 publications
(22 citation statements)
references
References 23 publications
0
22
0
Order By: Relevance
“…Before we look at the reasons for this, we note that these are not large differences, especially when compared to the performance gap to other systems. For example the difference between HyPer and PostgresSQL is between one and two orders of magnitude [17]. In other words, the performance of both query processing paradigms is quite closedespite the fact that the two models appear different from the point of someone implementing these systems.…”
Section: Micro-architectural Analysismentioning
confidence: 99%
“…Before we look at the reasons for this, we note that these are not large differences, especially when compared to the performance gap to other systems. For example the difference between HyPer and PostgresSQL is between one and two orders of magnitude [17]. In other words, the performance of both query processing paradigms is quite closedespite the fact that the two models appear different from the point of someone implementing these systems.…”
Section: Micro-architectural Analysismentioning
confidence: 99%
“…Subsequent sections show the basic translator design and introduce the proposed optimizations step by step. Kohn et al [18] created the adaptive execution method which incorporates multiple execution backends into the HyPer database system. Adaptive execution switches dynamically between execution backends at runtime-even halfway through a query-in order to profit from fast compilation for short-running queries and from fast execution for longrunning queries.…”
Section: Flying Start Backendmentioning
confidence: 99%
“…Flying Start can reuse a stack slot once it knows that the value occupying the slot is never used again. To obtain this information, we arrange the program's basic blocks in reverse post-order and calculate the live spans of all values with the linear time algorithm described by Kohn et al [18,26]. The live span of a value is the interval from first to last point in the program where the value is live (similar to live intervals of Poletto and Sarkar [38]).…”
Section: Stack Space Reusementioning
confidence: 99%
See 1 more Smart Citation
“…Real-world data-centric compilation systems take mitigating measures against this. HyPer switches off certain LLVM optimization passes such as register allocation and replaces them by its own more scalable register allocation algorithm, and even contains a LLVM IR interpreter that is used to execute the first morsels of data; if that is enough to answer the query, full LLVM compilation is omitted [17]. This largely obviates this downside of compilation-but comes at the cost of additional system complexity.…”
Section: Compilation Timementioning
confidence: 99%