High Performance Computing Specialist at Real Logic
Martin is a Java Champion with over 2 decades of experience building complex and high-performance computing systems. He is most recently known for his work on Aeron and SBE. Previously at LMAX he was the co-founder and CTO when he created the Disruptor. Prior to LMAX Martin worked for Betfair, three different content companies wrestling with the world largest product catalogues, and was a lead on some of the most significant C++ and Java systems of the 1990s in the automotive and finance domains.
He blogs at mechanical-sympathy.blogspot.com, and can be found giving training courses on performance and concurrency when he is not cutting code to make systems better.
YOW! 2014 Melbourne
How Did We End Up Here?
KEYNOTE – VIEW SLIDES
Have you ever wondered how our software industry has got itself into the pickle it is currently in? Most projects end up being massively late, costing way more than expected, and delivering big balls of mud that no one truly understands and thus are a nightmare to maintain. In desperation we try out the new approaches we hear about from the analysts and press. Approaches which often have wacky names and sort of make sense, yet, when we try them we still seem to be no better at successfully delivering software than we were a few decades ago.
This talk will be a full scale rant, attacking the technology industry’s sacred cows by exposing the motivations that hide behind them. We’ll show how these motivations lead us into practices that hinder rather than help us deliver quality software, practices that often make our lives just plain miserable.
However, all is not doom and gloom. Some organisations, notably the new breed of online technology lead companies, seem to be achieving things that the traditional corporate IT departments can only dream of. What are they doing differently? We’ll finish by exploring this question and what we can all learn from it.
Aeron: The Next Generation in Open-Source High-Performance Messaging
TALK – VIEW SLIDES
Does TCP not consistently meet your required latency? Is UDP not reliable enough? Do you need to multicast? What about flow control, congestion control, and a means to avoid head-of-line-blocking that can be integrated with the application? Or perhaps you’re just fascinated by how to design for the cutting edge of performance? Maybe you have tried higher level messaging products and found they are way too complicated because of the feature bloat driven by product marketing cycles.
Aeron takes it back-to-basics with a pure focus on performance and reliability. We have built it from the ground up with mechanical sympathy in its DNA. The concurrent data structures are lock-free, wait-free, copy-free, and even persistent for our functional friends. Interaction with the media is layered so you can swap between UDP, Inifiniband, or Shared Memory as required.
This talk will focus on the design of Aeron and what we learned trying to achieve very consistent performance. We will explore the challenges of dealing with reliable message delivery over UDP and the data structures necessary to support transmission, loss detection, and retransmission in in a lock-free and wait-free manner.