SIMDified Data Processing - Foundations, Abstraction, and Advanced Techniques
Dirk Habich, Johannes Pietrzyk · 2024
Query execution techniques in database systems are constantly adapting to novel hardware features in order to improve query performance, in particular for analytical queries. In the last decade, the Single Instruction Multiple Data (SIMD) paradigm was established as a state-of-the-art approach to increase the single-query performance by parallelizing in-core. Such SIMD capabilities are constantly increasing in modern processors by more comprehensive SIMD instruction set extensions. Therefore, this tutorial will provide an up-to-date overview about SIMDified query processing concepts. Conceptually, this tutorial is divided into three parts. In the first part, we lay the foundations by describing what SIMD is, what it was introduced for, and how it is traditionally used to accelerate query processing. The subsequent two parts focus on novel developments in this area. While the second part of this tutorial is dedicated to an abstraction layer to handle the increasing heterogeneity in the SIMD hardware landscape, the third part provides a survey of advanced techniques to address upcoming challenges such as wider and flexibly-sized SIMD registers.