Skip to main content

PartnerWorld > Products > Systems, servers, and storage > Technical >

Match 31-bit WebSphere Application Server performance with new features in 64-bit Java on System z

by Kishor Patil, Marcel Mitran, Jim Cunningham

Last updated: 2009-05-20

PDF iconDownload the white paper (285 KB)
Links to external URLGet Adobe® Reader®

 
Rate this article
  Feedback

© Copyright IBM Corporation, 2008. All Rights Reserved.
All trademarks or registered trademarks mentioned herein are the property of their respective holders.

Abstract
This article describes a pair of new features available in the IBM Developer Kit for Java 6, 64-bit edition. The compressed references and large pages features were added to the IBM J9 Java virtual machine (JVM) and IBM Testarossa Just-in-Time (JIT) compiler to provide relief for memory footprint growth incurred when migrating from a 31-bit JVM to a 64-bit JVM. This growth in footprint typically increases system memory requirements while also regressing throughput performance. This paper shows that it is possible to recover the 31-bit footprint and throughput performance using the 64-bit JVM for heap sizes up to 30 GB. We will review the advantages and disadvantages of using 31-bit SDK and 64-bit SDKs, provide a brief implementation overview, and discuss the performance characteristics of various combinations of heap sizes and Java options. All developers are encouraged to read through this article, but the intended audience is enterprise application developers who are deploying Java workloads on the IBM System z10 mainframe.
Introduction
IBM® Developer Kit for Java™ 6 offers a 31-bit and 64-bit edition of the Java virtual machine (JVM) for the z/OS platform. The 31-bit edition has traditionally provided the best application performance and footprint. As Java applications grow in complexity and scale, the limited virtual memory range (2 GB) of 31-bit address space puts pressure on Java and native heap usage resulting in out-of-memory errors. As such, there is a growing trend for adopting the 64-bit edition of the JVM. The heap relief provided by the 64-bit edition of the JVM comes at a performance and footprint cost. The overhead of using 64-bit wide object references can require up to 40% more Java heap. The inherently bigger objects also affect data locality and hence contribute to higher Translation Look-aside Buffer (TLB) and data cache miss rates, resulting in worse application performance. To overcome this performance bottleneck, IBM has introduced large page support in the latest IBM System z® servers (IBM System z10) and compressed references feature in IBM 64-bit SDK for z/OS, Java Technology Edition, V6, SDK6. This article describes some best practices for taking advantage of the new hardware and the IBM SDK6 to improve 64-bit footprint and performance.