|
Boost : |
Subject: Re: [boost] [Review] Review results for Lockfree
From: Dan Carter (carterd_at_[hidden])
Date: 2011-10-07 02:33:41
On 22/08/2011 6:13 PM, Hartmut Kaiser wrote:
> The general interest was to have a more diverse set
> of data structures available, such as a lock-free linked list or bounded and
> fixed-sized data structures.
I've been sitting on a lock-free doubly-linked list, perhaps there's
interest in porting it to boost. It's ABA problem free using only a
32-bit CAS. It's built off of a lock-free memory manager that could
serve as the foundation for other container types (map, unordered map, bag).
The doubly-linked list, algorithm supports parallelism for disjoint
accesses so contention can decrease as the list size increases:
https://github.com/Kometes/Honeycomb/blob/master/Honeycomb/Src/Common/Inc/Thread/Concur/List.h
The memory manager, expands to meet demand and recycles its nodes:
https://github.com/Kometes/Honeycomb/blob/master/Honeycomb/Src/Common/Inc/Thread/Concur/Mem.h
Test code:
https://github.com/Kometes/Honeycomb/blob/master/Editor/Src/Win/Src/Misc/Test.cpp#L9
It's tested on x86 compiling with VS2010/11.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk