java + z + ims - marcel mitran presentation - nyc and toronto feb 2014

36
© 2014 IBM Corporation Java + z + IMS Marcel Mitran – Chief Architect, IBM JVM on System z February, 2014

Upload: ibm-ims

Post on 20-May-2015

4.945 views

Category:

Technology


3 download

DESCRIPTION

Marcel Mitran's presentation on IBM System z Java capabilities and how they work with IMS

TRANSCRIPT

Page 1: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation

Java + z + IMS

Marcel Mitran – Chief Architect, IBM JVM on System zFebruary, 2014

Page 2: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation222

IBM’s statements regarding its plans, directions, and intent are subject to change or withdrawal without notice at IBM’s sole discretion. Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.

IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be trademarks of IBM or other companies. A current list of other IBM trademarks is available on the web at "Copyright and trademark information" at http://www.ibm.com/legal/copytrade.shtml

Other company, product, or service names may be trademarks or service marks of others.

THE INFORMATION CONTAINED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION CONTAINED IN THIS PRESENTATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. IN ADDITION, THIS INFORMATION IS BASED ON IBM’S CURRENT PRODUCT PLANS AND STRATEGY, WHICH ARE SUBJECT TO CHANGE BY IBM WITHOUT NOTICE. IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, THIS PRESENTATION OR ANY OTHER DOCUMENTATION. NOTHING CONTAINED IN THIS PRESENTATION IS INTENDED TO, NOR SHALL HAVE THE EFFECT OF, CREATING ANY WARRANTIES OR REPRESENTATIONS FROM IBM (OR ITS SUPPLIERS OR LICENSORS), OR ALTERING THE TERMS AND CONDITIONS OF ANY AGREEMENT OR LICENSE GOVERNING THE USE OF IBM PRODUCTS OR SOFTWARE.

© Copyright International Business Machines Corporation 2011. All rights reserved.

Trademarks, Copyrights, Disclaimers

Page 3: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation3

IBM and Java

� Java is critically important to IBM– Fundamental infrastructure for IBM’s software portfolio– WebSphere, Lotus, Tivoli, Rational, Information Management

� IBM is investing strategically for Java in virtual machines– As of Java 5.0, single JVM support

• JME, JSE, JEE– New technology base (J9/TR Compiler) on which to deliver improved performance,

reliability, serviceability

� IBM also invests in, and supports public innovation in Java– OpenJDK, Eclipse, Apache (XML, Aries, Derby, Geronimo, Harmony, Hadoop …)– Broad participation in relevant open standards (JCP, OSGi)

Page 4: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation4

Evolving Java on Z

Portable and consumable� First-class IBM Java SDK for z/OS and z/Linux

� Providing seamless portability across platforms

Pervasive and integrated across the z eco-system� Java business logic runs with all z middleware (IMS, CICS, WAS etc)

� Inter-operability with legacy batch and OLTP assets

Deep System Z exploitation� SDK extensions enabled z QoS for full integration with z/OS

� zAAP/zIIP specialty engines provide low-cost Java capacity

Performance� A decade of hardware/software innovation and optimization

� Industry leading performance with IBM J9 Virtual Machine

� Enabling tight data locality for high-performance and simplified systems

Enable integration of Java-based applications with core z/OS backend database environment for high performance, reliability, availability, security, a nd lower total cost of ownership

Page 5: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation5

Java Execution Environments and Interoperability

� IBM Java Execution Offerings– Transactional/Interactive

• WebSphere for z/OS (WAS z/OS)• WebSphere Process Server for z/OS (WPS)• JCICS• IMS Java• DB2 Stored Procedures

– Batch oriented• WebSphere Compute Grid (WAS-CG)

• WAS/JEE runtime extensions• IMS Java Batch regions (JMP)• JZOS component of z/OS SDK

• JES/JSE-based environment• z/OS V1R13 Java/COBOL Batch Runtime

Env.*

• JES/JSE-based, designed to inter-op with DB2 while maintaining transaction integrity

� Open Source or non-IBM vendor Application Server and Frameworks

– Tomcat, JBoss– iBatis, Hibernate, Spring– Ant

� Capitalize on pre-existing assets, artifacts, processes, core competencies, platform strengths

� COBOL/Native Interoperability– COBOL Invoke maps to JNI– RDz and JZOS** have tooling to

map COBOL copy books to Java classes

– JCICS– IMS Java, JMP/JBP– WAS CG, WOLA– etc

* See http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?subtype=ca&infotype=an&supplier=897&letternum=ENUS211-252

** Alphaworks only, and hence currently un-supported

Page 6: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation6

1999

2009

1998

2001

2003

2005

2007

SDK1.4 1. 31-bit z/OS and 31-bit and 64-bit Linux on z2. GA 4Q20023. z/OS End of Marketing September, 20084. z/OS End of Service September, 2011

31-bit and 64-bit SDK 51. IBM J9 2.3 VM and JIT Technology2. z9 Exploitation3. GA 4Q20054. z/OS and Linux on z

31-bit SDK1.1.81. OS/390 GA 19992. Out of service

31-bit and 64-bit SDK 6 , V6.0.01. Supplies Java SE 6 APIs2. z10 Exploitation3. IBM J9 2.4 VM and JIT Technology4. GA 4Q20075. z/OS and Linux on z

31-bit SDK1.3.11. z/OS and Linux on z2. GA 3Q20003. End of Service: September, 2007

z/OS 64-bit SDK 1.4.21. IBM J9 2.2 VM and JIT Technology (1st product use)2. GA 4Q20043. End of Service September, 2008

31-bit SDK1.1.1, then 1.1.4 and 1.1.61. First OS/390 Java product – GA 19972. Out of service

2014

31-bit and 64-bit z/OS Java SDK 6 V6.0.1

1. Supplies Java SE 6 APIs2. z196 Exploitation3. New IBM J9 2.6 VM and JIT Technology4. Enhanced JZOS and z/OS Security5. z/OS Java products, GA March 2011:

System z Java Product Timeline

31-bit and 64-bit Java SDK 7.x1. z/OS and Linux on z2. Supplies Java SE 7 APIs3. OpenJDK4. z196/zEC12 Exploitation5. New IBM J9 2.6/2.7 VM and JIT

Technology6. GA Oct 2011

Testimonials: http://www-01.ibm.com/software/os/systemz/testimonials/

IBM continues to invest aggressively in Java for System z, demonstrating a rich history of innovation and performance improvements.

Page 7: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation7

z/OS – System z Java Extensions

All SDKs support the ‘standards’, Java on z/OS exte nds the SDK� Access to z/OS services� Access to all types of data� Access under control of z/OS security mechanisms� Integration into existing operational infrastructure

Services available in JEE and JSE environments under the restrictions of the container.

SDKz/OS

Extensions

SDKBase

Function

System specific extension allow you to write robust middleware and applications that integrate with traditional z/OS operating envi ronment

� Allow for maintaining platform independent design development.� Platform specific implementations when required� Allows for operational and resource optimization

e.g. JAAS wrapper of SAF (RACF, ACF2, or TopSecret), Traditional OS dataset access, Cryptographic hardware (Cards and CPACF), z/OS Console (modify and messages), z/OS system logger, JES job submission, DFSORT, SMF, etc.

Page 8: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation8

IBM Java Runtime Environment

� IBM’s implementation of Java 5 and Java 6 are built with IBM J9 Virtual Machineand IBM Testarossa JIT Compiler technology

• Independent clean-room JVM runtime & JIT compiler

� Combines best-of breed from embedded, development and server environments…from a cell-phone to a mainframe!

• Lightweight flexible/scalable technology• World class garbage collection – gencon, balanced GC policies

• Startup & Footprint - Shared classes, Ahead-of-time (AOT) compilation

• 64-bit performance - Compressed references & Large Pages• Deep System z exploitation – zEC12/z196/z10/z9/z990 exploitation

• Cost-effective for z - zAAP Ready!

� Millions of instances of J9/TR compiler

Page 9: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation9

Java Road Map

Language UpdatesJava 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/Java7.0 (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 Java7.0SR3• Improvements in

• Performance• zEC12™ Exploitation

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

IBM Java7.1• Improvements in

• Performance• RAS• Monitoring

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

• Data Access Accelerator

Page 10: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation10

zEC12 – More Hardware for Java

Continued aggressive investment in Java on Z

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

Hardware Transaction Memory (HTM) Better concurrency for multi-threaded applicationseg. ~2X improvement to juc.ConcurrentLinkedQueue

Run-time Instrumentation (RI)Innovation new h/w facility designed for managed runtimes Enables new expanse of JRE optimizations

2GB page framesImproved performance targeting 64-bit heaps

Pageable 1M large pages with Flash ExpressBetter versatility of managing memory

Shared-Memory-CommunicationRDMA over Converged Ethernet

zEnterprise Data Compression acceleratorgzip accelerator

New software hints/directives/trapsBranch preload improves branch predictionReduce overhead of implicit bounds/null checks

New 5.5 GHz 6-Core Processor Chip

Large caches to optimize data serving

Second generation OOO design

Up-to 60% improvement in throughput amongst Java workloads measured with zEC12 and Java7SR3

Engineered Together—IBM Java and zEC12 Boost Worklo ad Performancehttp://www.ibmsystemsmag.com/mainframe/trends/whats new/java_compiler /

Page 11: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation11

Storage conflict: Tran A will abortTran B will commit changes to X and Y

Hardware Transactional Memory (HTM)

� Allow lockless interlocked execution of a block of code called a ‘transaction’– Transaction: Segment of code that appears to execute ‘atomically’ to other CPUs

• Other processors in the system will either see all-or-none of the storage up-dates of transaction

� How it works:– TBEGIN instruction starts speculative execution of ‘transaction’– Storage conflict is detected by hardware if another CPU writes to storage used by the transaction– Conflict triggers hardware to roll-back state (storage and registers)

• transaction can be re-tried, or• a fall-back software path that performs locking can be used to guarantee forward progress

– Changes made by transaction become visible to other CPUs after TEND

TBEGIN

load Y

load X

TEND

CPU 0: Tran AX = Y = 0;

TBEGIN

X = 1

store X

Y = 1

store Y

TEND

CPU 1: Tran B

CPU 0 can only see (X=Y=0) or (X=Y=1) , cannot see (X=1,Y=0) or (X=0,Y=1)

Page 12: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation12

Transaction Lock Elision on HashTable.get()Java Prototype

2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Threads

Th

roug

hpu

t (o

ps/s

ec)

HTM Example: Transactional Lock Elision (TLE)

Threads must serialize despite only reading… just in-case a writer updates the hash

read_hash(key) {

Wait_for_lock();

read(hash, key);

Release_lock();

}

Thr1: read_hash()

Thr2: read_hash()

Thr3:read_hash()

T

Lock elision allows readers to execute in parallel, and safely back-out should a writer update hash

read_hash(key)

TRANSACTION_BEGIN

read hash.lock;

BRNE serialize_on_hash_lock

read (hash, key);

TRANSACTION_END

Thr1: read_hash() … Thr3: read_hash()

T’

Page 13: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation1313

z/OS Java SDK 7:16-Way Performance64-bit Java Multi-threaded Benchmark on 16-Way

(Controlled measurement environment, results may vary)

Aggregate 60% improvement from zEC12 and Java7SR3

� zEC12 offers a ~45% improvement over z196 running t he Java Multi-Threaded Benchmark

� Java7SR3 offers an additional ~13% improvement (-Xaggressive + Flash Express pageable 1Meg large pa ges)

z/OS 1.13 Multi-Threaded 64 bit Java Workload~60% Hardware (zEC12) and Software (SDK 7 SR3) Impr ovement

0

20

40

60

80

100

120

140

160

1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32

Threads

Nor

mal

ized

Thr

ough

put

zEC12 SDK 7 SR3Aggressive + LP Code Cache

zEC12 SDK 7 SR1

z196 SDK 7 SR1

Page 14: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation1414

z/OS Java SDK 7: 16-Way PerformanceAggregate HW and SDK Improvement z9 Java 5 SR5 to zEC12 Java 7SR3

(Controlled measurement environment, results may vary)

~12x aggregate hardware and software improvement co mparing Java5SR5 on z9 to Java7SR3 on zEC12LP=Large Pages for Java heap CR= Java compressed references

Java7SR3 using -Xaggressive + Flash Express pageable 1Meg large pages

z/OS Multi-Threaded 64 bit Java Workload 16-Way ~12x Improvement in Hardware and Software

0

20

40

60

80

100

120

140

160

1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32

Threads

Nor

mal

ized

Thr

ough

put

zEC12 SDK 7 SR3Aggressive + LP Code Cache zEC12 SDK 7 SR1

z196 SDK 7 SR1

z196 SDK 6 SR8

z10 SDK 6 SR4

z10 SDK 6 GM NO (CR or Heap LP)

z9 Java 5 SR5 NO (CR or Heap LP)

Page 15: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation15

TradeLite Servlet and JSP WAS8.5 and WAS8.5 Liberty Profile on zEC12 with Jav a7SR3

0%

20%

40%

60%

80%

100%

120%

140%

160%

180%

200%

WAS8.5 on z196 WAS8.5 on zEC12 WAS8.5 Liberty on z196 WAS8.5 Liberty onzEC12 + Java7SR3

Thr

ough

put

(Nor

mal

ized

to W

AS

8.5

on z

196)

83%

15

WAS on z/OS – Servlets and JSPs with the Liberty Profile**

(Controlled measurement environment, results may vary)

� WAS8.5 Liberty on zEC12 using Java7SR3 vs WAS8.5 on z196 running TradeLite demonstrates a 83% improvement to Servlet and JSP throughput.

� WAS8.5 Liberty offers up to 5x start-up time reduct ion vs. WAS8.5 (<5 seconds)

� WAS8.5 Liberty offers reduced real-storage requirem ents up to 81% vs. WAS8.5 (80M versus 420M)

** See backup charts for list of Liberty Profile capabilities

++ Java7SR3 using -Xaggressive + Flash Express pageable 1Meg large pages

Java7SR3

zEC12

WAS Liberty

Page 16: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation16

JCICS and Java7SR3 on zEC12

� Using complex Java workload –Axis2 webservice

� Equivalent throughput using CICS V5.1 on z196 compared to CICS V4.2

� 30% improvement in throughput using CICS V5.1 on zEC12 compared to CICS V4.2 on z196

� 39% improvement in throughput using CICS V5.1 with Java 7 zEC12 exploitation compared to CICS V4.2 on z196

0

500

1000

1500

2000

2500

3000

3500

thro

ughp

ut (

ITR

) CICS V4.2 z196

CICS V5.1 z196

CICS V5.1 zEC12

CICS zEC12 +exploitation

+30%

+39%

higher is better

0

500

1000

1500

2000

2500

3000

3500

thro

ughp

ut (

ITR

) CICS V4.2 z196

CICS V5.1 z196

CICS V5.1 zEC12

CICS zEC12 +exploitation

+30%

+39%

higher is better

(Controlled measurement environment, results may vary)

Page 17: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation17

IMS JMP region performanceHardware stack improvements

(Controlled measurement environment, results may vary)

IMS Java - Hardware stack improvements

19838

14754

0

5000

10000

15000

20000

25000

z196 zEC12

ET

R (

Tra

n/S

ec)

Up to 32% ETR throughput increase moving same workload

(Controlled measurement environment, results may vary)

Page 18: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation18

IMS JMP region performanceAggregate SDK, software and hardware improvements

Over 4x aggregate throughput improvement from 2009 to 2012 due to the following enhancements

� Java version to version performance improvements

� IMS improvements

� Hardware improvements

� DASD improvements(Controlled measurement environment, results may vary)

IMS Java transaction throughput from 2009 to 2012

4191

7600 84489389

12540

19838

0

5000

10000

15000

20000

25000

Jun-08 Dec-08 Jul-09 Jan-10 Aug-10 Feb-11 Sep-11 Apr-12 Oct-12

Timeline

ET

R (

Tra

n/S

ec)

Page 19: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation19

Java 7.1 - IBM SDK for z/OS, Java Tech. Edition, Version 7 Release 1

� Expands on zEC12/zBC12 instruction and facility exp loitation– More TX, instruction scheduler, traps, branch preload– Runtime instrumentation exploitation– zEDC exploitation through java/util/zip– Integration of SMC-R

� Improved general performance/throughput– Up-to 19% improvement to throughput– Up-to 2.4x savings in CPU-time for record parsing batch application

� Improved native data binding - Data Access Accelerat or– Integrated with JZOS native record binding framework

� Improved WLM capabilities

� Improved SAF and cryptography support

� Additional reliability, availability, and serviceab ility (RAS) enhancements

� Enhanced monitoring and diagnostics

http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS213-498&appname=USN

Page 20: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation20

Java-based Store, Inventory and Point-of-Sale Application

� 10% improvement to Java-based Inventory and Point-of-Sale application with Java 7.1 compared to Java 7 SR4

(Controlled measurement environment, results may vary)

Java Store, Inventory and Point-Of-Sale Application zEC12 16-way

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

Java 7 SR4 Java 7.1

Nor

mal

ized

Max

imum

Ope

ratio

ns p

er s

econ

d

Page 21: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation21

IBM Operational Decision Manager

� 19% improvement to ODM with Java 7.1 compared to Java 7 SR4

(Controlled measurement environment, results may vary)

IBM Operational Decision Management zEC12 16-way

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

1.1

1.2

1.3

1.4

Java 7 SR4 Java 7.1

Thr

ough

put

(Nor

mal

ized

to

Java

7 S

R4)

Page 22: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation22

Store your Data - zEnterprise Data Compression (zEDC) in Java 7.1

** IDC: The Digital Universe in 2020: Big Data, Bigger Digital Shadows, and Biggest Growth in the Far East

Up-to 12x improvement in CPU timeUp-to 3x improvement in elapsed timeCompression ratio of ~4x

CPU Time for Software versus zEDC Hardware Compress ion

-

20,000

40,000

60,000

80,000

100,000

120,000

140,000

160,000

F1 F2 F3

Compressed Data File

CP

U T

ime

Mill

isec

onds

Software Default

Software Level 1

zEDC Hardware

Size of Compressed Data - Software versus zEDC Hard ware

-

500

1,000

1,500

2,000

2,500

3,000

3,500

4,000

4,500

F1 F2 F3

Compressed Data File

Dat

a Siz

e in

Bytes Input Buffer

Software Default

Software Level 1

zEDC Hardware

What is it? � zEDC Express is an IO adapter

that does high performance industry standard compression

� Used by z/OS Operating System components, IBM Middleware and ISV products

� Applications can use zEDC

via industry standard APIs (zlib and Java)

� Each zEDC Express sharable

across 15 LPARs, up to 8 devices per CEC.

� Raw throughput up to 1 GB/s per

zEDC Express Hardware Adapter

Every day over 2000 petabytes of data are createdBetween 2005 to 2020, the digital universe will grow by 300x, going from 130 to 40,000 exa-bytes**80% of world's data was created in last two years alone.

(Controlled measurement environment, results may vary)

Page 23: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation23

� Transparent exploitation for TCP sockets based applications � Compatible with existing TCP/IP based load balancing solutions� Up-to 40% reduction in end-to-end transaction latency� Slight increase in CPU is due to very small message size in this workload (~100 bytes). Workloads with larger

payloads are expected to show a CPU savings

Move your Data - Shared Memory Communications (SMC-R):

Exploit RDMA over Converged Ethernet (RoCE) with qualities of service support for dynamic failover to redundant hardware

SMC-R vs TCP/IP (OSA)W AS Libe rty< ->DB2 W orkloa d

-40.00%

3.11%

-45.00%

-40.00%

-35.00%

-30.00%

-25.00%

-20.00%

-15.00%

-10.00%

-5.00%

0.00%

5.00%

10.00%

Latency CPU Consumption per tran

Per

cent

Cha

nge

SMC-R vs TCP/IP (OSA) (40 ClientConnections)

OSA RNIC

TCP

IP

Interface

SMC-R

Sockets

Middleware/Application

System z

IP Network

(Ethernet)

RDMA Network

RoCE (CEE)

ETH RNIC

TCP

IP

Interface

SMC-R

Sockets

Middleware/Application

SMC-R enabled platform

TCP connection establishment over IPDynamic negotiation for SMC -R

Data Flows using RDMAover RoCE

OSA RNIC

TCP

IP

Interface

SMC-R

Sockets

Middleware/Application

System z

IP Network

(Ethernet)

RDMA Network

RoCE (CEE)

ETH RNIC

TCP

IP

Interface

SMC-R

Sockets

Middleware/Application

SMC-R enabled platform

TCP connection establishment over IPDynamic negotiation for SMC -R

Data Flows using RDMAover RoCE

(Controlled measurement environment, results may vary)

Page 24: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation24

Transform your Data - Data Access Accelerator in Java 7.1

A Java library for bare-bones data conversion and arithmetic

Operates directly on byte arrays

No Java object tree created

Orchestrated with JIT for deep platform opt.

Avoids expensive Java object instantiation

Library is platform and JVM-neutral

Current Approach:byte[] addPacked(array a[], array b[]) {

BigDecimal a_bd = convertPackedToBd(a[]);

BigDecimal b_bd = convertPackedToBd(b[]);

a_bd.add(b_bd);

return (convertBDtoPacked(a_bd));

}

Proposed Solution:

byte[] addPacked(array a[], array b[]) {

DAA.addPacked(a[], b[]);

return (a[]);

}

Marshalling and Un-marshallingTransform primitive type (short, int, long, float, double) � byte array

Support both big/little endian byte arrays

Packed Decimal (PD) OperationsArithmetic: +, -, *, /, % on 2 PD operands

Relation: >,<,>=,<=,==,!= on 2 PD operands

Error checking: checks if PD operand is well-formed

Other: shifting, and moving ops on PD operand

Decimal Data Type ConversionsDecimal � Primitive: Convert Packed Decimal(PD), External

Decimal(ED), Unicode Decimal(UD) �primitive types (int, long)

Decimal � Decimal: Convert between dec. types (PD, ED, UD)

Decimal �Java: Convert dec. types (PD, ED, UD) �BigDecimal, BigInteger

Page 25: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation25

DAA – JZOS Medicare Record Benchmark

� 31-bit Java 7.1 with DAA versus Java 7 SR4 CPU Time improved by by 2.4x

� 64-bit Java 7.1 with DAA versus Java 7 SR4 CPU Time improved by by 1.9xhttp://www.ibm.com/developerworks/java/zos/javadoc/jzos/index.html?com/ibm/jzos/sample/fields/MedicareRecord.html

(Controlled measurement environment, results may vary)

JZOS Medicare Record Parsing Benchmark

0

0.2

0.4

0.6

0.8

1

1.2

31-bit 64-bit

CP

U-ti

me

to P

arse

5M

Rec

ords

(N

orm

aliz

ed to

31-

bit J

ava

7 S

R4

w/o

DA

A)

Java 7 SR4

Java 7.1

Page 26: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation26

Java8: Language Innovation – Lambdas and Parallelism

New syntax to allow concise code snippets and expre ssion– Useful for sending code to java.lang.concurrent– On the path to enabling more parallelisms

http://www.dzone.com/links/presentation_languagelibraryvm_coevolution_in_jav.html

Page 27: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation27

Economies of Scale for Java in the Cloud

Hardware

OS Images

Middleware

Application

Hardware

OS Images

Middleware

Application

Hardware

OS Images

Middleware

Application

OS Images

Middleware

Application

Hardware

OS Image

Middleware

Application

Middleware

Application

Hardware

OS Image

Middleware (e.g. WAS)

Application Application

Share-nothing(maximum isolation)

Shared hardware Shared OS Shared Process

Hardware

OS Image

Middleware (e.g. WAS)

Application

Tenant Tenant

Share-everything(maximum sharing)

Density

-Xshareclasses -Xshareclasses

Tenant API

‘Mission critical’apps

‘free’ apps

1+ GB / tenant 100’s MB / tenant1+ GB / tenant 10’s MB / tenant 10’s KB / tenant

Timelines and deliveries are subject to change.

Page 28: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation28

Multitenancy : IBM's approach to 'Virtualized JVMs'

� A standard 'java' invocation creates a dedicated (non-shared) JVM in each process

java1

JVM

java2

JVM

java3

JVM

java1

proxy

javad

JVM

java1

proxy

java1

proxy

� IBM's Multitenant JVM puts a lightweight 'proxy' JVM in each 'java' invocation. The 'proxy' knows how to communicate with the shared JVM daemon called javad.

� 'javad' is launched and shuts down automatically

� No changes required to the application

� 'javad' process is where aggressive sharing of runtime artifacts happens

Page 29: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation29

Questions?

29

Page 30: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation30

Page 31: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation3131

Important references

� z/OS Java web site– http://www.ibm.com/systems/z/os/zos/tools/java/

� IBM SDK Java Technology Edition Version 7 Information Center– http://publib.boulder.ibm.com/infocenter/java7sdk/v7r0/index.jsp

� IBM SDK Java Technology Edition Version 6 Supplement– http://public.dhe.ibm.com/common/ssi/ecm/en/zsl03118usen/ZSL03118USEN.PDF

� JZOS Batch Launcher and Toolkit Installation and User’s Guide (SA38-0696-00) – For JZOS function included in IBM Java SE 7 SDKs for z/OS– http://publibz.boulder.ibm.com/epubs/pdf/ajvc0110.pdf

� JZOS Batch Launcher and Toolkit Installation and User’s Guide (SA23-2245-03)– For JZOS function included in IBM Java SE 6 and SE 5 SDKs for z/OS– http://publibfi.boulder.ibm.com/epubs/pdf/ajvc0103.pdf

Java on zEC12

Page 32: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation3232

New and existing supported Java products – z/OS

� IBM 31-bit SDK for z/OS, Java Technology Edition, Version 7 Release 1– Web available on December, 2013 at Java SE 7 level– Product 5655-W43, supported on z/OS V1.12 and above

� IBM 64-bit SDK for z/OS, Java Technology Edition, Version 7 Release 1– Web available on December, 2013 at Java SE 7 level– Product 5655-W44, supported on z/OS V1.12 and above

� IBM 31-bit SDK for z/OS, Java Technology Edition, Version 7.0– Web available on October 4, 2011 at Java SE 7 level– Product 5655-W43, supported on z/OS V1.10 and above

� IBM 64-bit SDK for z/OS, Java Technology Edition, Version 7.0– Web available on October 4, 2011 at Java SE 7 level– Product 5655-W44, supported on z/OS V1.10 and above

� IBM 31-bit SDK for z/OS, Java Technology Edition, Version 6.0.1– Web available on March 15, 2011 at Java SE 6 level– Product 5655-R31, supported on z/OS V1.10 and above

� IBM 64-bit SDK for z/OS, Java Technology Edition, Version 6.0.1– Web available on March 15, 2011 at Java SE 6 level– Product 5655-R32, supported on z/OS V1.10 and above

� IBM 31-bit SDK for z/OS, Java Technology Edition, Version 6.0.0– Web available on December 14, 2007 at Java SE 6 level– Product 5655-R31

� IBM 64-bit SDK for z/OS, Java Technology Edition, Version 6.0.0– Web available on December 14, 2007 at Java SE 6 level– Product 5655-R32

� IBM 31-bit SDK for z/OS, Java 2 Technology Edition, Version 5.0 – Web available on November 30, 2005 – Product 5655-N98

� IBM 64-bit SDK for z/OS, Java 2 Technology Edition, Version 5.0 – Web available on November 30, 2005– Product 5655-N99

� All products are delivered via the z/OS Java website in non-SMP/E format and via ShopIBM in SMP/E format

� All products are independently orderable and serviceable and follow the z/OS RFA rules for Withdrawal from Marketing and End of Service

Java on zEC12

Page 33: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation33

Transactional Execution: Concurrent Linked Queue

� ~2x improved scalability of juc.ConcurrentLinkedQue ue

� Unbound Thread-Safe LinkedQueue– First-in-first-out (FIFO)

• Insert elements into tail (en-queue)• Poll elements from head (de-queue)

– No explicit locking required

� Example usage: a multi-threaded work queue– Tasks are inserted into a concurrent linked queue as multiple worker threads

poll work from it concurrently

head

node

node

node

tail

….

last node

En-queue

first node

De-queue

New TX-base implementation

Traditional CAS-base implementation

(Controlled measurement environment, results may vary)

Page 34: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation34

START:IA1 BR THERE

HERE:IA10 LRIA11 LRIA12 ARIA13 collect GR1

….IA25 L � Sample

….

THERE:IA100 ….

ST…

IA200 BR HERE…

IA1IA100

Circular

Collection Buffer

IA200IA10

IA13GR1CB head

Event Tracing

Just-in-time Compiler

Profiler

Immediate representation generator

Optimizer

Code generator

Runtime

� Low overhead profiling with hardware support– Instruction samples by time, count or explicit marking

� Sample reports include hard-to-get information :– Event traces, e.g. taken branch trace – “costly” events of interest, e.g. cache miss information– GR value profiling

� Enables better “self-tuning” opportunities

Runtime Instrumentation

EventTrace

InstrumentationcontrolsInstruction

processing Pre-allocatedstorage

1 (setup)

2

3

45

6 (analyze)

CPU

JVM

GC

Bytecodes

Java on zEC12

Page 35: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation35

WAS on z/OS – DayTraderAggregate HW, SDK and WAS Improvement: WAS 6.1 (Java 5) on z9 to WAS 8.5 (Java 7) on zEC12

(Controlled measurement environment, results may vary)

6x aggregate hardware and software improvement comp aring WAS 6.1 Java5 on z9 to WAS 8.5 Java7SR4 on zEC 12

Page 36: Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014

© 2014 IBM Corporation36

Liberty feature set as of V8.5.5

36

WAS V8.5.5 Liberty Profile

Application Manager

HTTP TransportFeature Manager