首页> 外文期刊>Algorithmica >NBmalloc: Allocating Memory in a Lock-Free Manner
【24h】

NBmalloc: Allocating Memory in a Lock-Free Manner

机译:NBmalloc:以无锁方式分配内存

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

摘要

Efficient, scalable memory allocation for multithreaded applications on multiprocessors is a significant goal of recent research. In the distributed computing literature it has been emphasized that lock-based synchronization and concurrency-control may limit the parallelism in multiprocessor systems. Thus, system services that employ such methods can hinder reaching the full potential of these systems. A natural research question is the pertinence and the impact of lock-free concurrency control in key services for multiprocessors, such as in the memory allocation service, which is the theme of this work. We show the design and implementation of NBmalloc, a lock-free memory allocator designed to enhance the parallelism in the system. The architecture of NBmalloc is inspired by Hoard, a well-known concurrent memory allocator, with modular design that preserves scalability and helps avoiding false-sharing and heap-blowup. Within our effort to design appropriate lock-free algorithms for NBmalloc, we propose and show a lock-free implementation of a new data structure, flat-set, supporting conventional “internal” set operations as well as “inter-object” operations, for moving items between flat-sets. The design of NBmalloc also involved a series of other algorithmic problems, which are discussed in the paper. Further, we present the implementation of NBmalloc and a study of its behaviour in a set of multiprocessor systems. The results show that the good properties of Hoard w.r.t. false-sharing and heap-blowup are preserved.
机译:为多处理器上的多线程应用程序提供有效,可伸缩的内存分配是近期研究的重要目标。在分布式计算文献中,已经强调了基于锁的同步和并发控制可能会限制多处理器系统中的并行性。因此,采用此类方法的系统服务可能会阻碍发挥这些系统的全部潜力。一个自然的研究问题是无锁并发控制在多处理器的关键服务(如内存分配服务)中的相关性和影响,这是这项工作的主题。我们展示了NBmalloc的设计和实现,NBmalloc是一种无锁的内存分配器,旨在提高系统中的并行性。 NBmalloc的体系结构受到著名的并发内存分配器Hoard的启发,其模块化设计保留了可伸缩性,并有助于避免错误共享和堆爆炸。在为NBmalloc设计适当的无锁算法的努力中,我们提出并展示了新数据结构的无锁实现,即扁平集,它支持常规的“内部”集操作以及“对象间”操作,在固定装置之间移动项目。 NBmalloc的设计还涉及一系列其他算法问题,本文将对此进行讨论。此外,我们介绍了NBmalloc的实现以及在一组多处理器系统中对其行为的研究。结果表明Hoard w.r.t.的良好性能。虚假共享和堆爆炸被保留。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号