×

非阻塞Patricia尝试替换操作。 (英语) Zbl 1451.68082号

摘要:本文介绍了一种使用比较与交换的异步共享内存系统的非阻塞Patricia trie实现。trie是一个集合的线性化实现,支持三种更新操作:insert向trie添加元素,delete从trie中删除元素,并用另一个元素替换一个元素。替换操作很有趣,因为它改变了trie的两个不同位置。我们设计了一种机制,允许替换操作的两个更改看起来是原子执行的。如果所有更新操作都修改了trie的不同部分,那么它们将完全并发运行。该实现还支持无等待的查找操作,该操作只读取共享内存,从不更改数据结构。我们的实现及其正确性证明是模块化的,可以适用于其他数据结构。经验上,我们将我们的算法与一些现有的基于树的集实现进行了比较,结果表明我们的trie在不同的场景中都表现良好。

MSC公司:

68第05页 数据结构
64岁以下 分布式系统
PDF格式BibTeX公司 XML格式引用

参考文献:

[1] Afek、Yehuda;哈伊姆·卡普兰;鲍里斯·科伦菲尔德(Boris Korenfeld);亚当·莫里森(Adam Morrison);Tarjan,Robert E.,《CBTree:实用并发自调整搜索树》,1-15(2012),柏林,海德堡·Zbl 1377.68075号
[2] Arbel Raviv,M.,Brown,T.:海报:重用,不要回收:转换丢弃描述符的算法。摘自:2017年2月4日至8日在美国德克萨斯州奥斯汀举行的第22届ACM SIGPLAN并行编程原理与实践研讨会论文集,第429-430页(2017)·Zbl 1515.68354号
[3] Aref,W.G.,Ilyas,I.F.:SP-GiST:支持空间分区树的可扩展数据库索引。J.智力。信息系统。17(2-3), 215-240 (2001) ·Zbl 0998.68050号 ·doi:10.1023/A:1012809914301
[4] Barnes,G.:一种实现无锁共享数据结构的方法。In:Proceedings ACM Symposium on Parallel Algorithms and Architecture,pp.261-270(1993)
[5] Bieganski,P.、Riedl,J.、Carlis,J.V.、Retzel,E.F.:生物序列数据的广义后缀树:应用和实现。摘自:第27届夏威夷国际系统科学会议记录,第35-44页(1994年)
[6] Braginsky,A.,Petrank,E.:无锁B+树。摘自:ACM算法和架构并行性研讨会论文集,第58-67页(2012年)
[7] Bronson,N.G.、Casper,J.、Chafi,H.、Olukotun,K.:实用的并发二进制搜索树。摘自:Proceedings ACM Symposium on Principles and Practice of Parallel Programming,pp.257-268(2010)
[8] Brown,T.,Ellen,F.,Ruppert,E.:非阻塞数据结构的语用原语。摘自:第32届ACM分布式计算原理研讨会论文集,PODC’13,第13-22页(2013)·Zbl 1323.68256号
[9] Brown,T.、Ellen,F.、Ruppert,E.:非阻塞树的通用技术。摘自:第19届ACM并行编程原理与实践研讨会论文集,PPOPP’14,pp.329-342(2014)
[10] 特雷弗·布朗;Helga,Joanna,《非阻塞k元搜索树》,207-221(2011),柏林,海德堡
[11] Cederman,D.,Tsigas,P.:支持并发数据对象的无锁组合:在容器之间移动数据。IEEE传输。计算。62(9), 1866-1878 (2013) ·Zbl 1365.68173号 ·doi:10.109/TC.2012.248
[12] Chatterjee,B.,Nguyen,N.,Tsigas,P.:高效无锁二进制搜索树。摘自:2014年ACM分布式计算原理研讨会论文集,PODC’14,pp.322-331(2014)·Zbl 1321.68460号
[13] Drachsler,D.,Vechev,M.,Yahav,E.:通过逻辑排序实现实用并发二进制搜索树。摘自:第19届ACM并行编程原理与实践研讨会论文集,PPoPP'14,pp.343-56(2014)
[14] Ellen,F.,Fatourou,P.,Kosmas,E.,Milani,A.,Travers,C.:确保不相交访问并行性和等待自由的通用结构。分布计算。29(4), 251-277 (2016) ·Zbl 1386.68030号 ·doi:10.1007/s00446-015-0261-8
[15] Ellen,F.,Fatourou,P.,Ruppert,E.,van Breugel,F.:非阻塞二进制搜索树。摘自:第29届ACM分布式计算原理研讨会论文集,第131-140页(2010年)
[16] Fomitchev,M.,Ruppert,E.:无锁链接列表和跳过列表。摘自:第23届ACM分布式计算原理研讨会论文集,第50-59页(2004)
[17] Fraser,K.:实用的锁自由度。剑桥大学计算机实验室博士论文(2003)
[18] 甘、敏;张明义;王申文,扩展负关联规则及其挖掘算法,159-168(2006),柏林,海德堡·doi:10.1007/11739685_17
[19] Goodchild,M.F.:地理信息系统与科学:今天和明天。《地理信息系统年鉴》15(1),3-9(2009)·数字对象标识代码:10.1080/19475680903250715
[20] Guthaus,M.R.、Ringenberg,J.S.、Ernst,D.、Austin,T.M.、Mudge,T.、Brown,R.B.:Mibench:一个免费的、具有商业代表性的嵌入式基准套件。摘自:IEEE国际研讨会工作负荷表征会议记录,第3-14页(2001年)
[21] Harris,T.、Larus,J.、Rajwar,R.:交易记忆,第二版。Morgan and Claypool Publishers,圣拉斐尔(2010)
[22] Hart,T.E.,McKenney,P.E.,Brown,A.D.,Walpole,J.:无锁同步的内存回收性能。J.平行分布计算。67(12), 1270-1285 (2007) ·Zbl 1243.68109号 ·doi:10.1016/j.jpdc.2007.04.010
[23] Herlihy,M.P.,Wing,J.M.:线性化:并发对象的正确性条件。ACM事务处理。程序。语言系统。12(3), 463-492 (1990) ·数字对象标识代码:10.1145/78969.78972
[24] Howley,S.V.,Jones,J.:非阻塞内部二进制搜索树。摘自:ACM算法和架构并行性研讨会论文集,第161-171页(2012)
[25] Morrison,D.R.:PATRICIA——检索字母数字编码信息的实用算法。J.ACM 15(4),514-534(1968)·doi:10.1145/312479.321481
[26] Natarajan,A.,Mittal,N.:快速并发无锁二进制搜索树。摘自:第19届ACM SIGPLAN并行编程原理与实践研讨会论文集,PPoPP’14,第317-328页(2014)
[27] 阿拉文·纳塔拉扬;萨沃伊,Lee H。;Mittal,Neeraj,Concurrent Wait-Free Red Black Trees,45-60(2013),查姆
[28] Oshman,R.,Shavit,N.:技巧:无需重新平衡的低深度并发搜索。摘自:第32届ACM分布式计算原理研讨会论文集,第23-32页(2013年)·Zbl 1323.68245号
[29] Pietracaprina,A.,Zandolin,D.:使用Patricia tries挖掘频繁项集。收录于:《2003年ICDM频繁项集挖掘实施研讨会论文集》(2003)。(可作为CEUR研讨会论文集,第90卷,http://ceur-ws.org/vol-90)
[30] Prokopec,A.,Bronson,N.G.,Bagwell,P.,Odersky,M.:高效非阻塞快照的并发尝试。摘自:Proceedings ACM Symposium on Principles and Practice of Parallel Programming,pp.151-160(2012)
[31] Ramachandran,A.,Mittal,N.:快速无锁内部二进制搜索树。摘自:《2015年分布式计算和网络国际会议论文集》,ICDCN’15,第37:1-37:10页(2015)
[32] 沙菲伊,N.:非阻塞性帕特里夏尝试替换操作。arXiv:1303.3626(2012)·Zbl 1451.68082号
[33] 沙菲伊,N.:非阻塞性帕特里夏尝试替换操作。摘自:《第33届分布式计算系统国际会议论文集》,ICDCS’13,第216-225页(2013)·Zbl 1451.68082号
[34] Shavit,N.,Touitou,D.:软件事务性内存。分布计算。10(2), 99-116 (1997) ·Zbl 1448.68214号 ·doi:10.1007/s004460050028
[35] Sundell,H.,Tsigas,P.:可扩展且无锁的并发词典。摘自:ACM应用计算研讨会论文集,第1438-1445页(2004)
[36] Tsay,J.-J.,Li,H.-C.:多处理器系统的无锁并发树结构。摘自:《并行和分布式系统国际会议记录》,第544-549页(1994年)
[37] Zijlstra,P.:并发页面缓存。摘自:Linux研讨会,第311页(2007年)
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。