arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2104.00792cs.DCcs.DS
收藏

NUMA系统的可扩展哈希表

Scalable Hash Table for NUMA Systems

Alok Tripathy, Oded Green

摘要:

哈希表用于大量的应用,包括数据库操作、DNA测序、字符串搜索等等。因此,存在许多针对多核、分布式和基于加速器的系统的并行化哈希表。在这项工作中,我们提出了一个多GPU哈希表的实现,可以处理密钥的吞吐量相当于分布式哈希表。分布式CPU哈希表比基于GPU的哈希表受到了更多的关注。我们发现,具有多个GPU的单个节点提供与基于500- 1,000核CPU的集群大致相同的性能。我们的算法的关键组成部分是我们使用多个稀疏图数据结构和装箱技术来构建哈希表。正如已经单独显示的那样,这些组件可以用适合GPU加速的大规模并行性来编写。由于我们关注的是单个节点,因此我们还利用了分布式环境中通常禁止的通信原语。我们表明,我们的新的多GPU算法共享许多相同的功能的单GPU算法-因此,我们有高效的冲突管理能力,可以处理大量的重复。我们在两个多GPU计算节点上评估我们的算法:1)具有16个GPU的NVIDIA DGX 2服务器和2)具有6个NVIDIA GPU的IBM Power 9处理器。使用32位密钥,我们的实现每秒处理8B密钥,与基于500- 1,000核CPU的集群相当,比以前的单GPU实现快4倍。

英文摘要:

Hash tables are used in a plethora of applications, including database operations, DNA sequencing, string searching, and many more. As such, there are many parallelized hash tables targeting multicore, distributed, and accelerator-based systems. We present in this work a multi-GPU hash table implementation that can process keys at a throughput comparable to that of distributed hash tables. Distributed CPU hash tables have received significantly more attention than GPU-based hash tables. We show that a single node with multiple GPUs offers roughly the same performance as a 500-1,000-core CPU-based cluster. Our algorithm's key component is our use of multiple sparse-graph data structures and binning techniques to build the hash table. As has been shown individually, these components can be written with massive parallelism that is amenable to GPU acceleration. Since we focus on an individual node, we also leverage communication primitives that are typically prohibitive in distributed environments. We show that our new multi-GPU algorithm shares many of the same features of the single GPU algorithm -- thus we have efficient collision management capabilities and can deal with a large number of duplicates. We evaluate our algorithm on two multi-GPU compute nodes: 1) an NVIDIA DGX2 server with 16 GPUs and 2) an IBM Power 9 Processor with 6 NVIDIA GPUs. With 32-bit keys, our implementation processes 8B keys per second, comparable to some 500-1,000-core CPU-based clusters and 4X faster than prior single-GPU implementations.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑