On Saturday, 8 December 2012 at 19:54:29 UTC, Dmitry Olshansky wrote:
12/8/2012 9:08 PM, Nick Sabalausky пишет:
On Fri, 07 Dec 2012 19:55:50 +0400
Dmitry Olshansky <dmitry.o...@gmail.com> wrote:

12/7/2012 1:43 PM, deadalnix пишет:
On Friday, 7 December 2012 at 09:03:58 UTC, Dejan Lekic wrote:
On Friday, 7 December 2012 at 09:00:48 UTC, Nick B wrote:

[Andrei's comment ] Cross-pollination is a good thing indeed.

I came across this while searching the programme of the conference
that Walter is attending in Australia.


This gentleman, Martin Thompson

http://www.yowconference.com.au/general/details.html?speakerId=2962


The main idea, is in this paper (11 pages, pdf):

http://disruptor.googlecode.com/files/Disruptor-1.0.pdf


and here is a review of the architecure by Martin Fowler:

http://martinfowler.com/articles/lmax.html


Fascinating.


So the last problem is I don't see how it cleanly scales with the number of messages: there is only one instance of a specific consumer type on each stage. How do these get scaled if one core working on
each is not enough?


As Fowler's articles mentions at one point, you can have multiple consumers of the same type working concurrently on the same ring by just simply having each of them skip every N-1 items (for N consumers of the same type. Ie, if you have two consumers of the same type, one
operates on the even #'d items, the other on the odd.

I thought about that even-odd style but it muddies waters a bit.
Now producers or however comes next the "circle" have to track all of the split-counters (since they could outpace each other at different times). The other way is to have them contend on a single counter with CAS but again not as nice.

The other moment is that system becomes that more dependent on a single component failure and they get around this be running multiple copies of the whole system in sync. A wise move to ensure stability of a complex system (and keeping in mind the stack exchange reliability requirements).

Would Andrei like to comment on any of the comments so far  ??

Reply via email to