Accelerating Performance for Server-Side Java* Applications 2
Total Page:16
File Type:pdf, Size:1020Kb
White paper Intel® Xeon Processor-based servers Intel® Xeon Phi™ Processor-based servers Server-side Oracle Java* applications A ccelerating performance for server-side Java* applications Intel® contributes significantly to both software and hardware optimizations for Java*. These optimizations can deliver performance advantages for Java applications that run using the optimized Java Virtual Machine (JVM), and which are powered by Intel® Xeon® processors and Intel® Xeon Phi™ processors. Developers do not need to recompile to get the benefit of these optimizations. The capabilities are already integrated into the latest Intel® processors and the latest Java Development Kit (JDK) release. EXECUTIVE SUMMARY Most people think that Intel develops and optimizes only hardware. In reality, Intel also invests heavily in software development to optimize software stacks for the latest, advanced servers. This effort is both in-house and in collaboration with runtime software communities and other application communities. Intel’s collaborations help developers benefit from powerful new capabilities designed into Intel® processor-based platforms. It also makes it easier for you to take advantage of both hardware and software optimizations, and maximize the performance of your applications. These software contributions help reduce the burden typically required to shift legacy applications to more powerful, advanced platforms. Since 2006, these team efforts have delivered a performance improvement of more than 110x for Java* applications that run on servers powered by Intel® Xeon® processors.1,2 This paper describes: Key architectural advancements that benefit Java applications which run on the latest Intel Xeon processors and Intel® Xeon Phi™ processors. Some of Intel’s software contributions in team efforts with Oracle* and the OpenJDK* community. The collaboration work includes enabling platform capabilities, improving performance, optimizing microarchitecture for Java applications, improved libraries, and tuning Java virtual machines (JVMs) for specific Java JVM frameworks and applications, such as Apache Hadoop* and Apache Spark*. How both hardware and software optimizations can benefit your Java applications. Techniques and strategies you can use to take advantage of these features. It is important to note that you do not have to recompile your Java application to see these new benefits. By running your applications on the latest Intel processor-based platform with the latest Java release, your application can automatically gain the maximum benefit from both hardware and software optimizations. Accelerating performance for server-side Java* applications 2 INTEL® AND ORACLE*: open source OpenJDK community BUILDING A BETTER JAVA* and Oracle JVM engineers. This effort FOUNDATION is focused on identifying and providing Intel®, Oracle*, and the Java* specific optimizations that take community collaborate to Oracle Java* is one of the most deployed advantage of the latest Intel® optimize the Java software stack software platforms today. According to Architecture (IA) enhancements. Oracle, it is now used in over three billion Because of Intel’s ongoing collaboration To maximize Java performance, devices. Today, Java powers a massive with the Java community, organizations software engineers from both Intel® array of usages from cloud, Big Data, can realize significant performance gains and the Java* community work enterprise, and financial services using the latest Java release running on closely to optimize Java. applications, to games and personal servers powered by the latest Intel productivity software. As Intel releases new platform processors. features, Intel and Oracle* When Java first began to impact the collaborate to identify specific areas market, Intel immediately began New Intel® processors deliver where the JVM can take advantage collaborating with key Java virtual advanced capabilities for Java of Intel’s cutting-edge architecture. machine (JVM) industry vendors on optimizations. The intention was to Most developers know that, with each Intel and the Java community then optimize JVM performance on Intel new generation of processors, Intel work together to identify and processor-based servers, so that Java delivers powerful new technologies for implement optimizations for these applications would see maximum new, advanced platforms. What you might platform capabilities. performance. Since 2006, these team not yet know is that Intel has been This helps the JVM deliver the efforts have delivered a performance designing optimizations for Java highest performance possible improvement of more than 110x for Java applications directly into the silicon. across a broad range of applications that run on servers powered by Intel® Xeon® processors.1,2 As with Intel’s work in enhancing the applications, including enterprise, JVM, these hardware optimizations are Web, cloud, and Big Data Over the course of 20 years, this history developed in collaboration with Oracle applications. of software collaboration includes: and the OpenJDK community. The work supports and enables new capabilities BEA JRockit* JVM. Intel began work that include: better memory and I/O with BEA in 2002, and continued this performance, larger on-die cache, non- collaboration after Oracle acquired inclusive cache, non-uniform memory BEA in 2008. access, cluster nodes, and many other Sun Microsystems Hotspot* JVM. high performance capabilities. Intel began work with Sun For server-side Java developers, two new Microsystems in 2007, and continued Intel® processor families are particularly this team effort after Oracle acquired important: Sun in 2009. Intel® Xeon® Scalable processor Oracle. Intel signed an Oracle family Contributor Agreement in 2014, and began contributing to OpenJDK* in Intel® Xeon Phi™ processor family 2015. Intel® Xeon® Scalable processor Oracle Hotspot* and Oracle JRockit*. Intel has continued a close The new Intel Xeon Scalable processor collaboration with Oracle on the provides the foundation for a powerful combined Hotspot and JRockit teams. data center platform. This feature-rich processor family is highly versatile, and OpenJDK and JVM. Since 2015, Intel creates an evolutionary leap in both agility software engineers have worked not and scalability for data centers. It is a new just with Oracle, but directly with the level of performance for platform convergence and capabilities across Accelerating performance for server-side Java* applications 3 compute, storage, memory, network, and Java release. For example, Intel, Oracle, security applications. Enterprises and and the Java community collaborated to cloud and communications service develop many new JDK 9 enhancements. providers can now drive forward with their These include: extended just-in-time (JIT) “Intel® and Oracle® have most ambitious digital initiatives and see auto-vectorization, optimized the performance needed to deliver the java.lang.Math methods to improve HPC, been partnering closely with services they want to offer. accelerated encryption, and other the OpenJDK* community to demanding applications. deliver the highest Intel® Xeon Phi™ processor In addition, Intel has worked closely with performance with a lower Oracle and OpenJDK to optimize Java for The Intel Xeon Phi processor is a footprint and scalable heap for bootable host processor that delivers today’s demanding applications and massive parallelism and vectorization. It frameworks: the upcoming JDK 9 on the is designed to support the most Big Data applications. For Big Data, latest Intel platforms as the demanding high performance Intel collaborated with the Java computing (HPC) applications. The Intel Intel(r) Xeon(r) Platinum 8100 community to optimize the JVM for Xeon Phi processor integrates several analytics, predictive modeling, processor. JDK 9 overall Intel “firsts:” genomic research, and other Big Data optimizations will significantly applications. This teamwork includes First processor that delivers the enhance Big Data, Cloud, performance of an accelerator with the optimizations for Apache Hadoop, benefits of a standard host CPU Apache Spark, Apache HBase,* and Microservices, HPC and FSI Apache Cassandra.* First processor to integrate high applications with enhanced Machine learning frameworks. Intel bandwidth memory and fabric vectorization support, AVX- technology is also working with the Java community to optimize the JVM for 512 code generation and The Intel Xeon Phi delivers the machine learning frameworks. These intrinsic methods, optimized demanding performance needed for frameworks include Apache SparkML* highly parallel workloads, high and Apache H20*. math libraries, cryptography, performance modeling and simulation, checksum, compression visualization, and data analytics. The new JVM 9 optimizations can make it easier for you to port and develop acceleration and compact applications that take advantage of new strings." Intel and Oracle continue to hardware capabilities and the enhance the Java software stack performance they can deliver. — Bernard Traversat Intel’s collaborations with the Java community to optimize the Java software No need to recompile Vice President of stack includes support and enabling of It is important to note that you do not Development many aspects of application development. have to recompile your Java application For example, Intel’s collaborations include Java SE Platform to see the benefits of the hardware and work to enable platform capabilities in the