Under the Hood of Java Synchronization
summary
Explains how OpenJ9’s adaptive spinning and lock reservation actually work, shows using the Java Lock Monitor agent to profile locks, and reports retuning the Spark “torrent broadcast” lock via JVM command-line knobs to cut runtimes by 3–21%. Describes the decision models (heuristics based on hold time and JIT analysis), the cost of wrong decisions, and moving from manual trial-and-error to automated Bayesian optimization using the open-source “experiment” tool to search parameter space.
AI-written summary · about
chapters (10)
- 0:00Introduction to JVM and locking
- 1:57Basics of Java locking
- 7:15Benefits and drawbacks of locks
- 9:20JVM locking architecture in OpenJ9
- 11:48Adaptive spinning feature
- 16:26Lock reservation feature
- 24:19Manual tuning challenges
- 25:44Bayesian optimization approach
- 27:51Recap and future automation
- 58:41Q&A session
related talks
41mEverything You Don’t Want to Know About Concurrency on the JVM
56mJava Performance Analysis
50mA Java Implementer's Guide to Better Apache Spark Performance
01h 28mThe dark art of performance tuning or how to become a performance hero ...
50mThe Hidden Art of Thread-Safe Programming: Exploring java.util.con...
04h 29mJava ON 2024 Day 3
56mThe Dark Arts of Performance Tuning
06mSimple Tweaks to Get the Most Out of your JVM
