The Paper
Everything You Always Wanted to Know About Compiled and Vectorized Queries But Were Afraid to Ask
Paper Link
https://www.vldb.org/pvldb/vol11/p2209-kersten.pdf
Format
We start at 6:10, don't be late!
The discussion lasts for about 1 to 1.5 hours, depending upon the paper.
Read the paper (done before you arrive)
Introductions (name, and background)
First impressions (1-2 minutes this is what I thought)
Structured review (we move through the paper in order, everyone gets a chance to ask questions, offer comments, and raise concerns)
Free form discussion
Nominate and vote on the next paper
Abstract
The query engines of most modern database systems are either based on vectorization or data-centric code generation. These two state-of-the-art query processing paradigms are fundamentally different in terms of system structure and query execution code. Both paradigms were used to build fast systems. However, until today it is not clear which paradigm yields faster query execution, as many implementation-specific choices obstruct a direct comparison of architectures. In this paper, we experimentally compare the two models by implementing both within the same test system. This allows us to use for both models the same query processing algorithms, the same data structures, and the same parallelization framework to ultimately create an apples-to-apples comparison. We find that both are efficient, but have different strengths and weaknesses. Vectorization is better at hiding cache miss latency, whereas data-centric compilation requires fewer CPU instructions, which benefits cache- resident workloads. Besides raw, single-threaded performance, we also investigate SIMD as well as multi-core parallelization and different hardware architectures. Finally, we analyze qualitative differences as a guide for system architects.