Training: Tweet"Lock-Free and High-Performance Algorithms"
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.