首页> 外文期刊>C - C++ Users Journal >Lock-Free Data Structures with Hazard Pointers
【24h】

Lock-Free Data Structures with Hazard Pointers

机译:带有危险指针的无锁数据结构

获取原文
获取原文并翻译 | 示例

摘要

People have for so long tried to solve the memory deallocation problem with lock-free algorithms, at a point when it looked like there is no satisfactory solution. However, with minimum scaffolding and by maneuvering carefully between thread-private and thread-shared data, it is possible to devise an algorithm that gives strong and satisfactory speed and memory consumption guarantees. Besides, although we used WRRMMap as an example throughout, the hazard pointers technique is, of course, applicable to much more complex data structures. The memory reclamation problem is more important in dynamic structures that can grow and shrink arbitrarily; for example, a program that has thousands of linked lists that may grow to have millions of dynamic nodes and then shrink. That would be where hazard pointers would show their full power. The worst that a reader thread could ever do is die and leave all of its hazard pointers set, thus forever keeping allocated at mos one node for each of its hazard pointers.
机译:人们一直试图使用无锁算法来解决内存释放问题,当时似乎还没有令人满意的解决方案。但是,只需使用最少的支架,并通过在线程专用数据和线程共享数据之间进行仔细操作,就可以设计出一种算法,该算法可提供强大而令人满意的速度和内存消耗保证。此外,尽管我们始终使用WRRMMap作为示例,但是危害指针技术当然适用于更为复杂的数据结构。内存回收问题在可以任意增长和收缩的动态结构中更为重要。例如,具有数千个链接列表的程序可能会增长为具有数百万个动态节点,然后缩小。那将是危险指示器显示其全部功能的地方。读取器线程可能做的最坏的事情是死掉,并保留所有危险指针的设置,从而永远为每个危险指针在一个节点上永远分配一个节点。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号