跳到主要内容
研究论文

无锁数据结构的自动内存回收

出版:2015年10月23日出版历史
跳过抽象节

摘要

无锁数据结构在实践中得到了广泛应用,但为其设计无锁内存回收非常困难。特别是,所有已知的无锁回收方案都是“手动”的,即开发人员必须指定节点何时退役和可以回收。充分退出节点是非常重要的,通常需要修改原始的无锁算法。本文本着标记扫描垃圾收集的精神,提出了一种针对无锁数据结构的自动无锁回收方案。该算法适用于任何规范化的无锁算法,不需要程序员退役节点或对算法进行更改。对链接列表和哈希表的评估表明,该方案的性能与最佳手动(无锁)内存回收方案类似。

工具书类

  1. D.Alistarh、P.Eugster、M.Herlihy、A.Matveev和N.Shavit。Stacktrack:并发内存回收的自动化事务方法。在EuroSys中。ACM,2014年。谷歌学者谷歌学者数字图书馆数字图书馆
  2. J.Auerbach、D.F.Bacon、P.Cheng、D.Grove、B.Biron、C.Gracie、B.McCloskey、A.Micic和R.Sciampacone。税收与支出:实时垃圾收集的民主调度。在EMSOFT中,第245-254页,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  3. A.Braginsky、A.Kogan和E.Petrank。抛锚:非阻塞数据结构的轻量级内存管理。在SPAA中,第33-42页。ACM,2013年。谷歌学者谷歌学者数字图书馆数字图书馆
  4. N.Cohen和E.Petrank。高效的内存管理,支持无锁数据结构和乐观访问。在SPAA中。ACM,2015年。谷歌学者谷歌学者数字图书馆数字图书馆
  5. D.L.Detlefs、P.A.Martin、M.Moir和G.L.Steele Jr.Lockfree参考计数。DISC,第255-271页,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  6. T.L.Harris。非阻塞链接列表的实用实现。在DISC中,第300–314页。斯普林格,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  7. T.E.Hart、P.E.McKenney、A.D.Brown和J.Walpole。无锁同步的内存回收性能。JPDC,第1270–1285页,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  8. M.Herlihy先生。无需等待同步。托普拉斯,1991年。谷歌学者谷歌学者数字图书馆数字图书馆
  9. M.赫利希和N.沙维特。《多处理器编程的艺术》,修订版重印,爱思唯尔出版社,2012年。谷歌学者谷歌学者数字图书馆数字图书馆
  10. M.Herlihy、V.Luchangco、P.Martin和M.Moir。非阻塞内存管理支持动态大小的数据结构。TOCS,23(2):146-1962005。谷歌学者谷歌学者数字图书馆数字图书馆
  11. M.P.Herlihy和J.E.B.Moss。多处理器的无锁垃圾收集。TPDS,1992年。谷歌学者谷歌学者数字图书馆数字图书馆
  12. R.L.Hudson和J.E.B.Moss。蓝宝石:复制GC而不停止世界。2001年,在爪哇格兰德ACM-ISCOPE联合会议上,第48–57页。谷歌学者谷歌学者数字图书馆数字图书馆
  13. A.Kogan和E.Petrank。具有多个排队者和排队者的无等待队列。在PPoPP中,第223-234页。ACM,2011年。谷歌学者谷歌学者数字图书馆数字图书馆
  14. A.Kogan和E.Petrank。创建快速无等待数据结构的方法。在PPoPP中,第141-150页。ACM,2012年。谷歌学者谷歌学者数字图书馆数字图书馆
  15. 迈克尔先生。高性能动态无锁哈希表和基于列表的集合。在SPAA中,第73-82页。ACM,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  16. 迈克尔先生。危险提示:无锁对象的安全内存回收。TPDS,15(6):491–5042004年。谷歌学者谷歌学者数字图书馆数字图书馆
  17. M.M.Michael和M.L.Scott。对无锁数据结构的内存管理方法的更正。技术报告,DTIC文件,1995年。谷歌学者谷歌学者数字图书馆数字图书馆
  18. S.Owens、S.Sarkar和P.Sewell。更好的x86内存模型:x86-tso。《高阶逻辑中的定理证明》,第391-407页。施普林格,2009年。谷歌学者谷歌学者数字图书馆数字图书馆
  19. E.Petrank。并行数据结构能否依赖自动内存管理器?在MSPC中,第1-1页。ACM,2012年。谷歌学者谷歌学者数字图书馆数字图书馆
  20. F.Pizlo、D.Frampton、E.Petrank和B.Steensgard。Stopless:用于多处理器的实时垃圾收集器。在ISMM中,第159-172页,2007年。谷歌学者谷歌学者数字图书馆数字图书馆
  21. F.Pizlo、E.Petrank和B.Steensgaard。并发实时垃圾收集器的研究。在PLDI中,第33-44页,2008年。谷歌学者谷歌学者数字图书馆数字图书馆
  22. F.Pizlo、L.Ziarek、P.Maj、A.L.Hosking、E.Blanton和J.Vitek。分裂:碎片容忍实时垃圾收集。PLDI,第146-159页,2010年。谷歌学者谷歌学者数字图书馆数字图书馆
  23. H.Sundell。无需等待的引用计数和内存管理。在IPDPS中,第24b–24b页。IEEE,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  24. S.Timnat和E.Petrank。无锁数据结构的实用无等待模拟。在PPoPP中,第357-368页。ACM,2014年。谷歌学者谷歌学者数字图书馆数字图书馆
  25. J.D.Valois。使用compare-and-swap的无锁链接列表。在PODC中,第214-222页。ACM,1995年。谷歌学者谷歌学者数字图书馆数字图书馆

索引术语

  1. 无锁数据结构的自动内存回收

            建议

            评论

            登录选项

            检查您是否可以通过登录凭据或您的机构访问本文。

            登录

            完全访问权限

            • 发布于

              封面图片ACM SIGPLAN注意事项
              ACM SIGPLAN通知 第50卷第10期
              2015年OOPSLA
              2015年10月
              953页
              国际标准编号:0362-1340
              EISSN公司:1558-1160
              内政部:10.1145/2858965
              期刊目录
              • 封面图片ACM会议
                OOPSLA 2015:2015 ACM SIGPLAN面向对象编程、系统、语言和应用国际会议记录
                2015年10月
                953页
                国际标准图书编号:9781450336895
                内政部:10.1145/2814270

              版权所有©2015 ACM

              如果复制品不是为了盈利或商业利益而制作或分发的,并且复制品的第一页载有本通知和完整引文,则允许免费制作本作品的全部或部分数字或硬拷贝以供个人或课堂使用。必须尊重ACM以外的其他人对本作品组成部分的版权。允许用信用证进行摘要。要以其他方式复制或重新发布,在服务器上发布或重新发布到列表,需要事先获得特定许可和/或付费。从请求权限[电子邮件保护]

              出版商

              计算机协会

              美国纽约州纽约市

              出版历史

              • 出版:2015年10月23日

              检查更新

              限定符

              • 研究论文

            PDF格式

            以PDF文件查看或下载。

            PDF格式

            电子阅读器

            使用eReader在线查看。

            电子阅读器