If you’re a Java developer, you know that high performance in the cloud translates into great user experiences in your data center. And while hardware might not be the first performance variable that comes to mind for your cloud-native applications, it affects how your applications run—even in Java. This is why processor manufacturers have established long and productive collaborations with software developers to make sure their hardware performs flawlessly in your software stack.
In this article, we take a look at Java, software, and hardware in the cloud. We explore the Java Development Kit (JDK®) technology package and how instances with specific processors can work to your Java application’s advantage. We also present results from a study we conducted with Intel’s sponsorship, which demonstrate how your software and hardware choices can affect Java performance.
The Java Community Process℠ (JCP℠) Program
The Java Community Process℠ (JCP℠) program is an open community where members can collaborate on the development of Java standards and specifications. The JCP program is responsible for creating new versions of the JDK, such as JDK 11 long-term support (LTS).
Intel has participated in the JCP program for more than a decade and a half, contributing to the development of Java standards and specifications in parallel with processor design. Intel’s strategy has been to contribute to each of the JCP program’s JDK LTS releases, helping new releases perform well on Intel® architecture. For example, Intel was involved in enhancing performance in a CPU’s OpenJDK® Java garbage collector.
As a result, Java application performance gets a boost on Intel CPUs, which can simultaneously process multiple arithmetic operations using Intel® Advanced Vector Extensions 512 (Intel® AVX-512) instructions. Thanks to Intel’s focus on JDK, Java virtual machines (JVMs) perform significantly better on Intel architecture with every new processor generation, which helps boost cloud performance and improve resource utilization.
From these examples, you can see how the collective efforts of hardware manufacturers and Java developers drive the continued growth and development of Java. In the next section, we offer a couple of simple techniques for performance-tuning your Java applications.
Check Your JDK® Release
With the Java community being so actively involved in building JDK, it pays to regularly update your software platforms with the latest JDK LTS release. Running the most recent JDK LTS release delivers software updates and bug fixes that can help boost cloud instance performance, lower application response times, and enhance data and system security.
The following graphic provides some examples of the benefits you could gain from simply upgrading the Java software on your existing cloud-compute platform. Results from our benchmarking study in Amazon® Elastic Compute Cloud™ (Amazon EC2®) instances revealed that a JDK upgrade alone can significantly improve the performance of certain Java workloads running in cloud instances.
Check Your Underlying Hardware
In addition to participating in the Java software development community, Intel provides invaluable developer tools and easy-to-access toolkits based on oneAPI, an open standards–based programming model. These tools and toolkits allow your developers to turn on the accelerators, instructions, and extensions in the processors running under your applications.2
Grab as much performance as you can by selecting hardware that accelerates your Java workloads. It can be tempting to downplay the role hardware plays in cloud-native application performance. However, your JVM and cloud workloads are ultimately running on top of hardware. Ignoring the processors can lead you to unnecessarily leave workload performance on the table. Poor workload performance can add compute time in the cloud, and compute time is money.
It’s worthwhile to note that our application-level workloads study showed that cloud instances with Intel® Xeon® Scalable processors outperformed instances with AMD EPYC™ processors and AWS Graviton® processors. While we suggest that these results are useful for making cloud management and resourcing decisions, we caution against drawing connections between these performance results and specific JDK optimizations or other factors.
Read more about improving Java performance in the cloud:
- “Java-Based Benchmarking Shines a Light on How Underlying Architecture Impacts Cloud Performance”
- “Myth: Hardware doesn’t matter, especially for Java.”
Read about other best practices for improving hardware or software performance:
- “Accelerate and Secure Big Data, Database, and VDI Workloads in Healthcare”
- “Lower Your TCO by Selecting the Right Platform for Your Oracle® Workloads”
1 Prowess Consulting. “Java-Based Benchmarking Shines a Light on How Underlying Architecture Impacts Cloud Performance.” Commissioned by Intel. 2023. www.prowessconsulting.com/project/java-based-benchmarking-shines-light-on-how-underlying-architecture-impacts-cloud-performance/.
2 Approximately 90 percent of developers are using software developed or optimized by Intel, according to a 2021 Global Development Survey conducted by Evans Data Corp. Source: Intel. “Intel Accelerates Developer Innovation with Open, Software-First Approach.” September 2022. www.intel.com/content/www/us/en/newsroom/news/2022-intel-innovation-developer-news.html.