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

A Study of the Fundamental Performance Characteristics of GPUs and CPUs for Database Analytics
复制标题

DOI:
10.1145/3318464.3380595
复制
发表时间:
2020-03
期刊:
Proceedings of the 2020 ACM SIGMOD International Conference on Management of Data
影响因子:
--
通讯作者:
Anil Shanbhag;S. Madden;Xiangyao Yu
Anil Shanbhag;S. Madden;Xiangyao Yu
中科院分区:
其他
文献类型:
--
作者:
Anil Shanbhag;S. Madden;Xiangyao Yu

文献摘要

被引文献

相似文献

基于GPU的数据库系统最近有很多令人兴奋的工作。以前的工作声称,这些系统在分析工作负载(如决策支持和商业智能应用程序中的工作负载)上的性能比基于CPU的数据库系统好几个数量级。硬件专家会怀疑这些说法。考虑到数据库操作符是内存带宽限制的一般概念,人们会期望最大增益大致等于GPU的内存带宽与CPU的内存带宽之比。在本文中,我们采用了一种基于模型的方法来理解在GPU上运行查询与在CPU上运行查询的性能增益何时以及为什么会因带宽比(现代硬件上约为16倍)而变化。我们提出了水晶,一个库的并行例程,可以结合在一起,以最小的物化开销在GPU上运行完整的SQL查询。我们实现个人查询运算符显示,虽然选择,投影和排序的加速比接近带宽比,连接实现较少的加速,由于硬件功能的差异。有趣的是,我们在一个流行的分析工作负载上显示,在GPU上运行的完整查询性能增益超过了带宽比,尽管单个运算符的加速比低于带宽比,这是由于CPU上的向量化链式运算符的限制,导致GPU在基准测试中的加速比为CPU的25倍。
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.