arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2210.04068cs.DScs.DB
收藏

IcebergHT:通过稳定性和低关联性实现高性能PMEM哈希表

IcebergHT: High Performance PMEM Hash Tables Through Stability and Low Associativity

Prashant Pandey, Michael A. Bender, Alex Conway, Martín Farach-Colton, William Kuszmaul, Guido Tagliavini, Rob Johnson

摘要:

现代哈希表设计力求在最大化速度的同时最小化空间。速度方面最重要的因素是在更新和查询期间访问的缓存行的数量。这在PMEM上尤其重要,PMEM比DRAM慢,写入比读取更昂贵。本文提出了两个更强的设计目标:稳定性和低关联性。一个稳定的哈希表不会移动数据项,如果一个数据项只能存储在少数几个位置,那么哈希表的关联性就很低。低关联性确保查询只需要检查几个内存位置,而稳定性确保插入写入到很少的缓存行。稳定性还简化了缩放和碰撞安全。我们提出了IcebergHT,一个快速,崩溃安全,并发,和空间效率的哈希表的PMEM基于稳定性和低关联性的设计原则。IcebergHT将内存中的元数据与一种新的哈希技术结合起来,即冰山哈希,它具有(1)空间效率,(2)稳定,(3)支持低关联性。相比之下,现有的哈希表要么在插入期间修改多个高速缓存行(例如,布谷鸟哈希),要么在查询期间访问多个高速缓存行(例如,线性探测),要么浪费空间(例如,链接)。此外,(1)-(3)的组合产生了几个新的好处:IcebergHT比其他哈希表更好地扩展,支持崩溃安全,并且在PMEM上具有出色的性能(其中写入特别昂贵)。

英文摘要:

Modern hash table designs strive to minimize space while maximizing speed. The most important factor in speed is the number of cache lines accessed during updates and queries. This is especially important on PMEM, which is slower than DRAM and in which writes are more expensive than reads. This paper proposes two stronger design objectives: stability and low-associativity. A stable hash table doesn't move items around, and a hash table has low associativity if there are only a few locations where an item can be stored. Low associativity ensures that queries need to examine only a few memory locations, and stability ensures that insertions write to very few cache lines. Stability also simplifies scaling and crash safety. We present IcebergHT, a fast, crash-safe, concurrent, and space-efficient hash table for PMEM based on the design principles of stability and low associativity. IcebergHT combines in-memory metadata with a new hashing technique, iceberg hashing, that is (1) space efficient, (2) stable, and (3) supports low associativity. In contrast, existing hash-tables either modify numerous cache lines during insertions (e.g. cuckoo hashing), access numerous cache lines during queries (e.g. linear probing), or waste space (e.g. chaining). Moreover, the combination of (1)-(3) yields several emergent benefits: IcebergHT scales better than other hash tables, supports crash-safety, and has excellent performance on PMEM (where writes are particularly expensive).

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

↑