Exploiting SIMD for complex numerical predicates

Dongxiao Song, Shimin Chen · 2016

We study the use of SIMD instructions to support complex conjunctive numerical predicates. Compared to previous studies, we aim to model more realistic use scenarios, where different data types, different comparison operations, and different predicate types can be mixed in a single filtering clause. Moreover, the evaluation of the predicates on a set of columns can take advantage of multiple processor cores for maximum speed. We find that the diversity of the predicates and the introduction of multiple threads pose significant challenges in modeling and optimizing complex predicates. We propose a code framework based on three alternative SIMD algorithms for conjunctive predicates. Then, we investigate cost models for both single-threaded and multi-threaded evaluation of filtering predicates. Our experimental results on synthetic data show that an optimal SIMD plan can achieve up to 10.4× speedup over the best no SIMD plan, and up to 6.8× speedup over sub-optimal SIMD plans.

Read the paper · More papers on PaperTik