31
IBM Java on System z Session 12353 Marcel Mitran, STSM, Chief Architect IBM JVM on System z Ken Irwin, IBM, zOS Java L2 Service Support

Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

IBM Java on System zSession 12353

Marcel Mitran, STSM, Chief Architect IBM JVM on System zKen Irwin, IBM, zOS Java L2 Service Support

Page 2: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

22

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: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

3

IBM and Java

• Java is critically important to IBM• Fundamental infrastructure for IBM’s software portfolio• Websphere, Lotus, Tivoli, Rational, Information Management (IM)

• 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, Harmony, Tuscany, Hadoop …)• Broad participation in relevant open standards (JCP, OSGi)

Page 4: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

4

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 20147.0

• Language improvements • Closures for simplified fork/join

Java 8.0**

SE

601/

7.x

>= 2

0 pl

atfo

rms

IBM Java7.0SR3/Java.Vnext**• Improvements in

• Performance• GC Technology

• zEC12™ Exploitation• Transactional Execution• Runtime Instrumentation• Flash 1Meg pageable LPs• 2G large pages• Hints/traps

• Data Access Accelerator• Cloud: Multi-tenancy/Virtualization

Page 5: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

5

Java Execution Environments and Interoperability

IBM Java Execution OfferingsTransactional/Interactive

WebSphere for z/OS (WAS z/OS)WebSphere Process Server for z/OS (WPS)JCICSIMS JavaDB2 Stored Procedures

Batch orientedWebSphere Compute Grid (WAS-CG)

WAS/JEE runtime extensions

JZOS component of z/OS SDKJES/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, SpringAnt

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

COBOL/Native InteroperabilityCOBOL Invoke maps to JNI

RDz and JZOS** have tooling to map COBOL copy books to Java classes

JCICS

IMS Java, JMP/JBP

WAS CG, WOLAetc

* 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: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

6

IBM Java Runtime Environment

• IBM’s implementation of Java 5/6/7 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 7: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

7

zEC12 – More Hardware for Java

Continued aggressive investment in Java on ZSignificant 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 1MB large pages using flashBetter versatility of managing memory

New software hints/directivesData usage intent improves cache managementBranch pre-load improves branch prediction

New trap instructionsReduce over-head of implicit bounds/null checks

New 5.5 GHz 6-Core Processor Chip Large caches to optimize data servingSecond 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 8: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

8

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

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

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 9: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

9

Transaction Lock Elision on HashTable.get()Java Prototype

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

Threads

Thr

ough

put (

ops/

sec)

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 10: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

10

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 11: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

11

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)

Page 12: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

12

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

(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.00

20.00

40.00

60.00

80.00

100.00

120.00

140.00

160.00

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 (LP CR)

z9 Java 5 SR5 no (LP CR)

Page 13: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

1313

z/OS Java SDK 7: CPU-Intensive Benchmark

(Controlled measurement environment, results may vary)

zEC12 and Java7SR3 offer a ~40% composite improveme nt over z196 running the CPU Intensive benchmark

� zEC12 offers a ~33% improvement over z196 running t he CPU-Intensive Benchmarks

� Java7SR3 offers an additional ~5% improvement (-Xaggressive + Flash Express pageable 1Meg large pag es)

Page 14: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

14

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

(Controlled measurement environment, results may vary)

~5x aggregate hardware and software improvement com paring WAS 6.1 Java5 on z9 to WAS 8.5 Java7SR1 on z EC12

Page 15: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

15

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

0.00%

20.00%

40.00%

60.00%

80.00%

100.00%

120.00%

140.00%

160.00%

180.00%

200.00%

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%

WAS on z/OSServlets 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)

Java7SR3

zEC12

WAS Liberty**

Page 16: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

16

JCICS with Java7SR3 and 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

More than a third of CICS customers are using JCICS

Page 17: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

17

IMS JMP Region with Java7SR3 and zEC12

(Controlled measurement environment, results may vary)

IMS Java - Hardware stack improvements (2012)

19838

14754

0

5000

10000

15000

20000

25000

z196 zEC12

ET

R (T

ran/

Sec

)

Up to 32% improvement to throughput

More than 20% of top IMS customers are using IMS-Ja va

Page 18: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

18

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

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

ETR

(Tra

n/S

ec)

(Controlled measurement environment, results may vary)

Page 19: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

19

Java8-Beta Program

• Provides Java SE 8 compatibility, while exploiting the unique capabilities of IBM platforms to achieve performanc e and usability improvements

• To provide early technology access during the development cycle• To assist Java 8 in satisfying customer requirements• To provide feedback to IBM

• New in IBM SDK, Java Technology Edition, Version 8: • Compatibility with the new Java SE 8• Leveraging new IBM hardware (e.g. IBM zEnterprise EC12)• Improved performance for workload optimized runtimes, which delivers better

application throughput without changes to application code• Enhanced support for Cloud & Multi-tenancy environments• Improved efficiency of manipulating native data records/types directly from Java

code

• Managed and Open Beta• http://www.ibm.com/developerworks/java/jdk/beta/index.html

Page 20: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

20

Java8: Language Innovation -- Lambdas

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 21: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

21

Java8: Data Access Accelerator

A Java library for bare-bones data conversion and arithmetic

Operates directly on byte arraysNo 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 arraySupport both big/little endian byte arrays

Packed Decimal (PD) OperationsArithmetic: +, -, *, /, % on 2 PD operandsRelation: >,<,>=,<=,==,!= on 2 PD operands

Error checking: checks if PD operand is well-formedOther: 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 22: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

22

Looking Ahead: PackedObjects with IBM Java

PackedObjectsExperimental feature in the IBM JVM. Introduces a new Java type that implements an explicit object model which tightly packs fields allowing for natural and efficient direct mapping of structured data.

Goals• Allow for explicit source-level

representation of structured data in Java

• Improve serialization and I/O performance• Allow direct access to “native” (off-heap)

data

Timelines and deliveries are subject to change.

http://www.slideshare.net/mmitran/ibm-java-packed-objects-mmit-20121120

http://duimovich.blogspot.ca/2012/11/packed-objects-in-java.html

Page 23: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

23

Looking Ahead: Cloud with IBM Java

• Multi-tenancy support will allow multiple applications to run in a single shared JVM for high -density deployments.

• Win: Footprint reduction enabled by sharing runtime and JVM artifacts while enforcing resource consumption quotas

• Platform Coverage: 64-bit, balanced GC policy only • Ergonomics: Single new command-line flag (-Xmt = multi tenancy)

• Runtime Adjustable Heap Size (-Xsoftmx )• JMX beans allow for dynamically adjusting heap size• Allows users to take advantage of hot-add of memory

Timelines and deliveries are subject to change.

DataMulti-tenancy

Virtualization

• Hypervisor, Virtual Guest, and Extended-OS JMX Bean s• Allows applications to detect and identify the installed hypervisor and query attributes

of LPAR• Provides richer access to operating system performance statistics

Page 24: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

24

Looking Ahead: Cloud

• Multi-tenancy support will allow multiple applicati ons to run in a single shared JVM for high-density deployments.• Win: Footprint reduction enabled by sharing runtime and JVM artifacts

while enforcing resource consumption quotas • Platform Coverage: 64-bit, balanced GC policy only • Ergonomics: Single new command-line flag (-Xmt = multi tenancy)

• Runtime Adjustable Heap Size (-Xsoftmx )• JMX beans allow for dynamically adjusting heap size• Allows users to take advantage of hot-add of memory

• Hypervisor, Virtual Guest, and Extended-OS JMX Bean s• Allows applications to detect and identify the installed hypervisor and query

attributes of LPAR• Provides richer access to operating system performance statistics

Timelines and deliveries are subject to change.

Page 25: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

25

Page 26: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

26

Liberty and traditional profile capabilities

There are functional differences between traditiona l WAS and theLiberty profile – Liberty provides a useful subset of traditional WAS

Liberty Profile Traditional WAS Profile

Bean validationBlueprintJava API for RESTful Web ServicesJava Database Connectivity (JDBC)Java Naming and Directory Interface (JNDI)Java Persistence API (JPA)Java Server Faces (JSF)Java Server Pages (JSP)JMXMonitoringOSGi JPARemote connectorSecure Sockets Layer (SSL)SecurityServletSession PersistenceTransactionWeb application bundle (WAB)z/OS Security (SAF)z/OS Transactions (RRS)z/OS Workload Management

Enterprise Java Beans (EJBs)Messaging (JMS)Web ServicesService Component Arch (SCA)Java Connector Architecture (JCA)ClusteringWebSphere Optimized Local AdaptersAdministrative ConsoleWSADMIN scriptingMulti-JVM Server Model

And much more …

Everything Liberty has…

Page 27: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

27

START:IA1 BR THERE

HERE:IA10 LRIA11 LRIA12 ARIA13 collect GR1

….IA25 L � Sample

….

THERE:IA100 ….

ST…

IA200 BR HERE…

IA1IA100

Circular

Collection Buffer

IA200IA10IA13GR1CB 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

Page 28: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

28

Speak to me in ‘Java ’• Java only speaks ‘Java’…

• Data typically must be copied/re-formatted onto/off Java heap• Costly in path-length and footprint

Java heap (72 bytes)

JVM

Native storage (20 bytes)

I/O

Page 29: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

29

On-Heap PackedObject• Allows controlled layout of storage of data structures on the Java heap

• Reduces footprint of data on Java heap• No (de)serialization required

JVM

Native storage (20 bytes)

I/O

Page 30: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

30

Off-Heap PackedObject

• Enable Java to talk directly to the native data structure• Avoid overhead of data copy onto/off Java heap• No (de)serialization required

JVM

Native storage (20 bytes)

I/O

Meta Data

Page 31: Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... › share › 120 › webprogram › ... · Marcel Mitran, STSM, Chief Architect IBM JVM on System z ... Java Road Map

31

Multitenancy : Isolation and Density

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)

Isolation

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.