March 22, 2021 Web page setup.
Query compilation is a processing technique that achieves very high processing speeds by generating query-specific machine code. In the past, promising techniques were discussed, e.g. the use of templates, generation of C++ code, or the use of low-level intermediate representations. In this seminar, we will look at some of the methods and discuss their advantages and disadvantages.
The seminar will be held in English. Interested students are invited to contact Jan Mühlig (jan.muehlig@tu-dortmund.de) with their three favorite topics until 08.04.2022.
1. Using Templates to generate Query- and Hardware-specific Source Code
Konstantinos Krikellas, Stratis Viglas, Marcelo Cintra. "Generating code for holistic query evaluation". ICDE 2010. PDF.
2. Relaxed Operator Fusion for In-Memory Databases
Prashanth Menon, Andrew Pavlo, Todd C. Mowry. "Relaxed Operator Fusion for In-Memory Databases: Making Compilation, Vectorization, and Prefetching Work Together At Last". Proc. VLDB Endow. 11(1). PDF.
3. Architecture of a Query Compiler
Amir Shaikhha, Yannis Klonatos, Lionel Parreaux, Lewis Brown, Mohammad Dashti, Christoph Koch. "How to Architect a Query Compiler". SIGMOD Conference 2016. PDF.
Ruby Y. Tahboub, Grégory M. Essertel, Tiark Rompf. "How to Architect a Query Compiler, Revisited". SIGMOD Conference 2018. PDF.
4. Compiler and Toolchain Technologies: The Low Level Virtual Machine
Chris Lattner, Vikram S. Adve. "LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation". CGO 2004. PDF.
5. Using LLVM to Efficiently Compiling Query Plans
Thomas Neumann. "Efficiently Compiling Efficient Query Plans for Modern Hardware". Proc. VLDB Endow. 4(9). PDF.
6. Compiled Queries without Recompiling
Prashanth Menon, Amadou Ngom, Todd C. Mowry, Andrew Pavlo, Lin Ma. "Permutable Compiled Queries: Dynamically Adapting Compiled Queries without Recompiling". Proc. VLDB Endow. 14(2). PDF.
7. Adaptive Execution of Compiled Queries
André Kohn, Viktor Leis, Thomas Neumann. "Adaptive Execution of Compiled Queries". ICDE 2018. PDF.
8. More Efficient Code Generation
Henning Funke, Jan Mühlig, Jens Teubner. "Efficient generation of machine code for query compilers". DaMoN 2020. PDF.
9. Query Compilation on FPGAs
René Müller, Jens Teubner, Gustavo Alonso. "Streams on Wires - A Query Compiler for FPGAs". Proc. VLDB Endow. 2(1). PDF.
10. Query Compilation on GPUs
Henning Funke, Sebastian Breß, Stefan Noll, Volker Markl, Jens Teubner. "Pipelined Query Processing in Coprocessor Environments". SIGMOD Conference 2018. PDF.
11. Profiling Dataflow Systems
Alexander Beischl, Timo Kersten, Maximilian Bandle, Jana Giceva, Thomas Neumann. "Profiling dataflow systems on multiple abstraction levels". EuroSys 2021. PDF.
12. Optimizing Across Relational- and Linear Algebra
Andreas Kunft, Asterios Katsifodimos, Sebastian Schelter, Sebastian Breß, Tilmann Rabl, Volker Markl. "An Intermediate Representation for Optimizing Machine Learning Pipelines". Proc. VLDB Endow. 12(11). PDF.
13. Writing Domain Specific Languages for Efficient Code Generation
Tiark Rompf, Martin Odersky. "Lightweight Modular Staging: A Pragmatic Approach to
Runtime Code Generation and Compiled DSLs". PDF.
More topics might follow.
The presentations will be held (probably in attendance) in two blocks.
The talks are scheduled for 20 minutes, each talk is followed by a discussion on the topic and the presentation.
The report should follow the ACM Proceedings Templates (LaTeX or Word) with a maximum of six pages (including references). Each student reviews two reports from other students.
Each participant will review two other participants' submissions using a provided conferencing system. The feedback is used to improve their report and is given before the presentation.