You are currently on IBM Systems Media’s archival website. Click here to view our new website.


Engineered Together—IBM Java and zEC12 Boost Workload Performance

IBM continues to invest aggressively in its Java technology on the System z mainframe. An important and notable element of this investment has been the ongoing vertical integration of the IBM JVM on System z. The new zEnterprise EC12 (zEC12) hardware design continues this trend.

With a second-generation, out-of-order pipeline, industry-leading cache design, and an ultra high-frequency (5.5 Ghz) core, the zEC12 boosts the performance of Java workloads. Beyond the enhanced chip design, zEC12 also brings innovative architectural features to market. These include:

  • Transactional execution
  • Runtime instrumentation
  • Pageable 1-Meg large pages using Flash Express
  • New instructions for improved branch prediction
  • 2GB fixed, large pages, and
  • A set of new trap instructions

IBM SDK7 for z/OS Service Refresh3 (IBM Java 7 SR3) on System z provides deep exploitation of the enhanced core and many of the new features available on zEC12. The combined performance uplift provided by the new core design and JVM offers an aggregate 60 percent improvement to IBM’s multi-threaded benchmark. This continues a trend across three generations of the hardware and IBM JVM, with the release-to-release improvements aggregating to 12 times the performance.

Optimization and Exploitation

The –Xaggressive command-line option in IBM Java 7 SR3 enables a variety of new optimizations and zEC12 exploitations in the IBM Testarossa Just-In-Time Compiler. These include the use of:

  • A new set of compare-and-trap instructions for reducing the overhead of implicit array bounds checks
  • Branch pre-load facility to mitigate the cost of expensive branches
  • More aggressive prefetching to mitigate the effects of data cache misses
  • Improved array initialization
  • Path-length reductions
  • Improvements to inlining and block reordering for better i-cache utilization, and
  • General instruction sequence tuning to reduce path-length and exploit the new pipeline more efficiently

Looking ahead, workloads will continue to scale out aggressively as thread counts explode on modern processors, and application storage footprints will grow to meet the needs of low-latency processing and big data. Therefore, the availability of functions like transactional memory and pageable large pages is expected to become critical to the evolution of the platform. As a lead exploiter of these technologies, IBM JVM is well positioned for these anticipated trends. With this in mind, let’s take a detailed look into these two features.

Clark Goodrich is a senior software engineer in the IBM Systems, IBM Z performance organization working on the Java compiler. He has been with IBM since 1978 and holds six IBM patents. Prior to joining IBM, he did real-time programming at NASA's Goddard Space Flight Center for the Space Shuttle.

Jerry Zheng is a staff software developer in Java Just-in-Time Compiler development who is leading the effort of supporting transactional memory in IBM J9 JVM. He joined IBM in 2008 and has been working on exploiting new System z hardware features in a dynamic compiler.

Marcel Mitran is a Distinguished Engineer and Chief Technology Officer for IBM LinuxONE. He is based out of the IBM Toronto Lab. Marcel has spent more than 15 years developing hardware and software technology to solve problems of the modern enterprise.



2019 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.


Your Input Needed: IBM Systems Media Reader Survey

Educated for Success

Marist College students benefit from school's partnership with IBM

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
Mainframe News Sign Up Today! Past News Letters