• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014
 

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

on

  • 3,485 views

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

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

Statistics

Views

Total Views
3,485
Views on SlideShare
3,484
Embed Views
1

Actions

Likes
0
Downloads
7
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014 Java + z + IMS - Marcel Mitran presentation - NYC and Toronto Feb 2014 Presentation Transcript

    • Marcel Mitran – Chief Architect, IBM JVM on System z February, 2014 Java + z + IMS © 2014 IBM Corporation
    • Trademarks, Copyrights, Disclaimers 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. 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. 22 © 2014 IBM Corporation
    • 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) 3 © 2014 IBM Corporation
    • Evolving Java on Z Enable integration of Java-based applications with core z/OS backend database environment for high performance, reliability, availability, security, and lower total cost of ownership 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 4 © 2014 IBM Corporation
    • Java Execution Environments and Interoperability Capitalize on pre-existing assets, artifacts, processes, core competencies, platform strengths 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 • 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.* • – Tomcat, JBoss – iBatis, Hibernate, Spring – Ant COBOL/Native Interoperability – Batch oriented • Open Source or non-IBM vendor Application Server and Frameworks JES/JSE-based, designed to inter-op with DB2 while maintaining transaction integrity – 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 5 ** Alphaworks only, and hence currently un-supported © 2014 IBM Corporation
    • System z Java Product Timeline 2014 31-bit and 64-bit SDK 6 , V6.0.0 31-bit and 64-bit SDK 5 1. IBM J9 2.3 VM and JIT Technology 2. z9 Exploitation 3. GA 4Q2005 4. z/OS and Linux on z 1. Supplies Java SE 6 APIs 2. z10 Exploitation 3. IBM J9 2.4 VM and JIT Technology 4. GA 4Q2007 5. z/OS and Linux on z 2009 2007 z/OS 64-bit SDK 1.4.2 1. IBM J9 2.2 VM and JIT Technology (1st product use) 2. GA 4Q2004 3. End of Service September, 2008 2005 SDK1.4 2003 1. 31-bit z/OS and 31-bit and 64-bit Linux on z 2. GA 4Q2002 3. z/OS End of Marketing September, 2008 4. z/OS End of Service September, 2011 31-bit SDK1.1.1, then 1.1.4 and 1.1.6 31-bit and 64-bit z/OS Java SDK 6 V6.0.1 2001 1. First OS/390 Java product – GA 1997 2. Out of service 1998 31-bit SDK1.3.1 1999 Supplies Java SE 6 APIs z196 Exploitation New IBM J9 2.6 VM and JIT Technology Enhanced JZOS and z/OS Security z/OS Java products, GA March 2011: 1. z/OS and Linux on z 2. GA 3Q2000 3. End of Service: September, 2007 31-bit SDK1.1.8 1. OS/390 GA 1999 2. Out of service IBM continues to invest aggressively in Java for System z, demonstrating a rich history of innovation and performance improvements. 6 1. 2. 3. 4. 5. 31-bit and 64-bit Java SDK 7.x 1. 2. 3. 4. 5. 6. z/OS and Linux on z Supplies Java SE 7 APIs OpenJDK z196/zEC12 Exploitation New IBM J9 2.6/2.7 VM and JIT Technology GA Oct 2011 Testimonials: http://www-01.ibm.com/software/os/systemz/testimonials/ © 2014 IBM Corporation
    • z/OS – System z Java Extensions All SDKs support the ‘standards’, Java on z/OS extends the SDK SDK Base Function 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. SDK z/OS Extensions System specific extension allow you to write robust middleware and applications that integrate with traditional z/OS operating environment 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. 7 © 2014 IBM Corporation
    • IBM Java Runtime Environment IBM’s implementation of Java 5 and Java 6 are built with IBM J9 Virtual Machine and 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 8 © 2014 IBM Corporation
    • Java Road Map Java 7.0 Language Updates Java 5.0 Java 6.0 • New Language features: • Autoboxing • Enumerated types • Generics • Metadata • Performance Improvements • Client WebServices Support 2008 2009 WAS 7.0 2010 2011 SE601/ 7.x >= 20 platforms WAS 6.1 2007 SE 6.0 20 platforms SE 5.0 18 platforms 2006 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 • Language improvements • Closures for simplified fork/join 7.0 6.0 5.0 WAS 6.0 2005 • • • • • EE 6.x EE 5 04 Java 8.0** 2012 IBM Java 6.0 (J9 R24) 2014 IBM Java7.1 WAS 8.5 IBM Java Runtimes IBM Java 5.0 (J9 R23) 2013 IBM Java 6.0.1/Java7.0 • Improvements in • Performance • RAS • Monitoring • zEC12™ Exploitation • zEDC for zip acceleration • SMC-R integration • Transactional Execution • Runtime instrumentation • Hints/traps • Data Access Accelerator • Improved performance • Improvements in (J9 R26) • Generational Garbage Collector • Performance • Improvements in • Shared classes support IBM Java7.0SR3 • Serviceability tooling • Performance • New J9 Virtual Machine • Class Sharing • Improvements in • GC Technology • New Testarossa JIT technology • XML parser improvements • z196™ Exploitation • Performance • First Failure Data Capture • z10™ Exploitation • OOO Pipeline • zEC12™ Exploitation • Full Speed Debug • DFP exploitation for BigDecimal • 70+ New Instructions • Transactional Execution • Large Pages • JZOS/Security Enhancements • Hot Code Replace • Flash 1Meg pageable LPs • New ISA features • 2G large pages • Common runtime technology • Hints/traps • ME, SE, EE 9 © 2014 IBM Corporation **Timelines and deliveries are subject to change.
    • zEC12 – More Hardware for Java Continued aggressive investment in Java on Z New 5.5 GHz 6-Core Processor Chip Significant set of new hardware features tailored and co-designed with Java Large caches to optimize data serving Second generation OOO design Hardware Transaction Memory (HTM) Better concurrency for multi-threaded applications eg. ~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 frames Improved performance targeting 64-bit heaps Pageable 1M large pages with Flash Express Better versatility of managing memory Shared-Memory-Communication RDMA over Converged Ethernet zEnterprise Data Compression accelerator gzip accelerator Up-to 60% improvement in throughput amongst Java workloads measured with zEC12 and Java7SR3 New software hints/directives/traps Branch preload improves branch prediction Reduce overhead of implicit bounds/null checks 10 Engineered Together—IBM Java and zEC12 Boost Workload Performance http://www.ibmsystemsmag.com/mainframe/trends/whatsnew/java_compiler/ © 2014 IBM Corporation
    • 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 CPU 0: Tran A TBEGIN … CPU 1: Tran B Storage conflict: Tran A will abort Tran B will commit changes to X and Y X = Y = 0; TBEGIN load Y X = 1 load X store X … Y = 1 TEND store Y TEND CPU 0 can only see (X=Y=0) or (X=Y=1), cannot see (X=1,Y=0) or (X=0,Y=1) 11 © 2014 IBM Corporation
    • HTM Example: Transactional Lock Elision (TLE) Lock elision allows readers to execute in parallel, and safely backout should a writer update hash Threads must serialize despite only reading… just in-case a writer updates the hash read_hash(key) read_hash(key) { Wait_for_lock(); TRANSACTION_BEGIN read(hash, key); read hash.lock; Release_lock(); BRNE serialize_on_hash_lock read (hash, key); } TRANSACTION_END Transaction Lock Elision on HashTable.get() Java Prototype Thr1: read_hash() … Thr1: read_hash() Thr3: read_hash() T’ T T h ro u g h p u t (o p s/sec) Thr2: read_hash() Thr3:read_hash() 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Threads 12 © 2014 IBM Corporation
    • z/OS Java SDK 7:16-Way Performance 64-bit Java Multi-threaded Benchmark on 16-Way z/OS 1.13 Multi-Threaded 64 bit Java Workload ~60% Hardware (zEC12) and Software (SDK 7 SR3) Improvement 160 zEC12 SDK 7 SR3 Aggressive + LP Code Cache Normalized Throughput 140 120 100 zEC12 SDK 7 SR1 80 60 z196 SDK 7 SR1 40 20 0 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 Threads Aggregate 60% improvement from zEC12 and Java7SR3 zEC12 offers a ~45% improvement over z196 running the Java Multi-Threaded Benchmark Java7SR3 offers an additional ~13% improvement (-Xaggressive + Flash Express pageable 1Meg large pages) 13 (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • z/OS Java SDK 7: 16-Way Performance Aggregate HW and SDK Improvement z9 Java 5 SR5 to zEC12 Java 7SR3 z/OS Multi-Threaded 64 bit Java Workload 16-Way ~12x Improvement in Hardware and Software 160 zEC12 SDK 7 SR3 Aggressive + LP Code Cache zEC12 SDK 7 SR1 Normalized Throughput 140 120 z196 SDK 7 SR1 100 80 z196 SDK 6 SR8 60 z10 SDK 6 SR4 40 z10 SDK 6 GM NO (CR or Heap LP) 20 0 1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 z9 Java 5 SR5 NO (CR or Heap LP) Threads ~12x aggregate hardware and software improvement comparing Java5SR5 on z9 to Java7SR3 on zEC12 LP=Large Pages for Java heap CR= Java compressed references Java7SR3 using -Xaggressive + Flash Express pageable 1Meg large pages 14 (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • WAS on z/OS – Servlets and JSPs with the Liberty Profile** TradeLite Servlet and JSP WAS8.5 and WAS8.5 Liberty Profile on zEC12 with Java7SR3 200% Throughput (Normalized to WAS8.5 on z196) 180% 83% Java7SR3 160% zEC12 140% 120% WAS Liberty 100% 80% 60% 40% 20% 0% WAS8.5 on z196 WAS8.5 on zEC12 WAS8.5 Liberty on z196 WAS8.5 Liberty on zEC12 + Java7SR3 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 reduction vs. WAS8.5 (<5 seconds) WAS8.5 Liberty offers reduced real-storage requirements up to 81% vs. WAS8.5 (80M versus 420M) 15 ** See backup charts for list of Liberty Profile capabilities ++ Java7SR3 using -Xaggressive + Flash Express pageable 1Meg large pages (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • JCICS and Java7SR3 on zEC12 Using complex Java workload – Axis2 webservice 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 16 3000 throughput (ITR) Equivalent throughput using CICS V5.1 on z196 compared to CICS V4.2 3500 +39% +30% 2500 CICS V4.2 z196 2000 CICS V5.1 z196 1500 1000 500 CICS V5.1 zEC12 CICS zEC12 + exploitation higher is better 0 (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • IMS JMP region performance Hardware stack improvements IMS Java - Hardware stack improvements 25000 Up to 32% ETR throughput increase moving same workload ETR (Tran/Sec) 20000 15000 19838 14754 10000 5000 0 z196 zEC12 (Controlled measurement environment, results may vary) 17 (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • IMS JMP region performance Aggregate SDK, software and hardware improvements IMS Java transaction throughput from 2009 to 2012 25000 19838 ETR (Tran/Sec) 20000 15000 12540 10000 5000 0 Jun-08 8448 7600 9389 4191 Dec-08 Jul-09 Jan-10 Aug-10 Feb-11 Sep-11 Apr-12 Oct-12 Timeline 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 18 (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • Java 7.1 - IBM SDK for z/OS, Java Tech. Edition, Version 7 Release 1 http://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=AN&subtype=CA&htmlfid=897/ENUS213-498&appname=USN Expands on zEC12/zBC12 instruction and facility exploitation – – – – 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 Accelerator – Integrated with JZOS native record binding framework Improved WLM capabilities Improved SAF and cryptography support Additional reliability, availability, and serviceability (RAS) enhancements Enhanced monitoring and diagnostics 19 © 2014 IBM Corporation
    • Java-based Store, Inventory and Point-of-Sale Application Java Store, Inventory and Point-Of-Sale Application zEC12 16-way 1.2 Normalized Maximum Operations per second 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Java 7 SR4 Java 7.1 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) 20 © 2014 IBM Corporation
    • IBM Operational Decision Manager IBM Operational Decision Management zEC12 16-way 1.4 1.3 Throughput (Normalized to Java 7 SR4) 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Java 7 SR4 Java 7.1 19% improvement to ODM with Java 7.1 compared to Java 7 SR4 (Controlled measurement environment, results may vary) 21 © 2014 IBM Corporation
    • Store your Data - zEnterprise Data Compression (zEDC) in Java 7.1 Every day over 2000 petabytes of data are created Between 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. Up-to 12x improvement in CPU time Up-to 3x improvement in elapsed time Compression ratio of ~4x What is it? zEDC Express is an IO adapter that does high performance industry standard compression CPU Time for Software versus zEDC Hardware Compression 160,000 CPU Time Milliseconds 140,000 Used by z/OS Operating System components, IBM Middleware and ISV products Applications can use zEDC via industry standard APIs (zlib and Java) 120,000 100,000 Software Default 80,000 Software Level 1 zEDC Hardware 60,000 40,000 20,000 F1 F2 F3 Compressed Data File Size of Compressed Data - Software versus zEDC Hardware Each zEDC Express sharable across 15 LPARs, up to 8 devices per CEC. 4,500 4,000 D Size in B ata ytes 3,500 Raw throughput up to 1 GB/s per zEDC Express Hardware Adapter 3,000 Input Buffer 2,500 Software Default 2,000 Software Level 1 zEDC Hardware 1,500 1,000 500 F1 F2 F3 Compressed Data File (Controlled measurement environment, results may vary) 22 © 2014 IBM Corporation ** IDC: The Digital Universe in 2020: Big Data, Bigger Digital Shadows, and Biggest Growth in the Far East
    • 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 S MC-R vs TCP /IP (OS A) W AS Libe rty< -> DB2 W orkloa d SMC-R enabled platform System z Middleware/Application Middleware/Application 10.00% 3.11% 5.00% Sockets Sockets 0.00% -5.00% Latency TCP TCP CPU Consumption per tran SMC-R P ercent Change IP -10.00% Interface Interface -15.00% SMC-R vs TCP/IP (OSA) (40 Client Connections) -20.00% OSA SMC-R IP RNIC ETH RNIC Data Flows using RDMA over RoCE RDMA Network -25.00% RoCE (CEE) -30.00% IP Network TCP connection establishment over IP (Ethernet) Dynamic negotiation for SMC -R -35.00% -40.00% -40.00% -45.00% 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 (Controlled measurement environment, results may vary) 23 © 2014 IBM Corporation
    • Transform your Data - Data Access Accelerator in Java 7.1 A Java library for bare-bones data conversion and arithmetic Marshalling and Un-marshalling Transform primitive type (short, int, long, float, double) byte array Support both big/little endian byte arrays Packed Decimal (PD) Operations Arithmetic: No Java object tree created Orchestrated with JIT for deep platform opt. Avoids expensive Java object instantiation Relation: >,<,>=,<=,==,!= on 2 PD operands Error checking: checks if PD operand is well-formed Other: Operates directly on byte arrays +, -, *, /, % on 2 PD operands shifting, and moving ops on PD operand Decimal Data Type Conversions Decimal 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 Library is platform and JVM-neutral Current Approach: Proposed Solution: byte[] addPacked(array a[], array b[]) { BigDecimal a_bd = convertPackedToBd(a[]); byte[] addPacked(array a[], array b[]) { DAA.addPacked(a[], b[]); BigDecimal b_bd = convertPackedToBd(b[]); a_bd.add(b_bd); return (convertBDtoPacked(a_bd)); return (a[]); } } 24 © 2014 IBM Corporation
    • DAA – JZOS Medicare Record Benchmark JZOS Medicare Record Parsing Benchmark CPU-time to Parse 5M Records (Normalized to 31-bit Java 7 SR4 w/o DAA) 1.2 1 0.8 Java 7 SR4 0.6 Java 7.1 0.4 0.2 0 31-bit 64-bit 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.9x http://www.ibm.com/developerworks/java/zos/javadoc/jzos/index.html?com/ibm/jzos/sample/fields/MedicareRecord.html 25 (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • Java8: Language Innovation – Lambdas and Parallelism New syntax to allow concise code snippets and expression – 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 26 © 2014 IBM Corporation
    • Economies of Scale for Java in the Cloud 1+ GB / tenant 1+ GB / tenant 100’s MB / tenant 10’s MB / tenant 10’s KB / tenant Tenant Tenant Tenant API Application Application Application Application Application Application Middleware Middleware Middleware Middleware Middleware Middleware -Xshareclasses OS Images OS Images Hardware OS Images Hardware Share-nothing (maximum isolation) OS Images Hardware Shared hardware Application Application Application Middleware (e.g. WAS) Middleware (e.g. WAS) OS Image OS Image OS Image Hardware Hardware Hardware Shared Process Share-everything (maximum sharing) -Xshareclasses Shared OS ‘Mission critical’ apps ‘free’ apps Density 27 Timelines and deliveries are subject to change. © 2014 IBM Corporation
    • Multitenancy: IBM's approach to 'Virtualized JVMs' A standard 'java' invocation creates a dedicated (non-shared) JVM in each process java 1 java 2 java 3 JVM JVM JVM 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. java 1 java 1 java 1 proxy proxy proxy 'javad' is launched and shuts down automatically No changes required to the application javad JVM 28 'javad' process is where aggressive sharing of runtime artifacts happens © 2014 IBM Corporation
    • Questions? 29 © 2014 IBM Corporation 29
    • 30 © 2014 IBM Corporation
    • Java on zEC12 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 31 © 2014 IBM Corporation
    • Java on zEC12 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 32 © 2014 IBM Corporation
    • Transactional Execution: Concurrent Linked Queue ~2x improved scalability of juc.ConcurrentLinkedQueue 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 De-queue first node head node node …. node tail En-queue last node 33 New TX-base implementation Traditional CAS-base implementation © 2014 IBM Corporation (Controlled measurement environment, results may vary)
    • Java on zEC12 Runtime Instrumentation 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 HERE: IA10 IA11 IA12 IA13 IA25 THERE: IA100 Just-in-time Compiler Bytecodes START: IA1 Immediate representation generator IA200 JVM BR THERE LR LR AR collect GR1 …. L Sample …. …. ST … BR HERE … 2 Optimizer GC Profiler Event Tracing Code generator Runtime 1 (setup) 3 4 Instruction Instrumentation controls 34 CB head IA200 IA10 IA13 GR1 Circular 5 Pre-allocated storage processing CPU 6 (analyze) IA1 IA100 Collection Buffer Event Trace © 2014 IBM Corporation
    • WAS on z/OS – DayTrader Aggregate HW, SDK and WAS Improvement: WAS 6.1 (Java 5) on z9 to WAS 8.5 (Java 7) on zEC12 6x aggregate hardware and software improvement comparing WAS 6.1 Java5 on z9 to WAS 8.5 Java7SR4 on zEC12 35 (Controlled measurement environment, results may vary) © 2014 IBM Corporation
    • Liberty feature set as of V8.5.5 WAS V8.5.5 Liberty Profile Feature Manager 36 HTTP Transport 36 Application Manager © 2014 IBM Corporation