Java on ARM. Theory, Applications, and Workloads
summary
Shows that OpenJDK on ARM is production-ready: AArch64 intrinsics are added to hotspot and Java 11+ builds run on servers and Pi-class devices, with minimal VM ~20MB for small images. Microbenchmarks (JMH) report a 3.5x speedup on a multiply intrinsic and up to 5x for optimized compact-string code paths using aligned loads, prefetching and stubs. Larger benchmarks show comparable latency and throughput to x86 while lowering cost by about 2x; try on Graviton instances on AWS or bare-metal providers.
AI-written summary · about
chapters (33)
- 0:00Start
- 0:30Who we are
- 0:57Committed to freedom
- 1:35What do we know about Arm?
- 2:52IoT Gateways
- 3:54Arm: architecture, profile, implementation
- 5:03Arm: big.LITTLE
- 6:23OpenJDK Arm32 port
- 8:25Minimal VM
- 11:23Neoverse Infrastructure IP Roadmap
- 12:41Ampere Computing (ex APM)
- 13:40Cavium/Marvell ThunderX2
- 15:05Arm Software ecosystem
- 16:17Cross-build Docker images
- 17:05OpenJDK ARM ports
- 19:33What will C2 do with math Java code?
- 20:16Math code in assembly
- 20:36Can we make it faster?
- 21:36C2 Intrinsic How-to
- 22:21Benchmarking (throughput)
- 25:43StringCoding.hasNegatives()
- 26:09Some ARM assembly - memory reads
- 27:51Aligned memory access
- 28:40How to align memory access
- 29:30Code is too big - what do we do?
- 29:52What is a stub?
- 30:19What should we place in stub?
- 30:40Software Prefetching
- 33:17Performance improvement
- 33:54JVM Benchmark #1 results
- 35:16JVM Benchmark #2 results
- 35:44Where to try ARM servers?
- 36:20Conclusions
related talks
42mJava on ARM. Theory, Applications and Workloads
51mAccelerating performance of Java applications on Arm64
01h 07mIs It Worth Running Java on ARM? Trust Me, It's an Interesting Question
52mUbuntu on ARM
30mApache projects, let's embrace ARM!
33mCloud Native Java with OpenJ9: Fast, lean and definitely mean
36mWhy and How to Choose Arm64 for your Cloud Applications
21mState of ARM-based HPC
