Reasons to Love IBM Java and WebSphere Application Server on z System

47
© 2014 IBM Corporation Reasons to Love IBM Java and WebSphere Application Server on z Systems Marcel Mitran IBM Senior Technical Staff Member Chief Architect Java on z Systems Email: [email protected] Elena Nanos Health Care Service Corporation Lead Systems Architect Email: [email protected] Session: ASZ-2026

Transcript of Reasons to Love IBM Java and WebSphere Application Server on z System

Page 1: Reasons to Love IBM Java and WebSphere Application Server on z System

© 2014 IBM Corporation

Reasons to Love IBM Java and WebSphere Application Server on z Systems

Marcel MitranIBM Senior Technical Staff MemberChief Architect Java on z Systems Email: [email protected]

Elena Nanos Health Care Service CorporationLead Systems ArchitectEmail: [email protected]

Session: ASZ-2026

Page 2: Reasons to Love IBM Java and WebSphere Application Server on z System

1

Java Road MapLanguage Updates

Java 5.0 • New Language features:

• Autoboxing• Enumerated types• Generics• Metadata

Java 6.0• Performance Improvements• Client WebServices Support

• Support for dynamic languages• Improve ease of use for SWING• New IO APIs (NIO2)• Java persistence API• JMX 2.x and WS connection for JMX

agents• Language Changes

Java 7.0

IBM Java RuntimesIBM Java 5.0 (J9 R23) • Improved performance

• Generational Garbage Collector• Shared classes support• New J9 Virtual Machine• New Testarossa JIT technology

• First Failure Data Capture• Full Speed Debug• Hot Code Replace• Common runtime technology

• ME, SE, EE

IBM Java 6.0 (J9 R24)• Improvements in

• Performance• Serviceability tooling• Class Sharing

• XML parser improvements• z10™ Exploitation

• DFP exploitation for BigDecimal• Large Pages• New ISA features

5.0

6.0

2005 2009

SE

5.0

18 p

latfo

rms

SE

6.0

20 p

latfo

rms

EE 5

WAS6.1

WAS7.0

2006 2008

WAS6.0

200704

EE 6.x

**Timelines and deliveries are subject to change.

2010 2011

IBM Java 6.0.1/Java 7 (J9 R26)

• Improvements in• Performance• GC Technology

• z196™ Exploitation• OOO Pipeline• 70+ New Instructions

• JZOS/Security Enhancements

WAS8.5

2012 2013 2014

7.0

• Language improvements • Closures for simplified fork/join

Java 8.0**

SE

601/

7.x

>= 2

0 pl

atfo

rms

IBM Java 7 (J9 R26 SR3)• Improvements in

• Performance• zEC12™ Exploitation

• Transactional Execution• Flash 1Meg pageable LPs• 2G large pages• Hints/traps

IBM Java 7R1 (J9 R27)• Improvements in

• Performance• RAS• Monitoring

• zEC12™ Exploitation• zEDC for zip acceleration• SMC-R integration• Transactional Execution• Runtime instrumentation• Hints/traps

• Data Access Accelerator

SE

601/

7.x

>= 2

0 pl

atfo

rms

2015

IBM Java 8 (J9 R28)• Improvements in

• Performance• RAS• Monitoring

• z13™ Exploitation• SIMD• SMT• Crypto acceleration

SE

8>=

20

plat

form

s

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 3: Reasons to Love IBM Java and WebSphere Application Server on z System

2

IBM Java 8 – (available March 6th, 2015**)

IBM SDK for z/OS, Java Tech. Edition, Version 8

New Java8 Language Features• Lambdas, virtual extension methodsIBM z13 exploitation• Vector exploitation and other new instructions• Instruction schedulingGeneral throughput improvements• Up-to 17% better application throughput• Significant improvements to ORBImproved crypto performance for IBMJCE• Block ciphering, secure hashing and public key

• Up-to 4x improvement to Public Key using ECC• CPACF instructions: AES, 3DES, SHA1, SHA2, etc

Significantly improved application ramp-up• Up-to 50% less CPU to ramp-up to steady-state• Improved perf of ahead-of-time compiled code Improved Monitoring• JMX beans for precise CPU-time monitoringEnhancements to JZOS Toolkit for Java batch

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

** www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&supplier=897&letternum=ENUS215-004#

Page 4: Reasons to Love IBM Java and WebSphere Application Server on z System

3

IBM z13 –Taking Java Performance to the Next Level

Continued aggressive investment in Java on Z

Significant set of new hardware features tailored a nd co-designed with Java

Simultaneous Multi-Threading (SMT)� 2x hardware threads/core for improved throughput

� Available on zIIPs and IFLs

Single Instruction Multiple Data (SIMD)� Vector processing unit

� Accelerates loops and string operations

Cryptographic Function (CPACF)� Improved performance of crypto co-processors

New Instructions

Up to 2X improvement in

throughput per core for security

enabled applications

Up to 50% improvement for generic

applications

New 5.0 GHz 8-Core Processor Chip

480Mb L4 cache to optimize for data serving

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

www-03.ibm.com/press/us/en/pressrelease/45808.wss

Page 5: Reasons to Love IBM Java and WebSphere Application Server on z System

IBM z13: SMT – Simultaneous Multi-Threading

SMT permits multiple independent threads to execute on a single core concurrently • Achieve more effectively utilization of processor resources

z13 SMT allows 2 threads-per-core to deliver better overall throughput for multiple concurrent workloads• Increases effective zIIP/IFL capacity • Doubles number of eligible threads

Threads share resources – may impact single thread perf• Pipeline (eg. physical registers, fxu, fpu, lsu etc)• Cache

Throughput improvement is workload dependent

Two zIIP lanes handle more traffic overall

4ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 6: Reasons to Love IBM Java and WebSphere Application Server on z System

IBM z13: Vector ProcessingSIMD – Single Instruction Multiple Data

Operate on multiple data-elements (vectors) simulta neously• Can offer dramatic speed-up to data-parallel operations (matrix ops,

string processing, etc)

5ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Vector registers are 128-bits wide and can be used to operate concurrently on:• Two 64-bit floating point values• Four 32-bit floating point values• Sixteen 8-bit characters• Two 64-bit integer values• etc

Page 7: Reasons to Love IBM Java and WebSphere Application Server on z System

6

Acceleration using SIMD with IBM Java 8 and z13

IBM z13 running Java 8 on z/OSSingle Instruction Multiple Data (SIMD) vector engi ne exploitation

java.lang.String exploitation- compareTo- compareToIgnoreCase- contains- contentEquals- equals- indexOf- lastIndexOf- regionMatches- toLowerCase- toUpperCase- getBytes

java.util.Arrays- equals (primitive types)

String encoding convertersFor ISO8859-1, ASCII, UTF8, and UTF16- encode (char2byte)- decode (byte2har)

Auto-SIMD- Simple loops

(eg. Matrix multiplication)

Primitive operations are between 1.6x and 60x faste r with IBM Java8

(Controlled measurement environment, results may vary)

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 8: Reasons to Love IBM Java and WebSphere Application Server on z System

7

IBM Business Rules Processing with IBM Java 8 and z13

Aggregate 2.1x improvement from IBM Java 8 and IBM z13

(Controlled measurement environment, results may vary)

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 9: Reasons to Love IBM Java and WebSphere Application Server on z System

Business Rules Processing – IBM z13 vs Intel Haswell

IBM z13 up-to 1.56x better throughput/core processi ng business rules than Intel Haswell

8

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Haswell - Linux - Java8 z13 - zOS - Java8

Business Rules Processing with IBM z13 with Java8 - Small Ruleset

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

Haswell - Linux - Java8 z13 - zOS - Java8

Business Rules Processing with IBM z13 with Java8 -Large Ruleset

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 10: Reasons to Love IBM Java and WebSphere Application Server on z System

9

Java Store, Inventory and Point-of-Sale App with IBM Java 8 and z13

1.9x improvement in throughput with IBM Java 8 and IBM z13

(Controlled measurement environment, results may vary)

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 11: Reasons to Love IBM Java and WebSphere Application Server on z System

10

z/OS WAS 8.5.5.5 – SSL-Enabled DayTrader 3.0

2.6x improvement in throughput with IBM Java 8 and IBM z13

(Controlled measurement environment, results may vary)

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 12: Reasons to Love IBM Java and WebSphere Application Server on z System

1111

Mobile on z – z/OS Connect on IBM Java 8 and zEC12

(Controlled measurement environment, results may vary)

5 - 16.4% throughput improvement from IBM Java 8 and IBM zEC12

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 13: Reasons to Love IBM Java and WebSphere Application Server on z System

1212

WebSphere – Linux on z Virtualized Cluster

(Controlled measurement environment, results may vary)

Between 1.36x and 1.66x improved throughput for a virtualized WAS cluster running DayTrader on z13 when compared to zEC12

0.00

0.20

0.40

0.60

0.80

1.00

1.20

1.40

1.60

1.80

zEC12 z13 SMT vs zEC12

Linux on z - SLES 11 SP3, WAS 8.5.5 Java 7.1, DayTrader3

8 CP - 16 guests

0.00

0.20

0.40

0.60

0.80

1.00

1.20

1.40

1.60

1.80

zEC12 z13 SMT vs zEC12

Linux on z - SLES 11 SP3, WAS 8.5.5 Java 7.1, DayTrader3

32 CP - 64 guests

ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 14: Reasons to Love IBM Java and WebSphere Application Server on z System

HCSC Java on z/OS and WebSphere Application Server on z/OS V8.5.5 User Experience

Page 15: Reasons to Love IBM Java and WebSphere Application Server on z System

About Health Care Service Corporation

� Health Care Service Corporation (HCSC) is the fourth largest health insurance company in the nation

� Largest customer-owned health insurer in the U.S., founded in 1936, now with more than 14.5 million members , HCSC operates health insurance Plans in Illinois, Montana, New Mexico, Oklahoma, and Texas, as well as Dearborn National

� We're greater than 21,000 employees strong with 60 local offices and state-of-the-art technology, including two Tier IV data centers – the industry's highest reliability level – that provide the speed and data security to meet our customers' current and future business needs

14ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 16: Reasons to Love IBM Java and WebSphere Application Server on z System

Why WebSphere on z/OS (WASz)?

WebSphere on z/OS has been selected at HCSC as a preferred platform to support development and deployment of the Core processing for new and existing (previously deployed on distributed platform) Java mission-critical Applications for the following reasons:

� Co-location performance benefits with tight integra tion with DB2, MQ and CICS –3- 4X performance improvement for one of our larges t WebSphereon z/OS Applications

� z/OS Hardware, Software, Storage and Network are al l designed for maximum application availability

� WebSphere on z/OS is designed to support very high transactional volume

� WebSphere on z/OS provides highest Quality of Servi ce –Performance, Scalability, Recovery/failover capabi lity, High Availability, Stability, Manageability, Maintainability and Security/Integri ty

� Use of specialty engines zAAPs or zAAP on zIIP reduc es hardware and associated software costs

� By using WebSphere on z/OS you can minimize the number of physical tiers toget to backend data

15ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 17: Reasons to Love IBM Java and WebSphere Application Server on z System

Features and Technology Unique to z/OS

� Server Architecture- Control/Servant Region Split- Multiple Servant Region

� Workload Management- Leverages Workload Manager (WLM)- WLM/RMF integration- Work classified according to importance & performa nce goals- Work is selected from WLM queue and managed to goa l- Provides Failover to available Servers- Automatic servant restart after an outage - Automatic startup of additional servants, as neede d, based on Policies

� WebSphere on z/OS Network Deployment Clustering acro ss z/OS LPARs - Horizontal scaling for increased throughput- Continuous availability & fail-over

� MQ Queue Sharing using Shared Queues across LPARs and XM memory communication for optimum performance

� DB2 Data Sharing across LPARs , with JDBC Type 4 driver with TCP/IP OPTLOCAL or Type 2 driver using Fail-over Feature

16ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 18: Reasons to Love IBM Java and WebSphere Application Server on z System

Features and Technology Unique to z/OS(continues)

� SYSPlex Distributor - workload management and distribution across multiple systems

� Coupling Facility - high-speed inter-system communication, used with MQ Queue Sharing & DB2 Data sharing

� Resource Recovery Services - required for 2-phase commits

� Low Latency - the time to move each message is less, which provides higher throughput and faster completion of business processes

� zSeries Application Assist Processor (zAAP) or zAAP on zIIP - specialty assist processor dedicated exclusively to execution of Java workloads under z/OS; priced much lower than general processors and not counted in processor-based software licensing

� Exploitation of Pageable Large Page support with Fl ash Express - Flash Express adapter can help improve availability and performance during periods of paging spikes

� Mainframe security - cross-memory communications is completely secure

17ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 19: Reasons to Love IBM Java and WebSphere Application Server on z System

HCSC WebSphere on z/OS Cell Architecture

18ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 20: Reasons to Love IBM Java and WebSphere Application Server on z System

� Remote JDBC Type 4 driver using Sysplex Distributor for load balancing can utilize TCP/IP OPTLOCAL option for Cross Memory communication (using local sockets) connecting to local DB2 on z/OS subsystem on the same LPAR and can provide fail-over across LPARs in the case of a DB2 outage

� To reduce excess pathlength but still retain high availability, you can specify the OPTLOCAL keyword for DVIPA2 to optimize processing. As long as local target resources are available and are not constrained, extra network flows and overhead through the distributor are avoided, because the local syst em makes the decision to route the connection to th e local instance.

� When the decision is made to make the connection local, TCP/IP enables this connection for fast local sockets processing. This provides a more efficient path through the TCP/IP stack for these communications. All traffic for this connection remains on the local system and is not routed to the distribut ing stack.For details see - http://www-01.ibm.com/support/knowledgecenter/#!/SS LTBW_2.1.0/com.ibm.zos.v2r1.halz002/sys_optlocal.ht m

� Local JDBC Type 2 Driver used with new Resource Ada pter Fail-over feature allows to take full advantage of the co-location between WAS and DB2 z/ OS with JDBC Type 2 Driver without being less available in the case of an DB2 z/OS outage

� An alternative connection factory can be configured for each primary connection factory. This alternative connection factory (data source) can point to another resource manager (DB2 z/OS) within the same Data Sharing Group, which is usually located on another system.

� During deployment the data source definition in the deployment descriptor of an application is assigne d to the primary data source. The alternative data source can be defined independently and can be referenced by the primary data source.

� In the case of an DB2 outage WAS will notice that t he DB2 connection is down and will fail-over to the alternative data source . This happens completely seamless for the application. If the DB2 instance come back, WAS detects this and places new connections using the primary data source (failback).

JDBC Type 4 vs Type 2 Driver In Fail-Over

19ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 21: Reasons to Love IBM Java and WebSphere Application Server on z System

HCSC WebSphere on z/OSJava Exploitation

� Currently running WAS on z/OS V8.5.5.2 which added IBM Java 7.1 support to WAS

� We use Java V6.0.1 and Java V7.1.0.1, using 31 or 6 4 bit mode depending on the Application

� Java V6.0.1R26_Java626_SR7_20131230_1725_B180580_CMPRSSIBM J9 2.6 z/OS s390x-64 Compressed References 20131 230_180580J9VM - R26_Java626_SR7_20131230_1725_B180580 JIT - r11.b05_20131003_47443.02 GC - R26_Java626_SR7_20131230_1725_B180580_CMPRSSjava.runtime.version = pmz6460_26sr7fp1ifx-20140220_ 01 (SR7 FP1)-Xgcpolicy:gencon (default)-Xlp:codecache:pagesize=1m,pageable -Xlp:objectheap:pagesize=1m,pageable -Xcompressedrefs

� Java V7.1.0.1R27_Java727_SR1_20140410_1931_B195893_CMPRSSIBM J9 2.7 z/OS s390x-64 Compressed References 20140 410_195893J9VM - R27_Java727_SR1_20140410_1931_B195893 JIT - tr.r13.java_20140410_61421 GC - R27_Java727_SR1_20140410_1931_B195893_CMPRSSjava.runtime.version = pmz6470_27sr1ifx-20140417_01 (SR1+IX90144 SR1+IX90144)-Xgcpolicy:gencon (default)-Xlp:codecache:pagesize=1m,pageable (default in Java V7.x)-Xlp:objectheap:pagesize=1m,pageable (default in Java V7.x)-Xcompressedrefs (default in Java V7.x)-Xaggressive (default in Java V7.1.x)Note: 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.

20ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 22: Reasons to Love IBM Java and WebSphere Application Server on z System

WAS on z/OS V7.0.27 vs V8.5.5.1

Our initial testing was with WAS on z/OS V8.5.5.1 an d Java V6.0.1.

� Application #1 – MDB Application in 64 bit mode. Com pressed reference is set .� Max Heap size increased from 640M to 1792M, Min Heap size increased from 512M to 1344M � Encountered Java OOM after upgrade, had to increase max/min heap size � Memory Leak found in WASz JMS code, using ThreadLoca ls with AlarmManagerThread and not releasing storage.

Fixing APAR PI14746 – fix included in WAS V8.5.5.2. IBM Flash alert “Memory leak in WAS 8.5.x J2C PoolManager” at http://www-01.ibm.com/support/docview.wss?uid=swg21 670448

� MDB response times went down 25-30% and throughput increased, using a little more CPU

� Application #2 – Activation Specification Applicatio n in 31 bit mode. Writes a message to MQ when DB2 on z/OS update triggers.

� Max Heap size 512M, Min Heap 256M. � Performs better in 31 bit mode vs 64 bit mode, performance did not change after WASz V8.5.5.1

upgrade

� Application #3 – MDB Application in 64 bit mode. Com pressed reference is set.� Max Heap size is 2100M, Min Heap size is 1024M � 15-20% CPU reduction � Being tuned to lower heap size under 2048M and explo it Pageable Large Pages, with Flash Express

� Application #4 – Java Application that is being conv erted from COBOL , running in CICS.

� Compressed reference is set with 64 bit mode� Application uses Spring Framework and does not use currently JPA� Application has ASYNC batch process and Online HTTP work� 28% CPU reduction – WASz V8.5.5.1 upgrade and JVM tuning

21ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 23: Reasons to Love IBM Java and WebSphere Application Server on z System

Application #1WAS on z/OS V7.0.27 vs V8.5.5.1

22ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 24: Reasons to Love IBM Java and WebSphere Application Server on z System

Application #1 - WASz V8.5.5.1 64 bit mode

23ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 25: Reasons to Love IBM Java and WebSphere Application Server on z System

Application #2 - WASz V8.5.5.1 31 Bit vs 64 Bit Mode

24ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 26: Reasons to Love IBM Java and WebSphere Application Server on z System

Application #3 - WASz V7.0.27 vs WASz V8.5.5.1 CPU Usage

25ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 27: Reasons to Love IBM Java and WebSphere Application Server on z System

Application #4WASz V8.5.5.1 64 bit mode

26ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 28: Reasons to Love IBM Java and WebSphere Application Server on z System

Application #4 Production WASz V8.5.5.1 64 bit mode

27ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 29: Reasons to Love IBM Java and WebSphere Application Server on z System

WASz V8.5.5.2 Java V7.1.0.1 performance

Testing WASz V8.5.5.2 Java V7.1.0.1 vs WASz V8.5.5.1 and Java V6.0.1 we observed -

� 20% improvement in the elapsed time

� 10-12% CPU reduction

28ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Issues encountered testing with Java V7.1.0.1 –

� java.lang.ClassCastException , when using a third-party JAX-WS CXF web services framework

Resolution: We added some of the CXF dependency jar files to th e EAR, which resolved classloader issue . The following jars are required for all CXF usage: cxf.jar, commons-logging.jar, geronimo-activation.jar, geronimo-annotation.jar, geronimo-javamail.jar, geronimo-stax-api.jar, neethi.jar, jaxb-api.jar, jaxb-impl.jar, XmlSchema.jar, woodstox-core-asl.jar, stax2-api-3.0.1.jar & wsdl4j.jar.

For more information please reference - http://cxf.apache.org/download.html

� Degradation in performance with resumable traps ena bled by default in Java V7.1

Resolution: Disable LE resumable traps - set -Xjit:noResumableTrapHandler JVM variable at Application servers > server > Process definition > Servant > Java Virtual Machine

For more information please reference - IBM SDK, Java Technology Edition, Version 7: Curren t newshttp://www-01.ibm.com/support/docview.wss?uid=swg21499721#java7sr7

Page 30: Reasons to Love IBM Java and WebSphere Application Server on z System

Exploitation of Large Page Support

� An example of setup needed to enable 1 Meg Pageable Large Page support –-Xlp:codecache:pagesize=1m,pageable -Xlp:objectheap:pagesize=1m,pageable� -Xlp:codecache - Requests the JVM to allocate the JIT code cache by using pageable 1M large page sizes. � -Xlp:codecache:pagesize=1m,pageable - default for Java V7, needs to be set for Java V6.0.1.� -Xlp:objectheap - Requests the JVM to allocate the Java object heap by using pageable 1M large page sizes � -Xlp:objectheap:pagesize=1m,pageable - default for Java V7, needs to be set for Java V6.0.1 Note that - Xlp will override the default - Xlp:objectheap:pagesize=1m,pageable. � If there are no 1M pageable frames available, RSM is acting outside of JAVA so it will do the

allocations without JAVA knowing there are no more 1mb Pageable frames since RSM will just allocate more dynamically from either 1mb fixed frames or as a last resort 4k frames.

� To check what page size you are using, look at WAS servant log

29ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

<attribute name="pageSize" value="0x1000" /> getting 4K<attribute name="requestedPageSize" value=" 0x1000 " /> requested 4K page size

<attribute name="pageSize" value="0x100000" /> getting 1M page size<attribute name="requestedPageSize" value="0x100000" /> requested 1M page size

Also can use - verbose:sizes set on IBM_JAVA_OPTIONS - displays default Java setting used for that JVM.

Note: Java V7.1 added support of 2 GB Large Pages

Page 31: Reasons to Love IBM Java and WebSphere Application Server on z System

Large Page Support and Flash Express

� Need to size LFAREA area and PAGESCM with WASz V8.5.x exploitation of Large Page support

� When the JVM is allocating large pages, if a particular Large Page size cannot be allocated, the following sizes are attempted, in order, where applicable:2G nonpageable , 1M nonpageable, 1M pageable, 4K pag eableFor example, if 1M nonpageable Large Pages are requested but cannot be allocated, pageable 1M large pages are attempted, and then pageable 4K pages.

� Flash Express is a PCIe IO adapter with NAND Flash SSDs that can help you improve availability and performance especially dur ing periods of paging spikes . Flash can be allocated before the LPARs are activated and detected by z/OS during IPL, or configured on dynamically after IPL.

� Use TSO RMF to see Storage Memory Objects usage

30ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 32: Reasons to Love IBM Java and WebSphere Application Server on z System

Issue to Watch Out For - High CPU with Intelligent Management Enabled

ISSUE� The Virtual Enterprise product was integrated in WA S V8.5.x and is now referred to as

Intelligent Management. It is enabled by default . This might increase idle server CPU time considerably.

� Major increase in the number of TCP/IP SMF 119 reco rds. We have seen the creation of millions of SMF type 119 TCP/IP sub type 1 and 2 SMF records (open and close connections), instead of 1,000s prior to WASz V8.5.5 upgrade.

� Related APAR - http://www-01.ibm.com/support/docview.wss?uid=swg1PM79754� Review IBM WASz doc "Idle WebSphere Tuning Conside rations" -

http://www-01.ibm.com/support/docview.wss?uid=tss1wp101894&aid=1SOLUTION � In WAS V8.5.5 a new custom property (LargeTopologyOptimization) was added to disable

Intelligent Management for those who do not to use the functionality .� To configure the Cell custom property via the administrative console go to System

Administration, Cell, Configuration, Additional Properties, Custom Properties, and create a new entry with Name LargeTopologyOptimization, and Value false .

31ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 33: Reasons to Love IBM Java and WebSphere Application Server on z System

Issue to Watch Out - Memory Leak Using ThreadLocals

� ThreadLocal variables don't work well with thread po ols in J2EE environment

We observed memory leaks in Native Storage caused by using ThreadLocal variables .ThreadLocals are only garbage collected if their owning thread is destroyed. Thread pooling in WebSphere Application Server keeps threads alive indefinitely, and as such, ThreadLocalvariables remain alive even after the application is stopped. This problem is compoundedby ThreadLocal variables that consume native storage, such as classloaders.

� Best coding practice recommendations

To avoid storage leaking (native or heap):� Use ThreadPool threads, which are managed by WebSphe re on z/OS� Avoid the use of ThreadLocal variables� Clear all ThreadLocal variables before returning con trol from an EJB or Servlet

invocation

� An example of the error to watch out for -

32ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

FFDC Exception:java.lang.Exception SourceId:com.ibm.ejs.j2c.PoolManager$2 ProbeId:50 Reporter:[email protected]: WSThreadLocal: instance count = 200: Potential memory leak ; verify usage.

Page 34: Reasons to Love IBM Java and WebSphere Application Server on z System

Analyzing GC Logs – Example of Memory Leak in the J2C PoolManager

33ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Analyze your GC logs with free IBM Pattern Modelling and Analysis Tool (PMAT) or IBM Support Assistant Garbage Collection and Memory Visualizer (GCMV)

Page 35: Reasons to Love IBM Java and WebSphere Application Server on z System

Java OOM - Gathering Documentation

1 11/25/14 6:10:24:880 CST 11/25/14 6:10:58:880 CST java.lang.OutOfMemoryError com.ibm.ejs.util.am._Alarm.execute2 11/25/14 6:10:41:509 CST 11/25/14 6:11:01:510 CST java.lang.OutOfMemoryError com.ibm.ws.util.ThreadPoo l$Worker

/was855conf/prod/w1prd/w1ndg/AppServer/profiles/defa ult/logs/ffdc/w1prd_w1ndg_w1prd4g_W1PRD4GS_STC54585 _0000033800005513_a62d461e_14.11.25_06.11.01.5102710740081766807643.txt

34ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Count Time of first Occurrence

Time of last Occurrence

Exception

� Alert can be set on the following message written to SYSLOG –

JVMDUMP039I Processing dump event "systhrow", detai l "java/lang/OutOfMemoryError " at timestamp - please wait

� Javacore, heapdump and trace files are created on zFS file system set JAVA_DUMP_OPTS =ONOUTOFMEMORY(SYSDUMP,HEAPDUMP,JAVADUMP) Can also use this option to limit the number of dumps to be taken.

� Can trigger a JAVACORE, a HEAPDUMP, or a JAVA TDUMP from the MVS console -

F <server>,JAVACORE,ASID=xxxx, where xxxx is the hexadecimal ASID or the address space

� Review your FFDC logs

Page 36: Reasons to Love IBM Java and WebSphere Application Server on z System

Detecting Hung Threads

� Set automatic ‘DISPLAY, WORK’ console command

TOTAL REQUESTS TO SERVER - number of WASz requests processed by server , since it has been up.

TOTAL CURRENT REQUESTS - the total number of requests currently being proce ssed by this server .

TOTAL REQUESTS IN DISPATCH - number of requests currently running in a servant for this server.

TOTAL TIMED OUT REQUESTS - number of timeouts that occurred .

� Check your FFDC logs

� Thread hang recovery diagnostic – how to collect add itional diagnosticsIf you need to know what the request was originally stuck doing in addition to knowing what it was doing when WASz gave up trying to get it to complete, you can enable the server to gather documentation p rior to interrupting the request , by setting the following custom property -

com.ibm.ws390.interrupt.applyDumpActionPreInterrupt to true (1)can be set by clicking Application Servers -> <SERVER> -> Process Definiti on -> Servant -> Java Virtual Machine -> Custom Pro perties .

35ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

F server, DISPLAY,WORKBBOO0261I TOTAL REQUESTS TO SERVER 1577098 ( DELTA 25689) BBOO0262I TOTAL CURRENT REQUESTS 2 BBOO0263I TOTAL REQUESTS IN DISPATCH 1 BBOO0268I TOTAL TIMED OUT REQUESTS 5 (DELTA 1)

[12/2/14 13:13:08:144 CST] FFDC Exception:com.ibm.ejs.ras.NativeMessageOverflowExceptionSourceId:com.ibm.ejs.ras.CB390TraceEventListener.processEvent ProbeId:NativeMessageOverflow_4com.ibm.ejs.ras.NativeMessageOverflowException: Trace:BBOO0221W: WSVR0605W: Thread "WebSphere WLM Dispatch Thread t=009b9140" (0000006e) has been active for 702903 milliseconds and may be hung. There is/are 5 thread(s) in total in the server that may be hung .

Page 37: Reasons to Love IBM Java and WebSphere Application Server on z System

Enhanced Monitoring and Diagnostics with Java V7.1

� Enhancements to the JVM dump API : � An improved API enables Java applications to contro l and capture dump diagnostics more easily � Can specify dump file names when triggering dumps a t run time � Can set and query JVM dump options using the API

� Additional information in javacore dumps : � Additional content of environment and thread sectio ns in the javacore dump aids first failure diagnosi s

� New trace messages : � The diagnostics trace component is improved � A set of new messages is now available to support p roblem diagnosis

� Improved performance of SDK method trace : � Increased application throughput when tracing enabl es a powerful SDK facility for investigating Java

application flow

� Improved JIT diagnostics : � A new JIT dump allows more rapid investigation and first failure diagnosis of JIT problems

36ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 38: Reasons to Love IBM Java and WebSphere Application Server on z System

Specialty Engines on z Systems

� Specialty engines available on z Systems � zAAP (Application Assist Processor) - specialized processing engine that provides a strategic z/OS Java

execution environment like WebSphere Application server on z/OS.

� zIIP (Integrated Information Processors) - provides an execution environment that accepts eligible work from z/OS. Workload Manager on z/OS (WLM) manages and directs the work between the General Purpose (CP) processor and zIIP specialty engines. DB2 for z/OS exploits the zIIP capability for portions of eligible workloads.

� IFL (Integrated Facility for Linux) - allows you to purchase additional processing capacity for Linux on z Systems workloads, without increasing IBM software charges for the existing z Systems environment.

� Benefits of using specialty engines� Much lower acquisition and maintenance costs, when compared with CP� zAAP/zIIP engines run at full rated CP speed� Offload work (CPU) from CP engines, provides more CP for other work� Offload of work to specialty engines is transparent to applications� No cost for Sub-Capacity eligible IBM software� Lowers the overall cost of computing for WebSphere Application Server and other Java

technology-based applications; through hardware, so ftware and maintenance savings

� Capacity Planning� IBM has modified the ratio of zIIP/zAAPs to CPs to b e 2:1 for a zEC12 and/or zBC12. For z196

and z114 and older, a zIIP to CP ratio is still of no more than 1:1; the number of zIIPs cannot exceed the number of CPs.

� IBM zEC12 and zBC12 are planned to be the last z Sy stems servers to offer support for zAAP specialty engine processors. IBM intends to continu e support for running zAAP workloads on zIIP processors (zAAP on zIIP) - should consider planning for further use of zIIPs or alternatively, zAAPs on zIIPs.

37ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 39: Reasons to Love IBM Java and WebSphere Application Server on z System

zAAP on zIIP capability

� Beginning with z/OS V1.11, z/OS added a capability that can enable zAAP eligible workloads to run on zIIPs , so that you can run BOTH zIIP- and zAAP-eligible workloads on the zIIP.

� This capability can be beneficial when you have zAAP and zIIP-eligible workloads and combined eligible workloads may make the acquisitio n of a zIIP more cost effective

� If you are using zAAP engines now and turn off crossover to CP, you will loose the ability to disable crossover when using zA AP on zIIP

� New ZZ system parameter : ZAAPZIIP=YES - this function allowed both zIIP & zAAP-eligible workloads to process on zIIP

� Setup –SYS1.PARMLIB(IEAOPTxx) controls the zAAP behavior -

� IFAHONORPRIORITY now based on IIPHONORPRIORITY (APAR OA20045 added IIPHONORPRIORITY to IEAOPTxx)

� No IFAACROSSOVER – can not disable crossover to CP, only applicable to zAAPs� IBM APAR OA38829 for z/OS V1.12 and z/OS V1.13 removes the restriction that prevents zAAP-eligible workloads

from running on zIIP processors when a zAAP is installed on the server. zAAP on zIIP is now allowed when there is at least one zIIP.

� May need to revisit zIIP and zAAP WLM weights

38ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 40: Reasons to Love IBM Java and WebSphere Application Server on z System

Summary

39ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

� Migrating from WAS on z/OS V7.0 to V8.5.5.x using Ja va V6.0.1 can result in up to 30% CPU saving , depending on what functionally your Application is using

� Applications with the small Heap size may benefit ru nning in 31 bit mode

� Take advantage on Pageable Large Page Support and F lash Express – we saw 4.4% CPU reduction

� Tune your JVMs for optimum performance – we saw over 10% CPU reduction with proper tuning

� Upgrade to WAS on z/OS V8.5.5.2 or higher and take a dvantage of Java V7.1 – we observed 20% throughput improvement and 10-12% CPU reduction

� Analyze your GC performance with PMAT or GCMV and watch out for Java OOM conditions, that can increase CPU usage considerably, due to excessive GC overhead

Page 41: Reasons to Love IBM Java and WebSphere Application Server on z System

Mobile Enablement using WebSphere Application Server on Linux on z Systems

In 2014 the number of worldwide mobile users reached over 5.6 billion

Mobile devices in use, including both phones and tablets, will grow from over 7.7 billion in

2014 to over 12.1 billion by 2018*

* - source http://www.radicati.com/wp/wp-content/uploads/2014/01/Mobile-Statistics-Report-2014-2018-Executive-Summary.pdf

Page 42: Reasons to Love IBM Java and WebSphere Application Server on z System

Reasons to Love Linux on z Systems

� z/VM has higher server consolidation ratio with sup port for more virtual servers than any other platform in a single Footprint

� z/VM 6.3 release supports 1TB real memory per LPAR and can put even more Linux guests and WebSphere instances in a single LPAR mak ing this one of the most cost effective and efficient platforms for running WebSphere

� Better performance for large virtual machines - 4x increase in memory scalability while continuing to maintain nearly 100% resource utilization

� Reduce LPAR sprawl for additional horizontal scalability - up to 4x more virtual machines in a single LPAR depending on workload characteristics

� Reduced administrative expense for management of a smaller number of large capacity z/VM host servers

� Ability to share WAS product binaries across multip le Linux Instances hosted by z/VM

� Cloud in the box - the infrastructure can grow insid e the existing z Systems server by adding system resources on the fly , without affecting the running environment

� Ability to access z/OS data across Hypersockets

� The built in processor failover capabilities built into both memory and processor capabilities

� With new IBM z13 hardware z/VM V6.3 has been enhanc ed to exploit simultaneous multithreading (SMT) offered on the new processor chip

� z13 is designed for scaling with up to 30% throughput improvement for IFL and up to 40% ca pacity improvement for specialty engines using simultaneous multithreading compared to the same processor types on zEC12

41ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 43: Reasons to Love IBM Java and WebSphere Application Server on z System

Worklight on Linux on z Systems

� We are considering to exploit Worklight V6.2 (now renamed to IBM MobileFirst platform) on Linux on z Systems utilizing z/VM V6.3 and WAS V8.5.5.2

� Worklight is a comprehensive mobile enterprise appl ication platform that specifically enables the development of mobile applications

� Includes mobile-optimized middleware that serves as a gateway between the mobile application and back-end systems

� Worklight adapter framework can automatically conve rt between the protocols that are commonly used in mobile apps (for example, JSON over HTTP) and the protocols that are used by the back-end services (for example, SOAP over HTTP, JMS, or SQL)

� Why run Worklight on Linux on z Systems?

� Co-location of the Worklight server application with data and transactions on z/OS, which reduces the latency of access to z/OS data. Real data is accessed and NOT a copy of it.

� Hipersockets provides the lowest latency - running at memory speed communication between Worklight applications and z/OS backend systems, like CICS, DB2, MQ. Hipersockets also eliminate the need to encrypt traffic between Worklight and z/OS.

� Availability and scalability of z/Linux - rapid and automatic scalability for mobile workloads that benefit from the virtualization capabilities of Linux on z Systems, that can add more IFL processors in-flight when needed in order to deal with your workloads’ peaks.

� Better performance of Worklight server on zLinux vs distributed platform. See IBM benchmark at https://ibm.biz/BdEV3n

42ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

+ = perfect marriage

Page 44: Reasons to Love IBM Java and WebSphere Application Server on z System

Reference Material

� Knowledge Collection: Migrating to WebSphere Applic ation Server V8.5 -http://www-01.ibm.com/support/docview.wss?uid=swg27 008727

� WP101474 - Threads and excessive CPU consumption in WebSphere Application Server for z/OShttps://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP101474

� My article in - August/September issue 2014 - Improve Your Availability, Scalability and z/OS Mobile Access Wi th WebSphere Application Server V8.5

http://enterprisesystemsmedia.com/article/improve-your-availability-scalability-and-z-os-mobile-access-with-websphere

� IBM 64-bit SDK for z/OS, Java Technology Edition, V 7.1 -http://www-03.ibm.com/systems/z/os/zos/tools/java/p roducts/sdk71_64.html

� Hidden Gems 3: Even More Great But Little Known Fea tures of WebSphere Application Server on z/OS - http://www-01.ibm.com/support/docview.wss?uid=tss1wp101992&aid=1

� The Flash Express Feature on IBM zEnterprise EC12 an d z/OS exploitation of flash storagehttp://www-03.ibm.com/systems/resources/flash.pdf

� Join your local WUG - http://www.websphereusergroup.org/

� Join Chicago North-West Integration and Cloud Compu ting WebSphere User Group , that Cindy Schmoeller (CSC) and Elena Nanos (HCSC) are leading and attend our next on-site meeting on June 11, 2015 - http://www.websphereusergroup.org/chicagonw

43ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 45: Reasons to Love IBM Java and WebSphere Application Server on z System

Other Sessions to Check Out

4358 Implementing IBM Operational Decision Manager Rules in WebSphere Liberty Profile on z/OS

5597How FINA Meets Demands for Continuously Available, Mission-Critical Java Applications on z Systems

4348Why Sparda Datenverarbeitung eG Loves the WebSphere Application Server Liberty Profile on z/OS

5492Predicting the Impact of Mobile Workloads Using Twitter at Westpac Bank

4723ABK-Systeme Brings Innovative Mobile Applications to Financial Services with IBM MobileFirst on z

4515Modernize Your CICS Applications for Mobile and Cloud

4032Meet the Winners of IBM's Mainframe Mobile App Throwdown 2014

3983CICS Java Real-Life Projects, Featuring Datev

3865Cashing in on IBM WebSphere z/OS Caching at PSA Peugeot Citron

28191 Billion Smartphones a year and counting - How is your CICS connected?

2592WebSphere Liberty on z/OS: What's New?

1841WebSphere Liberty Profile Support for Java Batch and the JSR-352 Specification, Featuring Sicoob

6481Java and CICS - A Perfect Match

5853Modernizing CICS - ”Are You Ready Get Your Hands Dirty?”

4577 IBM WebSphere Application Server on z/OS Roundtable Discussion

3978Why Is Java So Different?: A Session for Cobol/PLI/Assembler Developers

3928Developing Java EE Applications for IBM WebSphere Liberty Profile on z/OS with WDT Remote Support

3818Meet the Experts - CICS and WebSphere on z Systems

2829Liberty, Agality, Fraternity Viva the CICS and WebSphere Mini Revolution

1670 IBM WebSphere Liberty z/OS Connect: A Technical Introduction

1531The Economics of New Workloads on the Mainframe

44ASZ-2026 : Reasons to Love IBM Java and WebSphere Application Server on z Systems

Page 46: Reasons to Love IBM Java and WebSphere Application Server on z System

Get a lightning start: Key InterConnect 2015 sessio ns

#2829 Mon 2:00-3:00 Liberté, Égalité, Fraternité—Viva the CICS and WebSphere Mini Revolution

#1670 Tue 3:30-4:30 IBM WebSphere Liberty z/OS Connec t: A Technical Introduction

#4032 Wed 9:30-10:30 Meet the Winners of IBM’s Mainfr ame Mobile App Throwdown 2014

#6482 Thu 11:00-11:50 What is the Mainframe Mobile Ap p Throwdown and How Do I Register?

Register now at

ibm.biz/mmathrowdownand submit your app by April 12th

Mobilize your mainframe in our fun app-building cont est forz Systems clients & business partners!

The Mainframe Mobile App Throwdownis back for 2015!

Page 47: Reasons to Love IBM Java and WebSphere Application Server on z System

Thank YouYour Feedback is

Important!

Access the InterConnect 2015 Conference CONNECT Attendee Portal to complete your session surveys from your smartphone, laptop or conference

kiosk.