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

并发哈希表:快速和通用?(!)

Concurrent Hash Tables: Fast and General?(!)

Tobias Maier, Peter Sanders, Roman Dementiev

摘要:

并发哈希表是最重要的并发数据结构之一,有着广泛的应用。由于哈希表访问可以支配整个应用程序的执行时间,因此我们需要实现良好的加速。不幸的是,目前可用的并发哈希库与这一要求相距甚远,特别是当某些元素发生争用时。我们的出发点,更好地执行数据结构是一个快速和简单的无锁并发哈希表基于线性探测,仅限于字大小的键值类型,不支持动态大小的适应。我们解释了如何解除这些限制,在一个可证明的可扩展的方式,并证明了动态增长的性能开销相媲美的顺序哈希表相同的泛化。我们进行了广泛的实验比较我们的实现与六个最广泛使用的并发哈希表的性能。我们的是相当快,比最好的算法具有类似的限制和数量级比最好的更一般的表快。在某些极端情况下,差异甚至接近四个数量级。

英文摘要:

Concurrent hash tables are one of the most important concurrent data structures with numerous applications. Since hash table accesses can dominate the execution time of the overall application, we need implementations that achieve good speedup. Unfortunately, currently available concurrent hashing libraries turn out to be far away from this requirement in particular when contention on some elements occurs. Our starting point for better performing data structures is a fast and simple lock-free concurrent hash table based on linear probing that is limited to word-sized key-value types and does not support dynamic size adaptation. We explain how to lift these limitations in a provably scalable way and demonstrate that dynamic growing has a performance overhead comparable to the same generalization in sequential hash tables. We perform extensive experiments comparing the performance of our implementations with six of the most widely used concurrent hash tables. Ours are considerably faster than the best algorithms with similar restrictions and an order of magnitude faster than the best more general tables. In some extreme cases, the difference even approaches four orders of magnitude.

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

↑