The document provides an overview of Java performance on IBM z14 hardware. It summarizes improvements in Java performance from older IBM systems like z9, z10, z13 to the latest z14 system. Some key points include:
- Java performance has seen aggregate improvements of up to 14.9x from IBM Java 5 on z9 to IBM Java 8 SR5 on z14.
- Java 8 SR5 on z14 provides up to 4.2x better throughput for AES-GCM cryptography workloads compared to Java 8 SR3 on z13.
- Pause-less garbage collection on z14 with Java 8 SR5 allows for more predictable response times and up to 20x better average
3. Notices and Disclaimers Con’t.
Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not
tested those products in connection with this publication and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products.
Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. IBM does not warrant the quality of any third-party products, or the
ability of any such third-party products to interoperate with IBM s products. IBM EXPRESSLY DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The provision of the information contained h erein is not intended to, and does not, grant any right or license under any IBM patents, copyrights, trademarks or other intellectual
property right.
IBM, the IBM logo, ibm.com, Aspera®, Bluemix, Blueworks Live, CICS, Clearcase, Cognos®, DOORS®, Emptoris®, Enterprise Document Management System™, FASP®,
FileNet®, Global Business Services ®, Global Technology Services ®, IBM ExperienceOne™, IBM SmartCloud®, IBM Social Business®, Information on Demand, ILOG,
Maximo®, MQIntegrator®, MQSeries®, Netcool®, OMEGAMON, OpenPower, PureAnalytics™, PureApplication®, pureCluster™, PureCoverage®, PureData®,
PureExperience®, PureFlex®, pureQuery®, pureScale®, PureSystems®, QRadar®, Rational®, Rhapsody®, Smarter Commerce®, SoDA, SPSS, Sterling Commerce®,
StoredIQ, Tealeaf®, Tivoli®, Trusteer®, Unica®, urban{code}®, Watson, WebSphere®, Worklight®, X-Force® and System z® Z/OS, are trademarks of International Business
Machines Corporation, registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of IBM
trademarks is available on the Web at "Copyright and trademark information" at: www.ibm.com/legal/copytrade.shtml.
3
4. IBM JDK Road Map
4
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
SDK6.0
SDK7.0
SDK7.1
SDK8.0
IBM Java 6.0
• z10™ Exploitation
• DFP for BigDecimal
• Large Pages
• New ISA features
• Improvements
• XML parser Improvements
• Improvements in
• Performance
• RAS, Class Sharing
IBM Java 6.0.1/Java 7
• z196™ Exploitation
• OOO Pipeline
• 70+ New Instructions
• Improvements in
• Performance
• GC Technology
• JZOS / Security Enhancements
IBM Java 7 SR3 + 7.1
• zEC12™ Exploitation
• Transactional Execution
• 1MB(p), 2GB large
pages
• Hints/traps
• zEDC for zip accel.
• Runtime
Instrumentation
• Improvements in
• Performance
• RAS, Monitoring
• Data Access Accelerator
IBM Java 8 ≤ SR4
• z13™ Exploitation
• SIMD
• SMT
• Crypto accel.
• Improvements in
• Performance, RAS
• Monitoring
IBM Java 8 SR5
• z14™ Exploitation
• Pause-Less GC
• Crypto accel.
• True Random Number
Gen.
• DAA PackedDecimal
accel.
• Improvements in
• Performance
• RAS
SDK8.0.5
Java6
Java7
Java8
EE5
EE6
EE7
EE8
EOS 18/09 EOS 18/09EOS 19/09
5. Traditional WAS on z/OS – DayTrader : Aggregate Improvement
5 (aggregate improvements using controlled measurement environments)
14.9x aggregate hardware and software improvements
WAS 6.1 IBM Java5 on z9 à
WAS 9.0.0.4 IBM Java 8 SR5 on z14 with SMT zIIPs
6. Aggregate Hardware, Java SDK and WAS/Liberty Software
for Day Trader Benchmark on Linux on z
6
(Controlled measurement environment, results may vary)
Websphere Application Server, z9 to z13
Liberty Java 8 SR5, z13 to z14
8.9x aggregate incremental hardware and software improvements
from z9 Java 5 to z14 Java 8.0.5 (SR5)
7. Eclipse OpenJ9
• Java VM technology powering IBM JDK now open-sourced
7
20+ years, 4.3M
Deep Z
9. Liberty DayTrader 3 – z/OS – AES-GCM z13 vs z14
(Controlled measurement environment, results may vary)
IBM z14 + Java 8 SR5 AES-GCM cryptography up to 4.2x better
throughput over z13 + Java 8 SR3 IBM Liberty 8.5.5.9 with IBM Java 8 SR3, SR5
IBM z13 + IBM z14 – zOS – 4 zIIP SMT-2 + 1 CP
DayTrader 3
9
10. Liberty DayTrader 3 – Linux on Z – AES-GCM z13 vs z14
(Controlled measurement environment, results may vary)
IBM z14 + Java 8 SR5 AES-GCM cryptography up to 5.1x better
throughput over z13 + Java 8 SR3
IBM Liberty 8.5.5.9 with IBM Java 8 SR3, SR5
IBM z13 + IBM z14 – SLES 12 SP1 – 4 IFLs SMT-2
DayTrader 3
10
11. Liberty DayTrader 3 – Linux on Z – AES-GCM
IBM z14 vs Intel Broadwell
11
(Controlled measurement environment, results may vary)
IBM Liberty 8.5.5.9 with DayTrader3
IBM z14 with IBM Java 8 SR5 – SLES 12 SP1 – 4 IFLs SMT-2
Intel Xeon E5-2690 v4 – Oracle Hotspot 8_131 – RHEL 7.2 – 4 cores HT
IBM z14 + Java 8 SR5 AES-GCM cryptography up to 2.6x better
throughput over Intel Broadwell
12. Application Serving - Liberty DayTrader 3 - No SSL
z/OS – zEC12 to z14
12
(Controlled measurement environment, results may vary) IBM Liberty 8.5.5 with DayTrader3
IBM Java 7.1 SR1, Java 8 SR1, Java 8 SR5
IBM zEC12, z13, z14 - 4 zIIP, 1 CP
IBM z14 + Java 8 SR5 up to 17% better throughput over z13 + Java 8 SR1,
up to 2.1x better throughput over zEC12 + Java 7.1
13. Application Serving - Liberty DayTrader 3 – SSL (Clear Key)
z/OS – zEC12 to z14
13
(Controlled measurement environment, results may vary)
IBM Liberty 8.5.5 with DayTrader3
IBM Java 7.1 SR1, Java 8 SR1, Java 8 SR5
IBM zEC12, z13, z14 - 4 zIIP, 1 CP
IBM z14 + Java 8 SR5 delivers better security with AES_GCM,
up to 32% better throughput over z13 + Java 8 SR1 + AES_CBC,
up to 3x better throughput over zEC12 + Java 7.1
14. Business Rules Processing – z/OS – z14
14
IBM ODM 8.8.1 with IBM Java 8 SR3, SR5
IBM z13 + IBM z14 – z/OS 2.2 – 1 CP, 8 zIIPs – SMT-2
5 Ruleset
(Controlled measurement environment, results may vary)
IBM z14 + Java 8 SR5 up to 18% better throughput over z13
15. Liberty DayTrader 3 – Linux on Z – NoSSL
IBM z14 vs Intel Broadwell
15
IBM Liberty 8.5.5.9 with DayTrader3 with IBM Java 8 SR5
IBM z14 – SLES 12 SP1 – 4 IFLs SMT-2
Intel Xeon E5-2690 v4 – RHEL 7.2 – 4 cores HT
IBM z14 + Java 8 SR5 up to 1.6x better throughput over Intel Broadwell
(Controlled measurement environment, results may vary)
16. Business Rules Processing – Linux on z – z14
16
IBM ODM 8.8.1 with IBM Java 8 SR3, SR5
IBM z13 + IBM z14 – SLES 12 SP1 – 8 IFLs SMT-2
5 Ruleset
(Controlled measurement environment, results may vary)
IBM z14 + Java 8 SR5 up to 27% better throughput over z13
17. Business Rules Processing – IBM z14 vs Intel Broadwell
17
IBM ODM 8.8.1 with IBM Java 8 SR5
IBM z14 – SLES 12 SP1 – 8 IFLs SMT-2
Intel Xeon E5-2690 v4 – RHEL 7.2 – 8 cores HT
(Controlled measurement environment, results may vary)
IBM z14 delivers up to 1.65x more transactions / core over Intel Broadwell
18. IBM z13 – Simultaneous Multi-Threading
§ Double the number of hardware threads per core
– Independent threads can more effectively utilize the
pipeline
§ Hardware threads share resources
– Pipeline (e.g. physical registers, FPU, LSU, etc.)
– Data cache
§ Throughput improvement is workload dependent
18
Two lanes handle
more traffic overall
19. IBM z13 – Single Instruction Multiple Data
• Can offer dramatic speed-up to data-parallel operations
• Matrix operations, string processing, crypto
• IBM SDK for Java 8 on z13, z14, …
• Transparent exploitation in many Java APIs
• Auto-SIMD loop transformer engine
19
a[i] a[i+1] a[i+2] a[i+3]
b[i] b[i+1] b[i+2] b[i+3]
c[i] c[i+1] c[i+2] c[i+3]
+
=
// Add elements from 2 arrays
for (int i = 0; i < 128; ++i) {
c[i] = a[i] + b[i];
}
// Auto-SIMD: 4x less iterations!
for (int i = 0; i < 32; ++i) {
vec_add(c[i*4], a[i*4], b[i*4]);
}
20. SIMD Acceleration in Java 8
• Primitive operations are between 1.6x to 60x faster with SIMD!
20
IBM Java 8 APIs with SIMD Acceleration
java/lang/String
§ compareTo
§ compareToIgnoreCase
§ contains
§ contentEquals
§ equals
§ indexOf
§ lastIndexOf
§ regionMatches
§ toLowerCase
§ toUpperCase
§ getBytes
java/util/Arrays
§ equals
com/ibm/crypto/provider/ (ECC)
§ P256PrimeField.multiply()
String encoding converters
§ ASCII, ISO8859-1, UTF-8, UTF-16
Auto-SIMD
§ Simple loops (i.e. Matrix Multiplication)
21. IBM z14 – Pause-Less Garbage Collection
• Allows Java GC to run concurrently with
applications
• More predictable response-times
• High-performance transaction processing at
scale
• Java GC-tuning made easy
• Enable with single option:
-Xgc:concurrentScavenge
• IBM Java 8 SR5 + IBM z14
• z/OS 2.3 or z/OS 2.2 + APAR OA51643
• RHEL 7.5 with 4.14 kernel-alt
• Ubuntu 18.04
• z/VM 6.4 + PTF65987
21
22. Pause-Less GC: -Xgc:concurrentScavenge
§ More consistent and reduced GC pause times for response-time sensitive,
large heap applications
Existing: All applications threads pause to allow GC to safely move objects in heap
Pause-Less GC: Short GC Pause Times, Application Threads run concurrently with GC.
Migrate Objects Update References
App
Thread
App
Thread
GC Pause Time
App
Thread
App
Thread
App
Thread
Much Shorter
GC Pause
Time
App
Thread
App
Thread
Migrate
Root Set
App
Thread
App
Thread
GC
Update
Reference
Update
Reference
App
Thread
App
Thread
22
23. Java Store Inventory and Point of Sale Application
• On both z/OS and Linux on z, high
scavenge pause times made this
application a candidate for
Pause-Less GC:
• Up to 3x better throughput for
response-time constrained Service
Level Agreements (SLAs)
• Up to 20x better average GC pause-
times
23
(Controlled measurement environment, results may vary)
24. IBM z14 – Hardened Security with GCM
24
AES_128_CBC or AES_128_GCM?
• Avoid this message on TLS 1.2 ECDHE cipher suite by
using AES_128_GCM
• TLS 1.3 next generation of cryptographic protocols
removes obsolete and less secure AES_128_CBC
25. AES-GCM IBM z13 vs. IBM z14
1.0
4.2
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Java 8 SR3 on IBM z13 Java 8 SR5 on IBM z14
RelativeThroughput
DayTrader3 Relative Throughput with AES-GCM
z/OS 64-bit, 4-way zIIP SMT-2 + 1 GCP, Liberty 8.5.5.9, z/OS
V2R2
25
(Controlled measurement environment, results may vary)
4.2x improvement