论文标题
Iceberght:高性能PMEM哈希表通过稳定性和低关联性
IcebergHT: High Performance PMEM Hash Tables Through Stability and Low Associativity
论文作者
论文摘要
现代哈希桌设计努力最大程度地减少空间,同时最大化速度。速度最重要的因素是在更新和查询期间访问的高速缓存线数量。这在PMEM上尤其重要,PMEM比DRAM慢,并且写作比阅读更昂贵。 本文提出了两个强大的设计目标:稳定性和低缔合性。稳定的哈希表不会移动项目,如果只有几个位置可以存储一个项目,则哈希表具有较低的关联性。低关联性确保查询只需要检查一些内存位置,并且稳定性确保插入写入很少的缓存线。稳定性还简化了缩放和碰撞安全性。 我们根据稳定性和低关联性的设计原理提出了冰山,这是一个快速,碰撞的,同时和空间效率的哈希表,用于PMEM。 Iceberght将内存中的元数据与一种新的哈希技术,冰山哈希(即(1)空间有效,(2)稳定,(3)支持低关联性。相比之下,现有的标签表要么修改插入过程中的许多缓存线(例如杜鹃哈希(Cuckoo Hashing)),在查询期间访问许多缓存线(例如线性探测),要么访问废物空间(例如链接)。此外,(1) - (3)的组合产生了几种新兴好处:冰山尺度比其他哈希表更好,支持碰撞安全性,并且在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).