arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2006.00819cs.DC
收藏

DHash:实现动态高效的哈希表

DHash: Enabling Dynamic and Efficient Hash Tables

Junchang Wang, Xiong Fu, Fu Xiao, Chen Tian

摘要:

给定一个指定的平均加载因子,哈希表提供了恒定时间查找操作的吸引力。然而,哈希表可能面临严重的哈希冲突,因为恶意攻击、有缺陷的应用程序,甚至传入数据的突发,从而损害了这一实际优势。在本文中,我们提出了DHash,一个哈希表,克服了这一挑战,允许程序员动态地改变其散列函数的飞行,而不影响其他并发操作,如查找,插入和删除。DHash是模块化的,允许程序员选择各种无锁/无等待集算法作为哈希表桶的实现。有了这种灵活性,他们可以在算法的进度保证、性能和工程工作之间进行权衡,并创建最符合他们需求的DHash实现。三种类型的架构的评估表明,DHash显着优于其他实际的替代品在繁重的工作负载。当负载因子为20时,DHash的性能比其他三个最广泛使用的哈希表高出1.4-2.0倍,当负载因子增加到200时,DHash的速度快了2.3-6.2倍。

英文摘要:

Given a specified average load factor, hash tables offer the appeal of constant time lookup operations. However, hash tables could face severe hash collisions because of malicious attacks, buggy applications, or even bursts of incoming data, compromising this practical advantage. In this paper, we present DHash, a hash table that overcomes this challenge by allowing programmers to dynamically change its hash function on the fly, without affecting other concurrent operations such as lookup, insert, and delete. DHash is modular and allows programmers to select a variety of lock-free/wait-free set algorithms as the implementation of hash table buckets. With this flexibility, they can make trade-offs between the algorithm's progress guarantee, performance, and engineering efforts, and create DHash implementations that meet their requirements best. Evaluations on three types of architectures show that DHash noticeably outperforms other practical alternatives under heavy workloads. With a load factor of 20, DHash outperforms the other three most widely used hash tables by factors of 1.4-2.0, and when the load factor increases to 200, DHash is 2.3-6.2 times faster.

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

↑