A spectrum of new hardware has been studied to accelerate database systems in the past decade. Specifically, CUDA cores are known to benefit from the fast development of GPUs and make notable performance improvements. The state-of-the-art GPU-based implementation, i.e., Crystal, can achieve up to 61 times higher performance than CPU-based implementations. However, experiments show that the approach has already saturated almost all GPU memory bandwidth, which means there is little room left for further performance improvements. We introduce RTCUDB, the first query engine that leverages ray tracing (RT) cores in GPUs to accelerate database query processing. RTCUDB efficiently transforms the evaluation of a query into a ray-tracing job in a three-dimensional space. By dramatically reducing the amount of accessed data and optimizing the data access pattern with the ray tracing mechanism, the performance of RTCUDB is no longer limited by the memory bandwidth as in CUDA-based implementations. Experimental results show that RTCUDB outperforms the state-of-the-art GPU-based query engine by up to 18.3 times while the memory bandwidth usage drops to only 36.7% on average.
High-Throughput Transaction Executions on Graphics Processors
联机事务处理(OLTP)是各种传统和新兴在线服务中的重要业务系统部分。由于用户数量的不断增加,OLTP系统需要高吞吐量,以便在短时间内执行数万个事务。受GPGPU(通用计算图形处理器)最近的成功,我们提出了GPUTx,一个OLTP引擎执行高吞吐量的事务执行的GPU内存中的数据库。与现有的GPGPU研究通常优化单个任务相比,事务执行需要同时处理许多小任务。具体来说,我们提出了批量执行模型,将多个事务分组为批量,并将批量作为单个任务在GPU上执行。批量内的事务在GPU上并发执行。本文研究了三种基本的执行策略(一种带锁,另两种无锁),并结合GPU对原子操作的硬件支持、大规模线程并行性和SPMD(Single Program Multiple Data)执行等特性对它们进行了优化。我们评估GPUTx在最新的NVIDIA GPU上与其在四核CPU上的对应物进行比较。我们的实验结果表明,GPUTx上的优化显着提高吞吐量,优化后的GPUTx达到4-10倍的吞吐量比其基于CPU的同行在公共事务处理基准测试。
Stanford University(斯坦福大学);Intel AI Lab(英特尔人工智能实验室);Vrije Universiteit Amsterdam(阿姆斯特丹自由大学);Mila - Québec AI Institute(米拉-魁北克人工智能研究所);Université de Montréal(蒙特利尔大学)