当前位置: X-MOL 学术J. Parallel Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
On the correctness and efficiency of a novel lock-free hash trie map design
Journal of Parallel and Distributed Computing ( IF 3.4 ) Pub Date : 2021-01-19 , DOI: 10.1016/j.jpdc.2021.01.001
Miguel Areias , Ricardo Rocha

Hash tries are a trie-based data structure with nearly ideal characteristics for the implementation of hash maps. In this paper, we present a novel, simple and scalable hash trie map design that fully supports the concurrent search, insert and remove operations on hash maps. To the best of our knowledge, our proposal is the first that puts together the following characteristics: (i) be lock-free; (ii) use fixed size data structures; and (iii) maintain the access to all internal data structures as persistent memory references. Our design is modular enough to allow different types of configurations aimed for different performances in memory usage and execution time and can be easily implemented in any type of language, library or within other complex data structures. We discuss in detail the key algorithms required to easily reproduce our implementation by others and we present a proof of correctness showing that our proposal is linearizable and lock-free for the search, insert and remove operations. Experimental results show that our proposal is quite competitive when compared against other state-of-the-art proposals implemented in Java.



中文翻译:

一种新颖的无锁散列特里地图设计的正确性和效率

哈希尝试是基于Trie的数据结构,具有用于实现哈希映射的近乎理想的特性。在本文中,我们提出了一种新颖,简单且可扩展的哈希特里图设计,该设计完全支持哈希图上的并发搜索,插入和删除操作。据我们所知,我们的提议是第一个提出以下特征的提议:(i)无锁;(ii)使用固定大小的数据结构;(iii)保持对所有内部数据结构的访问权作为持久性内存引用。我们的设计足够模块化,可以针对内存使用和执行时间的不同性能进行不同类型的配置,并且可以轻松地以任何类型的语言,库或在其他复杂的数据结构中实现。我们详细讨论了轻松重现他人实现所需的关键算法,并提供了正确性证明,表明我们的提案对于搜索,插入和删除操作是线性化且无锁的。实验结果表明,与其他用Java实现的最新建议相比,我们的建议具有相当的竞争力。

更新日期:2021-01-29
down
wechat
bug