Introduction to the Disruptor

58,429 views

Published on

Very basic overview of the Disruptor

8 Comments
90 Likes
Statistics
Notes
  • My life is back!!! After 1 years of Broken marriage, my husband left me with two kids . I felt like my life was about to end i almost committed suicide, i was emotionally down for a very long time. Thanks to a spell caster called Dr Mohammed, which i met online. On one faithful day, as I was browsing through the internet,I came across allot of testimonies about this particular spell caster. Some people testified that he brought their Ex lover back, some testified that he restores womb,cure cancer,and other sickness, some testified that he can cast a spell to stop divorce and so on. i also come across one particular testimony,it was about a woman called Sonia,she testified about how he brought back her Ex lover in less than 2 days, and at the end of her testimony she dropped Dr Mohammed's e-mail address. After reading all these,I decided to give it a try. I contacted him via email and explained my problem to him. In just 48hours, my husband came back to me. We solved our issues, and we are even happier than before Dr Mohammed, is really a gifted man and i will not stop publishing him because he is a wonderful man... If you have a problem and you are looking for a real and genuine spell caster to solve all your problems for you. Try High monicaspiritualtemple@gmail.com anytime, he might be the answer to your problems. Here's his contact: monicaspiritualtemple@gmail.com or call him +2348134493948
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi All, We provide Salesforce training in a traditional Classroom setting at our training center where students gain hands-on training from our Salesforce Instructor as well as interact with other students. Classroom settings provide you a high level of retention and allow collaboration to encourage peer insight and team building. For more information feel free to contact us : siva@keylabstraining.com. For Course Content and Recorded Demo Click Here : http://www.keylabstraining.com/salesforce-online-training-hyderabad-bangalore
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @undefined I'm not sure if there's a presentation that goes into more detail, it's nearly 2 years since I worked on this, but you could ask the Google Group: https://groups.google.com/forum/#!forum/lmax-disruptor
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • This is better than fixed linked list or bounded array blocking queue because you are not removing, adding nodes really and hence no GC.
    How does this compare to ConcurrentLinkedQueue which is unbounded and what happens when you go beyond the size of the fixed circular buffer array, wouldn't it block? Maybe, is there an another presentation that explains in more detail?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • @cognoschen It's not really specific to an industry - that's like asking 'what kind of app is best for a List' (or Map or Set). It's more about whether your architecture needs a non-blocking producer/consumer mechanism
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
58,429
On SlideShare
0
From Embeds
0
Number of Embeds
8,504
Actions
Shares
0
Downloads
6,680
Comments
8
Likes
90
Embeds 0
No embeds

No notes for slide

Introduction to the Disruptor

  1. 1. Concurrent Programming Using The Disruptor Trisha Gee, Developer at LMAX @trisha_gee mechanitis.blogspot.comTuesday, 9 October 12
  2. 2. The Disruptor?Tuesday, 9 October 12
  3. 3. What is it? • Data structure and work flow with no contention. • Very fast message passing. • Allows you to go truly parallel.Tuesday, 9 October 12
  4. 4. The Magic RingBufferTuesday, 9 October 12
  5. 5. The Magic RingBufferTuesday, 9 October 12
  6. 6. The Magic RingBufferTuesday, 9 October 12
  7. 7. The Magic RingBufferTuesday, 9 October 12
  8. 8. The Magic RingBufferTuesday, 9 October 12
  9. 9. The Magic RingBufferTuesday, 9 October 12
  10. 10. The Magic RingBufferTuesday, 9 October 12
  11. 11. The Events are BucketsTuesday, 9 October 12
  12. 12. I’ve got a RingBuffer! • Erm.... how do I poke things into it?Tuesday, 9 October 12
  13. 13. The PublisherTuesday, 9 October 12
  14. 14. Tuesday, 9 October 12
  15. 15. Tuesday, 9 October 12
  16. 16. Tuesday, 9 October 12
  17. 17. Tuesday, 9 October 12
  18. 18. Tuesday, 9 October 12
  19. 19. Tuesday, 9 October 12
  20. 20. ...so now I want to read • The Disruptor provides nice batching behaviour for freeTuesday, 9 October 12
  21. 21. BatchEventProcessorTuesday, 9 October 12
  22. 22. Tuesday, 9 October 12
  23. 23. Tuesday, 9 October 12
  24. 24. Tuesday, 9 October 12
  25. 25. Tuesday, 9 October 12
  26. 26. Tuesday, 9 October 12
  27. 27. Tuesday, 9 October 12
  28. 28. Tuesday, 9 October 12
  29. 29. Tuesday, 9 October 12
  30. 30. Tuesday, 9 October 12
  31. 31. Tuesday, 9 October 12
  32. 32. Tuesday, 9 October 12
  33. 33. Tuesday, 9 October 12
  34. 34. Tuesday, 9 October 12
  35. 35. Tuesday, 9 October 12
  36. 36. Shiny. So what?Tuesday, 9 October 12
  37. 37. Complex WorkflowsTuesday, 9 October 12
  38. 38. ...and in the Disruptor?Tuesday, 9 October 12
  39. 39. Let’s go parallelTuesday, 9 October 12
  40. 40. Caveats • Your ring buffer needs to be bigger than 12 • Event handlers are on separate threads • Mileage May Vary - always performance testTuesday, 9 October 12
  41. 41. You get... • A framework the encourages you to model your domain • The ability to run in parallel but single- threaded • Nice, simple Java • Reliable ordering • ...and it can be very fastTuesday, 9 October 12
  42. 42. Is that it? • Wait strategies • Batch publishing • Multiple publishers • The Wizard • You don’t even need a RingBuffer...Tuesday, 9 October 12
  43. 43. More Information • Github: github.com/LMAX-Exchange/disruptor • Google Group • BlogsTuesday, 9 October 12
  44. 44. Q&ATuesday, 9 October 12
  45. 45. WorkerPoolTuesday, 9 October 12
  46. 46. AggregateEventHandlerTuesday, 9 October 12
  47. 47. WaitStrategies • BlockingWaitStrategy • BusySpinWaitStrategy • SleepingWaitStrategy • YieldingWaitStrategyTuesday, 9 October 12
  48. 48. ClaimStrategies • SingleThreadedClaimStrategy • MultiThreadedClaimStrategy • MultiThreadedLowContentionClaimStrategyTuesday, 9 October 12

×