返回
Efficiently Joining Large Relations on Multi-GPU Systems
DOI:10.14778/3749646.3749720.png)
摘要
En 中文
数据量的不断增长给关系连接带来了日益严峻的挑战。由于GPU具有高指令吞吐量和内存带宽,已广泛应用于作为数据库加速器,用于连接等操作。大多数已发表的GPU加速连接算法是单GPU算法,未能有效利用现代多GPU平台。少数提出的多GPU算法要么未能利用GPU之间的高速P2P互连,要么无法原生处理大规模外存数据。在本文中,我们提出了一种异构多GPU排序合并连接算法,克服了上述两种限制。该算法由基于合并或基数分区的P2P启用的多GPU排序阶段、并行的CPU基多路合并阶段以及结合了CPU合并路径分区和基于二分查找的多GPU连接策略的混合连接阶段组成。我们在具有快速NVLink和NVSwitch基P2P互连的两个平台上评估了我们新颖的多GPU连接算法。我们表明,无论工作负载如何,我们的连接算法均优于现有的CPU和GPU基准。与并行CPU排序合并和基数-哈希连接相比,其性能分别提升了高达15.2倍和5.5倍。与非P2P启用的多GPU连接相比,其速度提升了8.7倍(排序合并)和2.5倍(混合-基数)。我们测量发现,我们连接算法中具有重叠复制和计算操作的混合连接阶段仅占其端到端运行时间的22%。如果输入关系是预排序的,其性能比混合-基数连接快高达14.4倍。我们的连接算法能够很好地扩展GPU数量,并受益于数据倾斜,最多可缩短12%的连接持续时间。
Keyword:
ALGORITHMS
CORE
PERFORMANCE
NVLINK
期刊
P
IF:
3.3
论文数:
563
被引数:
1.2W

