A Study of the Fundamental Performance Characteristics of GPUs and CPUs for Database Analytics

Anil Shanbhag, Samuel Madden, Xiangyao Yu

2020 · 99 citations · 36 references

DOIFull text

Open access

Concepts

TL;DR

GPU‑based database systems have attracted attention for allegedly delivering up to an order of magnitude speedup over CPU systems on analytical workloads, yet experts doubt these claims, noting that memory‑bandwidth limits suggest a maximum gain near the GPU/CPU bandwidth ratio of about 16×. This study adopts a model‑based approach to determine when and why GPU versus CPU performance gains deviate from the expected bandwidth ratio. The authors introduce Crystal, a library of parallel routines that enable full SQL queries to run on GPUs with minimal materialization overhead. Implementation results show that while selection, projection, and sort operators approach the 16× bandwidth ratio, joins achieve lower speedups, yet end‑to‑end query performance on a popular analytical benchmark surpasses the ratio, yielding a 25× GPU advantage over CPUs.

Abstract

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 16× 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 25× speedup for GPUs over CPUs on the benchmark.

References

36