On Fri, Feb 21, 2014 at 11:42 PM, Oleg Zabluda <[email protected]> wrote:
> Dmitry, previously, you said that MPMC queue is an anti-pattern:
> https://groups.google.com/forum/#!msg/comp.programming.threads/AYgyIH-pVz4/DTrviZjEUq0J
>
> And yet it keeps coming up in this newsgroup (with comments by you) and is
> present on 1024cores. Why is that?


Hi,

Well, it's not completely black-white. There are legitimate use cases
for MPMC. One such case was discussed here recently, basically you
have a moderate contention case and MPMC queue allows you to
significantly simplify system structure. Another case is e.g. Go
channels, where semantics require you to provide an MPMC queue, but
you can do your best to make it fast and scalable.

However, all scalable fine-grained schedulers use SCMP deques/MPSC
queues sacrificing system complexity.

What I meant is that you should not start with dropping in an MPMC
queue into design, and then trying to solve scalability problem by
optimizing the queue implementation. And that is what people
frequently do expecting that "lock-free magic" will magically solve
all problems.

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Scalable Synchronization Algorithms" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/lock-free/CAEeQi3se-U2KsHbfQ--5_uT4B8CEiLyYCuL6PJ%3D3DSeWNR3zbA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to