Concurrent programming with locks is hard. Concurrent programming without using locks can be really hard. Concurrent programming with relaxed memory ordering and predictable latency semantics is said to be only for wizards. This focuses on a decade long quest to discover algorithms that provide very high throughput while keeping latency low and predictable.
We will cover some fundamental theory of concurrency and then compare various approaches to the same problem so that we can measure the impact on throughput and latency. We'll also show how some of these algorithm implementations get way more interesting given the new features in Java 8.
This talk is aimed at programmers interested in advanced concurrency who want to develop algorithms with very predictable response times at all levels of throughput which push our modern CPUs to the limit.
Martin has 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.