C:无锁内存分配库

时间:2011-03-25 04:28:36

标签: c++ c memory-management lock-free

任何人对C / c ++的无锁内存分配器都有很好的经验吗?

我已经研究了boost和libcds,但我不确定要使用哪个库。

背景,我一直在研究“无锁,无等待,无阻塞,动态完美哈希,可扩展,并发哈希表”  *是的我知道这听起来很自命不凡,但这就是所谓的。

无论如何,我正准备开始多线程测试,并且我需要在添加新节点时找出设置内存分配的最佳方法。 (当我需要分配指针数组时)

那么有没有人对无锁内存分配有任何良好的经验?

3 个答案:

答案 0 :(得分:5)

漂亮的图表显示这种实施很好:

http://locklessinc.com/

自2011年11月14日起它是开源GPL 3.0:)

答案 1 :(得分:2)

还有streamflow。我自己没用过;我在阅读一些出版物时遇到过它。

答案 2 :(得分:0)

为什么不尝试tbb的分配器?虽然我怀疑你会找到一个真正无锁的分配器*,但至少有一个可以跨线程/核心工作(如tcmalloc

,我不确定它是如何'无锁'的。

*我试图在几个月前建立一个,但让它无锁是有一些缺点,至少从我的角度来看。我对TLS竞技场并不像nedmalloc那样热衷于此。我最终得到了一个混合类型分配器,它只在一个chunk-bin为空时锁定。