Skip to main content

All Questions

Filter by
Sorted by
Tagged with
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 ...
Deivid santos's user avatar
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. ...
Mixalis Navridis's user avatar
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 ...
vrtx54234's user avatar
  • 2,306
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 -> ...
vvra's user avatar
  • 2,902
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 ...
Vadim's user avatar
  • 713
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,...
degenaristotle's user avatar
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 ...
onkami's user avatar
  • 9,371
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 ...
newlogic's user avatar
  • 827
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 ...
pmf's user avatar
  • 7,749
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 ...
DaveFar's user avatar
  • 7,417
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 ...
Oleg Vazhnev's user avatar
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 ...
Uberto's user avatar
  • 2,712
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)?...
Evan P's user avatar
  • 1,807
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 ...
James's user avatar
  • 9,268
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 ...
johnzachary's user avatar
  • 2,495
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 ...
Shahbaz's user avatar
  • 10.6k