GOTO Berlin is a vendor independent international software development conference with more that 60 top speaker and 400 attendees. The conference cover topics such as Java, Open Source, Agile, Architecture, Design, Web, Cloud, New Languages and Processes.
Martin Thompson, TweetHigh-Performance Computing Specialist
Biography: Martin Thompson
Martin is a high-performance and low-latency specialist, with over two decades working with large scale transactional and big-data systems, in the automotive, gaming, financial, mobile, and content management domains. He believes in Mechanical Sympathy, which is applying an understanding of the hardware to the creation of software, being fundamental to delivering elegant high-performance solutions. Martin was the co-founder and CTO of LMAX, until he left to specialise in helping other people achieve great performance with their software. The Disruptor concurrent programming framework is just one example of what his mechanical sympathy has created.
Twitter: @mjpt777
Blog: Mechanical Sympathy
Video presentations: YOW! 2011: Martin Thompson - On Concurrent Programming and Concurrency Folklore
Presentation: TweetAeron: The Next Generation in Open-Source High-Performance Messaging
Does TCP not meet your required latency consistently? 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 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.
Aeron is open-source with implementations in Java and C++ that interoperate. There are no unnecessary features to bloat the implementation, yet the design is open so that it can be composed into higher level abstractions.
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 and retransmission in in a lock-free and wait-free manner.