Exploring the Power of CRaC on Embedded
summary
CRaC captures a fully warmed JVM snapshot and restarts multiple instances from it, cutting warmup from minutes to near-instant. Implementation requires adding beforeCheckpoint/afterRestore hooks to close and reopen sockets/databases, and a Linux kernel with CRIU kernel support (Raspberry Pi needed a kernel config change). On Raspberry Pi tests a checkpoint takes ~9 seconds to create and restarts from the checkpoint in under a second, and the saved image can be copied to other devices.
AI-written summary · about
chapters (8)
- 0:00Introduction and speaker background
- 7:08OpenJDK and Java distributions
- 18:29Java warmup and performance
- 24:51What is CRaC and why it matters
- 30:15CRaC demo on Raspberry Pi
- 39:15CRaC in OpenJDK and future
- 43:31Friends of OpenJDK and resources
- 45:55Q&A and closing
related talks
45mOptimizing Java Startup and Warmup: Exploring the Power of CRaC on Embedded
53mWhat the CRaC Superfast JVM startup
51mJava on CRaC Superfast JVM Application Startup
53mJava on CRaC: Superfast JVM Application Startup
48mDecoding Java snapshots with CRaC
46mCRAC vs GraalVM
47mFast JVM Startup with Checkpoint & Restore
52mDuke on CRaC with Jakarta EE
