libcds
libcds copied to clipboard
Implemented MichaelDeque
Deque described in "[2003] Michael CAS-Based Lock-Free Algorithm for Shared Deques". Implemented intrusive container with HP or DHP garbage collector. For work this algorithm requires 64bit/128bit DCAS on x86/x64 platform. Tested with "intrusive_queue_push_pop" on 8 threads Ubuntu x64 and queue size 200.000.000 (it takes 450 seconds and 8 Gb of memory). Also tested with AddressSanitizer. Tests ran separately for left-to-right queue and right-to-left queue.