Who is the first one invented lock-free MPMC circular buffer

514 views
Skip to first unread message

youchao xue

unread,
Jan 5, 2017, 11:16:38 PM1/5/17
to mechanica...@googlegroups.com
Lock-free ring queue datastructure attracted a lot of attention in the concurrency world because of the name LMAX Disruptor in 2011. You can still find the presentation back on Dec 2010 here.
Then I look at the DPDK code here and saw their lock-free ring queue is modified from BSD code back in 2008
The similar data structure for SPSC is used in linux kernel.

So who is the first one have the idea of using two pointers for producer and two pointers for consumer for this lock-free data structure?

My guess is it should be Macy kmacy , the guy from BSD, am I right? 

Nitsan Wakart

unread,
Jan 6, 2017, 6:00:23 AM1/6/17
to mechanica...@googlegroups.com
As far as my understanding goes:
Disruptor is not strictly speaking Multi Consumer, and is not a queue (allows multi consumers to have independent views + dependencies etc) and does not employ same algo. Algos are similar, and both draw from Lamport. Disruptor algo for multi producer has also changed over the years, so not clear which version you refer to. Disruptor docs suggest drawing inspiration from prior work, in particular in networking.


On Friday, January 6, 2017 6:25 AM, youchao xue <xueyo...@gmail.com> wrote:


Lock-free ring queue datastructure attracted a lot of attention in the concurrency world because of the name LMAX Disruptor in 2011. You can still find the presentation back on Dec 2010 here.
Then I look at the DPDK code here and saw their lock-free ring queue is modified from BSD code back in 2008
The same data structure is used in linux kernel.

So who is the first one have the idea of using two pointers for producer and two pointers for consumer for this lock-free data structure?

My guess is it should be Macy kmacy , the guy from BSD, am I right? 
--
You received this message because you are subscribed to the Google Groups "mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mechanical-symp...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Reply all
Reply to author
Forward
0 new messages