Loading Course Schedule...
PT9913
Summary
This is a truly inspiring and challenging course for Java and C++ programmers interested in building low-latency, high-throughput systems.Taking a unique hardware-up approach, you will be taught how to build code that reaches world-class performance levels.
Prerequisites
There are no prerequisites for this course.
Duration
3 Days/Lecture & Labs
Topics
- 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
- How the JVM provides support for concurrent programs
- Profiling and performance testing
- Concurrent and High-performance Algorithm Design
- Lock-free concurrency primitives
- Signaling state change
- Ensuring order
- Concurrent data structures - Queues, Dynamic Lists, Executors, Shared memory IPC, Locks
- 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