Excalibur: A Virtual Machine for Adaptive Fine-grained JIT-Compiled Query Execution based on VOILA
Tim Gubner, Peter Boncz
摘要
In recent years, hardware has become increasingly diverse, in terms of features as well as performance. This poses a problem for complex software in general and database systems in particular. To achieve top-notch performance, we need to exploit hardware features, but do not fully know which behave best on the current, and more-so future, machines. Specializing query execution methods for many diverse hardware platforms will significantly increase database software complexity and also poses a physical query optimization problem that cannot be solved robustly with static cost models. In this paper, we propose a new query execution architecture addressing these problems. Based on the flexible domain-specific language VOILA, it can generate thousands of different flavors from a single code-base. As an abstraction, a virtual machine (VM) allows hiding physical execution details, such that the VM can transparently switch between different execution tactics within each query, applied at a fine granularity. We show rules to describe a search space for good tactics, and describe efficient search strategies, that limit the overhead of adaptive JIT code generation and compilation. The VM starts executing each query in full vectorized code style, but adaptively replaces (parts of) query pipelines by code fragments compiled using different execution flavors, exploring this search space and exploiting the best tactics found, casting adaptive query execution into a Multi-Armed Bandit (MAB) problem. Excalibur, our prototype, outperforms open-source systems by up to 28X and the state-of-the-art system Umbra by up to 1.8X. In specific queries Excalibur performs up to 2X faster than static flavors.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了最后一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper5
- Declarative Sub-Operators for Universal Data ProcessingMichael Jungmair, Jana GicevaVLDB 2023 · 被引用 17 次
- BladeDISC: Optimizing Dynamic Shape Machine Learning Workloads via Compiler ApproachZhen Zheng, Zaifeng Pan, Dalin Wang, Kai Zhu 等SIGMOD 2024 · 被引用 14 次
- Incremental Fusion: Unifying Compiled and Vectorized Query ExecutionBenjamin Wagner, André Kohn, Peter Boncz, Viktor LeisICDE 2024 · 被引用 3 次
- Towards Designing Future-Proof Data Processing SystemsMichael Jungmair, Jana GicevaVLDB 2025 · 被引用 1 次
- The UDFBench Benchmark for General-purpose UDF QueriesYannis Foufoulas, Theoni Palaiologou, Alkis SimitsisVLDB 2025
它引用的顶会 Paper4
- Designing an Open Framework for Query Optimization and CompilationMichael Jungmair, André Kohn, Jana GicevaVLDB 2022 · 被引用 45 次
- Permutable Compiled Queries: Dynamically Adapting Compiled Queries without RecompilingPrashanth Menon, Amadou Ngom, Todd C. Mowry, Andrew Pavlo 等VLDB 2021 · 被引用 26 次
- Charting the Design Space of Query Execution using VOILATim Gubner, Peter BonczVLDB 2021 · 被引用 17 次
- Getting Swole: Generating Access-Aware Code with Predicate PullupsAndrew Crotty, Alex Galakatos, Tim KraskaICDE 2020 · 被引用 11 次
相关 Paper
- Bringing Compiling Databases to RISC ArchitecturesFerdinand Gruber, Maximilian Bandle, Alexis Engelke, Thomas Neumann 等VLDB 2023 · 被引用 9 次
- ADAMANT: A Query Executor with Plug-In Interfaces for Easy Co-processor IntegrationBala Gurumurthy, David Broneske, Gabriel Campero Durand, Thilo Pionteck 等ICDE 2023 · 被引用 1 次
- Adaptive Code Generation for Data-Intensive AnalyticsWangda Zhang, Junyoung Kim, Kenneth A. Ross, Eric Sedlar 等VLDB 2021 · 被引用 12 次
- Building Advanced SQL Analytics From Low-Level Plan OperatorsAndré Kohn, Viktor Leis, Thomas NeumannSIGMOD 2021 · 被引用 13 次
- Blueprinting the Cloud: Unifying and Automatically Optimizing Cloud Data Infrastructures with BRADGeoffrey X. Yu, Ziniu Wu, Ferdinand Kossmann, Tianyu Li 等VLDB 2024 · 被引用 11 次
