Systems & Networks Group (SysNet)

JITServer: Disaggregated Caching JIT Compiler

Description

Java virtual machines (JVMs) rely on just-in-time (JIT) compilers to improve application performance by converting bytecodes into optimized machine code at runtime. Unfortunately, JIT compilation can introduce significant runtime overheads in terms of processing power and memory. The extra CPU cycles needed for compilation can interfere with applications’ progress, delaying their start-up, increasing their warm-up time or affecting the response time and quality of service (QoS). JIT compiler disaggregation is a technique that decouples the JIT from the JVM and ships compilation to a separate remote process. JIT disaggregation reduces overall memory usage; however, its communication overheads result in higher system-wide CPU usage. JITServer is a disaggregated caching JIT compiler we implemented in the Eclipse OpenJ9 JVM. It improves system-wide resource utilization by enabling the caching of compiled native code and its reuse in JVMs running on different machines.

Team

Press

Alexey Khrabrov wins the 2022 Student of the Year award! (IBM CAS)
Alexey Khrabrov wins the 2022 Student of the Year award! (IBM CAS)

Sponsors

image image

Publications

JITServer: Disaggregated Caching JIT Compiler for the JVM in the Cloud (Extended Abstract)
Alexey Khrabrov, Marius Pirvu, Vijay Sundaresan, Eyal de Lara
USENIX ATC'22  ·  11 Jul 2022  ·  [no id info]