|
Hi Eclipse Temurin Team,
I'd like to share a recent study I've conducted using Eclipse Temurin 25 on Nanos Unikernel, running on Oracle Cloud Infrastructure Ampere ARM64.
The results have just been published on Foojay (Friends of OpenJDK):
JVM on Unikernel Nanos — GC Trade-offs and Heap Uncommit
The goal of this work was to investigate how a modern JVM behaves in a unikernel environment, particularly regarding garbage collection performance and heap memory management.
Using the Renaissance benchmark suite, I evaluated five garbage collectors: G1, Parallel, Serial, ZGC, and Shenandoah.
Some key findings:
-
All five garbage collectors successfully executed the benchmark workloads on Nanos.
-
Parallel GC achieved 20.7% lower execution time and 38.2% lower heap usage compared to G1 in the tested workload.
-
ZGC demonstrated very low GC pause times.
-
Heap uncommit behavior was observed with G1, ZGC, and Shenandoah.
-
All experiments used an unmodified Eclipse Temurin 25 JVM.
The most interesting result, in my opinion, is that Nanos can execute a standard, full-featured HotSpot JVM while supporting advanced garbage collection and memory management mechanisms.
This suggests interesting possibilities for running Java workloads in alternative cloud execution environments, potentially reducing infrastructure overhead while preserving JVM capabilities.
I believe these findings could be relevant to the Eclipse Adoptium community, particularly for those interested in JVM portability, ARM64, garbage collection, and cloud-native Java.
I'd be very interested in hearing your thoughts and feedback on the results.
If the community finds this work valuable, I'd also be grateful if the article could be shared through the Eclipse Adoptium channels to reach other Java developers.
Thank you for your continued work on Eclipse Temurin!
Best regards,
Angelo Rubini
|