Optimizing select conditions on GPUs

  • Authors:
  • Evangelia A. Sitaridi;Kenneth A. Ross

  • Affiliations:
  • Columbia University;Columbia University

  • Venue:
  • Proceedings of the Ninth International Workshop on Data Management on New Hardware
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Implementations of data processing operators on GPU processors have achieved significant performance improvements over their multicore CPU counterparts. To achieve maximum performance, database operator implementations must take into consideration special features of GPU architectures. A crucial difference is that the unit of execution is a group ("warp") of threads, 32 threads in our target architecture, as opposed to a single thread for CPUs. In the presence of branches, threads in a warp have to follow the same execution path; if some threads diverge then different paths are serialized. Additionally, similarly to CPUs, branches degrade the efficiency of instruction scheduling. Here, we study conjunctive selection queries where branching hurts performance. We compute the optimal execution plan for a conjunctive query, taking branch penalties into account and consider both single-kernel and multi-kernel plans. Our evaluation suggests that divergence affects performance significantly and that our techniques reduce resource underutilization and improve operator performance.