Affiliation:
1. Oracle Labs, USA
2. Oracle Labs, Austria
3. Oracle Labs, Switzerland
Abstract
Arbitrary program extension at run time in language-based VMs, e.g., Java's dynamic class loading, comes at a startup cost: high memory footprint and slow warmup. Cloud computing amplifies the startup overhead. Microservices and serverless cloud functions lead to small, self-contained applications that are started often. Slow startup and high memory footprint directly affect the cloud hosting costs, and slow startup can also break service-level agreements. Many applications are limited to a prescribed set of pre-tested classes, i.e., use a closed-world assumption at deployment time. For such Java applications, GraalVM Native Image offers fast startup and stable performance.
GraalVM Native Image uses a novel iterative application of points-to analysis and heap snapshotting, followed by ahead-of-time compilation with an optimizing compiler. Initialization code can run at build time, i.e., executables can be tailored to a particular application configuration. Execution at run time starts with a pre-populated heap, leveraging copy-on-write memory sharing. We show that this approach improves the startup performance by up to two orders of magnitude compared to the Java HotSpot VM, while preserving peak performance. This allows Java applications to have a better startup performance than Go applications and the V8 JavaScript VM.
Publisher
Association for Computing Machinery (ACM)
Subject
Safety, Risk, Reliability and Quality,Software
Reference76 articles.
1. Sifting out the gold
2. Implementing jalapeño in Java
3. The Jikes Research Virtual Machine project: Building an open-source research community
4. Amazon Web Services Inc. 2019. AWS Lambda. https://aws.amazon.com/lambda/ Amazon Web Services Inc. 2019. AWS Lambda. https://aws.amazon.com/lambda/
Cited by
41 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Finding Cuts in Static Analysis Graphs to Debloat Software;Proceedings of the 33rd ACM SIGSOFT International Symposium on Software Testing and Analysis;2024-09-11
2. Towards Efficient End-to-End Encryption for Container Checkpointing Systems;Proceedings of the 15th ACM SIGOPS Asia-Pacific Workshop on Systems;2024-09-04
3. GraalSP: Polyglot, efficient, and robust machine learning-based static profiler;Journal of Systems and Software;2024-07
4. Scaling Type-Based Points-to Analysis with Saturation;Proceedings of the ACM on Programming Languages;2024-06-20
5. GrOUT: Transparent Scale-Out to Overcome UVM's Oversubscription Slowdowns;2024 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW);2024-05-27