简洁快速的微型指针哈希表
Succinct and Fast Tiny Pointer Hash Tables
浏览论文内容
中文总结 AI 辅助
本文提出微型指针哈希表(TPHT),含链式、扁平两种互补设计,在保持顶尖性能的同时大幅降低内存使用,推进了延迟-空间帕累托前沿。
中文摘要 AI 辅助
哈希表是许多系统的关键路径,但现代设计仍需在快速操作与高内存开销间权衡。本文重新审视该权衡,提出微型指针哈希表(Tiny Pointer Hash Tables, TPHT),这是一类实用哈希表,将理论中的两个思路应用于系统规模:将指针压缩至1字节,紧凑编码密钥以减少元数据需求。我们将这些思路转化为两种互补设计:链式TPHT追求最大空间节省,据我们所知是首个简单实用的简洁哈希表设计,实现的内存占用小于总数据大小,且操作时间为常数;扁平TPHT追求低延迟,组织数据使常见情况仅需一次缓存未命中,同时保持高效空间利用率。两种变体均支持无全局暂停的动态扩容,可与64位密钥和值无缝集成。在YCSB及微基准测试中,TPHT推进了延迟-空间帕累托前沿:链式TPHT空间效率达105.4%,扁平TPHT空间效率为83.4%,吞吐量较强基线最高提升89.3%。这些结果表明,理论层面的技术可转化为可投入生产的哈希表,在实现顶尖性能的同时显著降低内存使用。
英文摘要
Hash tables sit on the critical path of many systems, yet modern designs still force a trade-off between fast operations and high memory overhead. We revisit this trade-off and present Tiny Pointer Hash Tables (TPHT), a family of practical hash tables that make two ideas from theory work at system scale: compressing pointers down to a byte, and encoding keys compactly so less metadata is needed. We engineer these ideas into two complementary designs. Chained-TPHT targets maximal space savings, and is to the best of our knowledge the first simple and practical succinct hash table design, achieving a footprint less than the total data size with constant-time operations. Flattened-TPHT targets latency, organizing data to keep the common case within a single cache miss while retaining strong space efficiency. Both variants support dynamic resizing without global pauses and integrate cleanly with 64-bit keys and values. Across YCSB and microbenchmarks, TPHT advances the latency-space Pareto frontier: Chained-TPHT reaches 105.4% space efficiency, and Flattened-TPHT achieves 83.4% space efficiency with up to 89.3% higher throughput than strong baselines. Together, these results show that techniques primarily known in theory can be turned into production-ready hash tables that meaningfully reduce memory use while delivering state-of-the-art performance.