Join Our Prime Time Virtual Event
Unlock the Power of a High-Performance Java Platform
99 Days
:
08 Hours
:
56 Minutes
:
05 Seconds
Support
Blog chevron_right Cloud Cost

Give Your Java Applications a Performance Boost with AWS Graviton 

Give Your Java Applications a Performance Boost with AWS Graviton 

AWS introduced the Graviton family of 64-bit ARM-based CPUs in 2018, and each generation is faster than its predecessor. Zing, the high-performance Java distribution behind Azul Platform Prime, performs more than 30% better on Graviton 4 than vanilla OpenJDK across a wide range of performance tests. In this blog post, Azul Senior Technical Writer and Java Champion Frank Delporte takes a closer look at the performance boost Zing delivers on Graviton.

What is Graviton? 

The first version of AWS Graviton was released in 2018, but it has already evolved into a fourth generation, which is up to 45% faster for large Java applications than Graviton 3.

What Is Graviton?
AWS Graviton is a family of 64-bit ARM-based CPUs, known for its lower energy consumption, and was designed for use in data centers.

Zing’s continuous improvements on Graviton 

Azul distributes two Java Virtual Machine (JVM) runtimes. The first one, Zulu, is an OpenJDK distribution with the same code as Oracle Java SE. Zulu is available for free or with additional support and security services in the Azul Platform Core product. The second one, Zing, is a high-performance Java platform. 

Continuous improvements of Zing on Graviton 

Since June 2022, Zing is available for Graviton systems with CentOS, CentOS Stream, Oracle Linux, Ubuntu, and Amazon Linux. Since then, the Azul team has continuously focused on improving Zing’s performance for Graviton in each release. For instance, between builds 4079 and 4805 (in three months), Zing’s performance improved 3.45% on Graviton 4 [figure 1]. Without any code change, just by keeping your runtime up-to-date, you can increase your system’s load and lower your total cost.

What Are Azul Zing Builds of OpenJDK?
The Zing Java distribution is based on OpenJDK, but it includes the Falcon compiler and C4 Garbage Collector. Azul’s Zing-based product, Azul Platform Prime, performs 20-50% faster than vanilla OpenJDK, without any code changes!

Zing versus OpenJDK on Graviton 

Our measurements have shown a tremendous difference between Zing and Zulu. For instance, with version 21, Zing performs 31.7% better on Graviton 4 [figure 2] across a wide range of performance tests. 

Zing on Graviton versus x86 

Tests executed on c7i.2xlarge (x86) versus r8g.xlarge (Graviton 4) measured a +9% performance improvement, and a 33% lower cost for the Graviton instance (from $3,000 to $2,000 per year) [figure 3].

Figure 3: Zing tests measured a +9% performance improvement.

What to expect when combining Zing and Graviton 

For organizations running Java workloads, combining Zing and Graviton-based Amazon EC2 instances leads to a robust and cost-effective solution. It allows you to get the maximum performance out of your existing Java applications while reducing total compute costs or achieving a higher throughput within the same budget. 

Switching to Graviton 

When using AWS EC2, a wide range of instances is available, allowing you to switch from similar Intel-based instances easily.

Graviton 4 EC2 Instances 

Instance Size vCPUs Memory Network Bandwidth EBS Bandwidth
r8g.medium  8 GiB  up to 12.5 Gbps  up to 10 Gbps 
r8g.large  16 GiB  up to 12.5 Gbps  up to 10 Gbps 
r8g.xlarge  32 GiB  up to 12.5 Gbps  up to 10 Gbps 
r8g.2xlarge  64 GiB  up to 15 Gbps  up to 10 Gbps 
r8g.4xlarge  16  128 GiB  up to 15 Gbps  up to 10 Gbps 
r8g.8xlarge  32  256 GiB  15 Gbps  10 Gbps 
r8g.12xlarge  48  384 GiB  22.5 Gbps  15 Gbps 
r8g.16xlarge  64  512 GiB  30 Gbps  20 Gbps 
r8g.24xlarge  96  768 GiB  40 Gbps  30 Gbps 
r8g.48xlarge  192  1,536 GiB  50 Gbps  40 Gbps 
r8g.metal-24xl  96  768 GiB  40 Gbps  30 Gbps 
r8g.metal-48xl  192  1,536 GiB  50 Gbps  40 Gbps 

Switching to Zing  

Zing is a modern, TCK-compliant Java platform based on OpenJDK. You don’t need to recompile your code to run your Java workloads with Zing. Runtimes are available for Graviton for CentOS, CentOS Stream, Oracle Linux, Amazon Linux, and Ubuntu. Zing’s Stream builds are free for development and evaluation from the Azul download page. Stable builds containing the most recent security fixes and general improvements are only available to customers. 

Switching from any OpenJDK distribution to Zing is just a matter of replacing the runtime or configuring your system to point the java command to the location where you installed Zing, for instance, as explained for Debian-based systems. Zing can also be used in containers, for example, to pull the Ubuntu image with JDK 21, run: 

docker pull azul/prime:21 

Java applications on Zing 

It’s essential to remember that you may be using many other applications, besides those developed by your team, that also run on Java, like Kafka and other third-party tools.

Benchmark results 

Azul has an extended test bench to validate the speed improvements implemented in Zing. These benchmarks confirm significant performance gains with Zing compared to traditional Java runtimes running on Graviton instances. 

Zing 17 vs OpenJDK 17 Zing 21 vs OpenJDK 21
Graviton 3  39% faster  42.8% faster 
Graviton 4  33.6% faster  38.4% faster 

These results are an aggregation of industry standard benchmarks such as Renaissance, Dacapo, SPECjbb, and OpenJDK JMH suite, as well as custom-built benchmarks focused on commonly used coding patterns, e.g., serialization. 

To ensure we get a representative picture of real-world applications, we use a set of benchmark suites that mixes latency and throughput-focused tests. 

Conclusion  

Whether modernizing legacy Java applications or optimizing cloud-native services, Azul Platform Prime and AWS Graviton 4 offer the new standard in Java workload efficiency. With unmatched performance, lower infrastructure costs, and a smooth migration path, this joint solution enables enterprises to do more with Java on AWS.

prime-cta-banner

Faster Java

Learn more about Azul Platform Prime.

Resources