  There has been significant amount of excitement and recent work on GPU-based
database systems. Previous work has claimed that these systems can perform
orders of magnitude better than CPU-based database systems on analytical
workloads such as those found in decision support and business intelligence
applications. A hardware expert would view these claims with suspicion. Given
the general notion that database operators are memory-bandwidth bound, one
would expect the maximum gain to be roughly equal to the ratio of the memory
bandwidth of GPU to that of CPU. In this paper, we adopt a model-based approach
to understand when and why the performance gains of running queries on GPUs vs
on CPUs vary from the bandwidth ratio (which is roughly 16x on modern
hardware). We propose Crystal, a library of parallel routines that can be
combined together to run full SQL queries on a GPU with minimal materialization
overhead. We implement individual query operators to show that while the
speedups for selection, projection, and sorts are near the bandwidth ratio,
joins
  achieve less speedup due to differences in hardware capabilities.
Interestingly, we show on a popular analytical workload that full query
performance gain from running on GPU exceeds the bandwidth ratio despite
individual operators having speedup less than bandwidth ratio, as a result of
limitations of vectorizing chained operators on CPUs, resulting in a 25x
speedup for GPUs over CPUs on the benchmark.

Databases