All Questions
Tagged with disruptor-pattern concurrency
16 questions
0
votes
1
answer
584
views
LMAX disruptor busy spin vs ConcurrentLinkedQueue
When studying the LMAX disruptor I noticed that it uses the ring buffer model using the busy spin model with the CAS (compare-and-swap) to avoid locks like those that exist in a blocking queue, but ...
0
votes
1
answer
74
views
How to convert ReentrantReadWriteLock logic to LMAX Disruptor with barriers
I have a shared collection an ArrayList and also i use a ReentrantReadWriteLock lock to secure the entering on a critical area from different threads. My threads are three a writer,read,delete thread. ...
1
vote
1
answer
971
views
How is LMAX Disruptor garbage collector friendly
I am trying to understand how lmax disruptor is GC friendly. I see that the event objects on the ring are re-used, however, the "data" that is "set" on these objects are on the ...
1
vote
0
answers
296
views
LMAX Disruptor - sequential & parallel database/service calls on event handling
I a have a workflow (different tasks) that process data from Kafka/Redis streams. Some tasks are sequential & some parallel - on the high leve tasks fall into, verification -> computation -> ...
1
vote
2
answers
750
views
Pollable disruptor
I did quite a bit of research, but I can not find the solution yet. I would like to find a pollable ring buffer, similar to the LMAX disruptor one. I have many publishers and one reader.
The problem ...
0
votes
0
answers
315
views
Is the lmax disruptor a good architecture choice where there are several consumers all of which perform the same task and rely on some local cache?
My use case is this -
Several events are produced and dispatched onto a threadpool.
Each event is processed separately and the output of the processing isn't needed for some reconciliation later. (So,...
3
votes
2
answers
1k
views
Lmax Disruptor, many consumers - how make consumer take only messages of particular kind and proceed independently?
I plan to have many parallel consumers in my disruptor.
I need each consumer only consume messages that are meant for them.
For instance, I have messages of types A, B, C and I have buffer like
...
0
votes
1
answer
327
views
Could this queue implementation enable lower latency messaging, when compared to the LMAX disruptor?
I've developed a queue which allows a single consumer and producer to offer/poll elements from the queue concurrently without synchronization or CAS operations on every offer/poll. Instead there only ...
8
votes
1
answer
2k
views
Migrating from LinkedBlockingQueue to LMAX' Disruptor
Is there some example code for migrating from the standard LinkedBlockingQueue to LMAX' Disruptor architecture? I have an event handling application (single producer, multiple consumers) that might ...
11
votes
1
answer
3k
views
When to use the disruptor pattern and when local storage with work stealing?
Is the following correct?
The disruptor pattern has better parallel performance and scalability if each entry has to be processed in multiple ways (io operations or annotations), since that can be ...
7
votes
2
answers
4k
views
Disruptor example with 1 publisher and 4 parallel consumers
In this example https://stackoverflow.com/a/9980346/93647 and here Why is my disruptor example so slow? (at the end of the question) there is 1 publisher which publish items and 1 consumer.
But in my ...
7
votes
2
answers
3k
views
Should one use Disruptor (LMAX) with a big model in memory and CQRS?
Our system has structured model (about 30 different entities with several kind of relations) entirely kept in memory (about 10 Gb) for performance reasons.
On this model we have to do 3 kind of ...
7
votes
1
answer
2k
views
Disruptor: journaling Example
I was curious regarding the most common (or recommended) implementations of disruptor about the journaling step. And the most common questions of mine are:
how it is actually implemented (by example)?...
3
votes
2
answers
629
views
Windows C++ equivalent of Java's LockSupport.parkNanos()
I need to implement the same functionality as this function on Win7 x64.
I initially used SwitchToThread() but this doesn't work as it causes a deadlock under extreme conditions. The only alternative ...
3
votes
3
answers
5k
views
What are high performance alternatives to LMAX disruptor queues?
I'm working on a performance test of an internal C implementation of Disruptor Queues, and I would love to benchmark other similar approaches to non-thread event stream processing. There is little on ...
218
votes
5
answers
82k
views
How does LMAX's disruptor pattern work?
I am trying to understand the disruptor pattern. I have watched the InfoQ video and tried to read their paper. I understand there is a ring buffer involved, that it is initialized as an extremely ...