QCon is a practitioner-driven conference designed for technical team leads, architects, and project managers who influence software innovation in their teams.

Training: "Lock-Free and High-Performance Algorithms"

Track: Training / Time: Monday 09:00 - 16:00 / Location: Abbey Room

Understanding Mechanical Sympathy

  • Performance considerations on modern hardware
  • How modern x86-64 hardware informs concurrent and high performance programming techniques
  • Memory models for software and hardware
  • Why contention of any type is the enemy and how to avoid it
  • How we manage contention when we absolutely must
  • Concurrent and High-performance Algorithm Design
  • Lock-free concurrency primitives
  • Signalling state change
  • Ensuring order
  • Preventing speculative execution during critical data exchanges
  • Managing contended state
  • Wait-free techniques
  • API design to avoid the latency J-curve
  • Efficient back-off strategies
  • Discovering hidden contention and how to avoid it

Keywords: Java, Performance, Concurrency, Lock-Free
Target Audience: Advanced Java programmers with some concurrent programming experience
Computing Requirements: A laptop capable of running 4 concurrent threads and Java 1.6 or 1.7.

Martin Thompson, High-Performance Computing Specialist

Martin Thompson

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