Data-Parallel Query Processing on Non-Uniform Data
Article
Title
Data-Parallel Query Processing on Non-Uniform Data
Authors
Henning Funke and Jens Teubner
Published
Proceedings of the VLDB Endowment, volume 13, number 6, February 2020
Download
Presentation Video
Abstract
Graphics processing units (GPUs) promise spectacular performance advantages when used as database coprocessors. Their massive compute capacity, however, is often hampered by control flow divergence caused by non-uniform data distributions. When data-parallel work items demand for different amounts or types of processing, instructions execute with lowered efficiency. Query compilation techniques—a recent advance in GPU-accelerated database processing—suffer from the problem even more, because divergence effects are amplified during the execution of fused pipeline operators.
In this work, we identify two types of control flow divergence—filter divergence and expansion divergence—that frequently occur in real world workloads. We quantify the problem for two poster cases and propose techniques to balance these divergence effects. By balancing divergence effects, our approach is able to restore processing efficiency even when pipelines contain heavily skewed operations. Our query compiler DogQC has a wider range of functionality than other query coprocessors and achieves performance improvements. We observe shorter execution times for TPC-H benchmark queries by factors up to 4.51x compared with existing GPU query compilers and by factors up to 4.54x compared with CPU-based systems.
Project
Energy Awareness in Database Algorithms and Systems (SFB 876, A2)
MxKernel: A Bare-Metal Runtime System for Database Operations on Heterogeneous Many-Core Hardware
Source Code Publication
The source code of the DogQC query compiler is available for download here.
It is also available on Github.
Publication Log
Februar 2020
December 2019
Revised Submission to VLDB 2020 (result: Accept)
- submission (PDF)
- reviews (results: Accept, Accept, Accept)
September 2019
Submission to VLDB 2020 (result: Revision)
- submission (PDF)
- reviews (results: Weak Accept, Weak Reject, Weak Accept)