1.Comparison Test

1.1.Test Environment

Notebook(3.1 GHz Intel Core i5, 4Gb RAM and 50Gb SSD.)
Operating System Kernel(3.10.0-1160.102.1.el7.x86_64)
Operating System(CentOS:7.9 VM)
Platform: x86_64
VM Parameters:No other parameters are used except the parameters for storing and loading mirror logs.

2.Testing Scenarios

2.1.Scenarios 1:Time Of First Operation



2.1.1.Question 1:Why does Azul Prime ReadyNow experience a decrease in acceleration compared to CRaC when it is launched for the second time?

2.2.Scenarios 2:Time To Complete 100000 Operations




2.2.1.Question 2:Why is Azul Prime ReadyNow better than CRaC in terms of latency reduction for 100,000 requests?

3.Supplementary Material

3.1.CRaC is a Azul-led contribution to the OpenJDK community.


In common sense, Azul Prime ReadyNow as a commercial paid version of Azul should be better than the open source CRaC.

3.1.1.Question 3:Is the Azul Prime ReadyNow installation package correct?

3.1.2.Question 4:Are the use cases used for verification correct?

4.Problem Analysis

4.1.Question 1:Why does Azul Prime ReadyNow experience a decrease in acceleration compared to CRaC when it is launched for the second time?

4.1.1.Guess: caused by serial/parallel file processing

4.1.1.1.File structure used for recovery by CRaC - multi-file composition


4.1.1.1.1.Screenshot of first startup - startup completed in 2.762 seconds


4.1.1.1.2.Second startup screenshot - process level recovery (process ID is the same)



4.1.1.2.File structure used for recovery by ReadyNow - single file composition


4.1.1.2.1.Screenshot of first startup - startup completed in 4.678 seconds


4.1.1.2.2.Second startup screenshot-RootAC (16.2% speed increase), APP (64.9% speed increase)


4.1.1.3.Summarize

1.From the perspective of file loading efficiency alone, parallel file loading should be more efficient than serial file processing.

2.When learning from ReadyNow’s solution, the files used for recovery can be divided into multiple files for processing. Verify whether the second startup time can be further optimized? [a. Next steps to consider]

4.2.Question 2:Why is Azul Prime ReadyNow better than CRaC in terms of latency reduction for 100,000 requests?

4.2.1.ReadyNow has JVM optimization-Falcon JIT Compiler, while CRaC does not optimize JVM per se

4.2.1.1.CRaC-Hotspot VM


CRaC itself does not optimize the JVM.

4.2.1.2.ReadyNow-Zing VM


ReadyNow replaces C2 with Azul’s self-developed Falcon JIT Compiler.


4.2.2.Summarize

1.What profiles can be directly compiled by Zing VM’s Falcon JIT Compiler? [b. Next steps to consider]

2.You can consider using Graal to replace C2 in Hotspot VM. Will the verification request latency be further reduced? [c. Next steps to consider]

4.3.Question 3:Is the Azul Prime ReadyNow installation package correct?

4.3.1.Current download address

Azul Prime

4.4.Question 4:Are the use cases used for verification correct?

4.4.1.Currently used test cases-microservice framework

spring-boot-3.2.0

micronaut-3.8.7

quarkus-2.16.5.Final