Initialize Once, Start Fast: Application Initialization at Build Time
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.
Fri 25 OctDisplayed time zone: Beirut change
14:00 - 15:30
|Design, Implementation, and Application of GPU-Based Java Bytecode Interpreters|
Ahmet Celik The University of Texas at Austin, Pengyu Nie The University of Texas at Austin, Chris Rossbach The University of Texas at Austin and VMware Research Group, Milos Gligoric The University of Texas at AustinDOI
|Initialize Once, Start Fast: Application Initialization at Build Time|
Christian Wimmer Oracle Labs, Codrut Stancu Oracle Labs, Peter Hofer Oracle Labs, Vojin Jovanovic Oracle Labs, Paul Wögerer Oracle Labs, Peter B. Kessler Oracle Labs, Oleg Pliss Oracle Labs, Thomas Wuerthinger Oracle LabsDOI Pre-print
|Reliable and Fast DWARF-Based Stack Unwinding|
OOPSLALink to publication DOI File Attached
|PYE: A Framework for Precise-Yet-Efficient Just-In-Time Analyses for Java ProgramsTOPLAS|