An Introduction to CICS JVMServers

Similar documents
Innovate 2013 Automated Mobile Testing

IBM i 7.3 Features for SAP clients A sortiment of enhancements

CICS V5.4 open beta and beyond

Deploying CICS regions with the z/os Provisioning Toolkit

IBM Infrastructure Suite for z/vm and Linux: Introduction IBM Tivoli OMEGAMON XE on z/vm and Linux

Lab DSE Designing User Experience Concepts in Multi-Stream Configuration Management

REST APIs on z/os. How to use z/os Connect RESTful APIs with Modern Cloud Native Applications. Bill Keller

DB2 REST API and z/os Connect SQL/Stored Procedures Play a Role in Mobile and API Economics

Optimize Your Heterogeneous SOA Infrastructure

Your Notes and Domino in the Cloud

Track 3 Session 5. IBM Notes Browser Plug-in:Leverage your IBM Notes Application investment in a Browser. Stefan Neth

IMS V13 Overview. Deepak Kohli IMS Product Management

Optimizing Data Transformation with Db2 for z/os and Db2 Analytics Accelerator

InfoSphere Guardium 9.1 TechTalk Reporting 101

Lotus Technical Night School XPages and RDBMS

IBM InfoSphere Data Replication s Change Data Capture (CDC) Fast Apply IBM Corporation

IBM Social Rendering Templates for Digital Data Connector

TPF Debugger / Toolkit update PUT 12 contributions!

IBM. Java Applications in CICS. CICS Transaction Server for z/os Version 4 Release 2 SC

Effective PMR Submission Best Practice. IBM Learn Customer Support

Partitions. Make Administration on the Cloud more organized. Rajesh (Raj) Patil Girish Padmanabhan Rashmi Singh

CICS Version 4 Event Processing

IBM Db2 Warehouse on Cloud

20 years of Lotus Notes and a look into the next 20 years Lotusphere Comes To You

z/tpf Support for Java Enhancements

SAP on IBM z Systems. Customer Conference. April 12-13, 2016 IBM Germany Research & Development

CICS TS V4.2 - Connectivity

IBM MQ Update BITUG BigSIG Gerry Reilly Development Director and CTO IBM Messaging and IoT Foundation IBM Hursley Lab, UK

Advancing your SAP Solutions A review of future options around SAP on IBM i and SAP HANA

AD406: What s New in Digital Experience Development with IBM Web Experience Factory

Event Processing: Insight into Your CICS Systems and Business

Using WebSphere Application Server Optimized Local Adapters (WOLA) to Integrate COBOL and zaap-able Java

IBM Compliance Offerings For Verse and S1 Cloud. 01 June 2017 Presented by: Chuck Stauber

The Present and Future of Large Memory in DB2. Jay Yothers DB2 for z/os Development, IBM

Frankensteining Software: Recycling Parts of Legacy Systems. Jennifer Manning and Joseph Kramer

Scripting in an Enterprise Application Environment

How to Modernize the IMS Queries Landscape with IDAA

IBM z13. Frequently Asked Questions. Worldwide

Thomas Petrolino IBM Poughkeepsie Session 17696

Reducing MIPS Using InfoSphere Optim Query Workload Tuner TDZ-2755A. Lloyd Matthews, U.S. Senate

z/tpf Enhanced HTTP Client and High Speed Connector Enhancements

A Day In the Life demo One example using COBOL/CICS

What's New in IBM Notes 9.0 Social Edition

that will impact New IoT Technology Trends Production Automation

DB2 REST API and z/os Connect SQL/Stored Procedures Play a Role in Mobile and API Economics

Innovations in Network Management with NetView for z/os

Chris Filachek Database/TPFDF Subcommittee. AIM Enterprise Platform Software IBM z/transaction Processing Facility Enterprise Edition 1.1.

Terminal Applications Scalability testing using Rational Performance Tester version 8.1

Modernizing CICS for Cloud

Running the Liberty Web Container in CICS

What's New in IBM Notes 9.0 Social Edition IBM Corporation

Hands-on Lab Session 9909 Introduction to Application Performance Management: Monitoring. Timothy Burris, Cloud Adoption & Technical Enablement

IBM Lotus Notes in XenApp Environments

Java Development on System z Best Practices

IBM Operational Decision Manager Version 8 Release 5. Configuring Operational Decision Manager on Java SE

... IBM AIX performance and tuning tips for Oracle s JD Edwards EnterpriseOne web server

IBM Application Performance Analyzer for z/os Version IBM Corporation

Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)

Help! I ve Inherited the Network and They Expect Me to Manage It!

WP710 Language: English Additional languages: None specified Product: WebSphere Portal Release: 6.0

CA IDMS 18.0 & 18.5 for z/os and ziip

IBM Next Generation Intrusion Prevention System

WebSphere Commerce Developer Professional

The Value of Using Name-Value Pairs

Rational Asset Manager V7.5.1 packaging October, IBM Corporation

A System z Developer's Journey Through the Application Lifecycle

IBM CICS Transaction Server V4.2

New Data Reduction Tool

IBM DB2 Analytics Accelerator for z/os, v2.1 Providing extreme performance for complex business analysis

What s New in the IBM Lotus Notes Client. Kevin O Connell, Consulting Manager, IBM Asia Pacific

CICS TS Resource Managers

What s New in IBM Rational Software Architect 8.5 and Rational Software Architect Design Manager 4.0 Beta

IBM Db2 Open Data RESTful Support

HATS 7.1 Performance and Capacity Planning

IBM Operational Decision Manager. Version Sample deployment for Operational Decision Manager for z/os artifact migration

Using CICS Dynamic Scripting

Revolutionize the Way You Work With IMS Applications Using IBM UrbanCode Deploy Evgeni Liakhovich, IMS Developer

WebSphere Commerce Developer Professional 9.0

Open Mic Webcast: Troubleshooting freetime (busytime) issues in Lotus Notes

CICS Performance Series: Blow the doors off CICS and DB2. John Tilling. CICS Technical Planning & Strategy IBM UK Laboratories

IBM SPSS Statistics Desktop

CICS Product Update. Danny Mace Director, CICS Products IBM Software. August 2012 Session Number 11417

Deploying IMS Applications with IBM UrbanCode Deploy

Hardware Cryptography and z/tpf

IBM Informix xC2 Enhancements IBM Corporation

CA Workload Automation (DE) Internals and Troubleshooting. Lee Stecklov

IBM. Data Sheet. Enterprise COBOL for z/os. Version 6.2

Open Mic Webcast. IBM Sametime Media Manager Troubleshooting Tips and Tricks. Tony Payne Sr. Software Engineer May 20, 2015

Full Speed Ahead with COBOL Into the Future

COBOL for AIX, Version 4.1

Concurrent execution of an analytical workload on a POWER8 server with K40 GPUs A Technology Demonstration

IBM PDTools for z/os. Update. Hans Emrich. Senior Client IT Professional PD Tools + Rational on System z Technical Sales and Solutions IBM Systems

Optimizing Insert Performance - Part 1

Installing ISV Mainframe Products through a Web Browser with CA MSM: Update and User Experiences

Taming the Beast Best Practices for zfs with CICS

DB2 11 for z/os Application Functionality (Check out these New Features) Randy Ebersole IBM

Architecting Java solutions for CICS


TPF Users Group Code Coverage in TPF Toolkit

OFA Developer Workshop 2014

Transcription:

An Introduction to CICS Servers Ian J Mitchell IBM Distinguished Engineer, CICS Transaction Server 1 st March 2011 Session 8265 1 of 32

Topics Evolution of the in CICS Transaction Server How are Servers different to Pools Defining Server resources How applications run in Servers The future for s in CICS TS 2 of 32

Notes 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. Unless specifically advised otherwise, you should assume that all information presented in Inner Circle sessions and contained in these presentations is IBM Confidential and restrict access to this information in accordance with the WebSphere Inner Circle Participation Agreement. The workshops, sessions and materials have been prepared by IBM or the session speakers and reflect their own views. They are provided for informational purposes only, and are neither intended to, nor shall have the effect of being, legal or other guidance or advice to any participant. 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. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this presentation or any other materials. 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 the applicable license agreement governing the use of IBM software. References in this presentation to IBM products, programs, or services do not imply that they will be available in all countries in which IBM operates. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon many factors, including considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve results similar to those stated here. All customer examples described are presented as illustrations of how those customers have used IBM products and the results they may have achieved. Actual environmental costs and performance characteristics may vary by customer. Nothing contained in these materials is intended to, nor shall have the effect of, stating or implying that any activities undertaken by you will result in any specific sales, revenue growth or other results. IBM Corporation 2010. All rights reserved. IBM, the IBM logo, ibm.com and the globe design are trademarks of International Business Machines Corporation, registered in many jurisdictions worldwide. A current list of IBM trademarks is available on the Web at "Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml. Other company, product, or service names may be trademarks or service marks of others. 3 of 32

Topics Evolution of the in CICS Transaction Server How are Servers different to Pools Defining Server resources How applications run in Servers The future for s in CICS TS 4 of 32

CICS and the z/os implementation in CICS continues to evolve JDK 1.1.8 CICS TS V1.3 HPJ and Hotpooling IBM Persistent Reusable (Shiraz) JDK 1.4.2 zaap (from 2004 and z/os 1.6) CICS TS v2.x Continuous mode CICS TS v3.1 Java 5 (via PTF) CICS TS v3.2 Java 6 CICS TS v4.1 5 of 32

Topics Evolution of the in CICS Transaction Server How are Servers different to Pools Defining Server resources How applications run in Servers The future for s in CICS TS 6 of 32

Differences between pools and servers CICS pools A pool is a set of single task, serially reuseable s Large memory footprint Excellent isolation characteristics CICS Servers Multiple CICS tasks execute as threads in a concurrently Much larger capacity for concurrent workload Some risk of collateral damage Exploited for Dynamic Scripting FeaturePack Limited customer application use in v4.1 Will be primary execution model in vnext Pooled model retained for migration only 7 of 32

Pool Architecture - CICS TS v3 (and v2) A CICS task needing to execute Java application code must acquire a from the pool. A in the pool is managed by an OTE (J8) TCB. CICS Task LE enclave J8 OTE Thread thread Heap & Classes CICS TS v3 When a task needs a is switches to an appropriate J8 TCB owning a. The J8 and is allocated to the task until the completes. 8 of 32

Pool Architecture - CICS TS v3 (and v2) So concurrent task count limited to the number of s in the pool. That is limited by the number that can fit in the 31-bit address space. CICS Task LE enclave J8 OTE Thread thread Heap & Classes CICS TS v3 CICS Task CICS Task LE enclave LE enclave J8 OTE Thread Thread thread Heap & thread Classes Heap & Classes 9 of 32

Pool Architecture - CICS TS v3 (and v2) Each 'costs' approx. 20Mb plus the application heap value. Bytecode of loaded classes may be shared between s using the classcache. Result is about 20 task/s concurrently in each region. CICS Task CICS Task CICS Task LE enclave J8 OTE Thread LE enclave LE enclave J8 OTE Thread Thread thread thread Heap & Classes Heap & thread Classes CICS TS v3 Heap & Classes (master) Shared Classes 10 of 32

Server Architecture In a Server, a task will still use an OTE TCB and a thread in the. The OTE TCB is a new T8 mode rather than a J8. CICS Task LE enclave T8 OTE PThread thread Heap & Classes CICS TS v4.1 It is also an LE pthread. A Java Native Interface (JNI) call is used to make the CICS Task/T8/LE pthread combo into a Java thread. JNI mechanism is called AttachCurrentThread. 11 of 32

Server Architecture The difference is that other CICS tasks are attached to the same at the same time. Therefore the system serves more requests using a single. Server thread memory cost is very small. Result is hundreds of tasks concurrently per region. CICS Task CICS Task CICS Task LE enclave PThread PThread PThread thread thread thread Heap & Classes CICS TS v4.1 12 of 32

Server Architecture Architected to allow multiple Servers in a single CICS. LE enclave CICS TS v4.1 Different types of work, or just a degree of isolation. Typically the same limit of 20 Servers exists as for s in a pool. CICS Task CICS Task CICS Task CICS Task PThread PThread LE enclave PThread PThread thread thread thread thread Dynamic Scripting Application A Dynamic Scripting Application B 13 of 32

So what can Servers do? Dynamic Scripting in CICS 3 hour test using HTTP and HTTPS into a single region. 250 HTTPS clients & 100 HTTP clients. The HTTPS clients read 12,150 MB of data, and wrote 1,121MB and the HTTP clients read 3,417 MB of data, and wrote 301MB. One CICS region, MXT=500, SERVER Threads set to 50. At the end of the test, we'd run 4.2 million tasks, at a transaction rate of 326.59 per second. 14 of 32

Library application, xmx = 500M, machine 2097 710 CICS CPU vs Rate APPL% 1000 900 800 700 600 500 400 300 200 100 0 100 600 1100 1600 Business requests per sec Smash 15 of 32

Millisecs of CPU per request zaap vs CP 7.00 6.00 Milli Secs of CPU 5.00 4.00 3.00 2.00 G-CP zaap 1.00 0.00 Smash 16 of 32

Topics Evolution of the in CICS Transaction Server How are Servers different to Pools Defining Server resources How applications run in Servers The future for s in CICS TS 17 of 32

Defining Servers Resource Definition CSD, BAS Profile configures the In zfs LE RunOpts configures the LE Enclave in which the executes In SDFHLOAD 18 of 32

Server Resource Definition 19 of 32

Server Profile Sample is DFHAX CICS finds such profiles in the directory identified in the SIT parm PROFILEDIR File is an EBCDIC text file (typically IBM-1047) (Note, use of Property Files is deprecated in v4.1) 20 of 32

Server Profile contents Libpath path to the native code required to run the LIBPATH=/usr/lpp/java/J6.0/bin/j9vm:\ /usr/lpp/java/j6.0/bin Workdir directory for zfs files written by the STDIN, STDOUT, STDERR Standard options - -Xblah-blah -Xms16M,-Xmx32M, -Xoss4M, -Xss512K Server classpath where the apps will be found -Djava.class.path (We'll come back to this later!) 21 of 32

Notes Example profile SETUP_CLASSES and TERMINATION_CLASSES used to specify Java classes which are invoked when starting/terminating the THREAD_TIMEOUT specifies how long a setup/termination class can run for before being timed out - default of 60 secs (min 1, max 60,000) LIBPATH tells the shell which directories to search for dynamic-link libraries - note, LIBPATH_PREFIX and LIBPATH_SUFFIX not supported WORK_DIR is a CICS option (in the wrong section, will be moved in APAR) set to /tmp by default -Xms<size> sets initial Java heap size -Xmx<size> sets maximum Java heap size -Xoss<size> sets maximum Java stack size for any thread -Xss<size> sets maximum native stack size for any thread -Xgcthreads<size> sets number of garbage collection helper threads (defaults to one less then number of physical CPUs present) -Djava.class.path tells the where to look for user-defined classes and packages in Java programs 22 of 32

SERVER s LE runtime options Sample is DFHAXRO Compiled version in SDFHLOAD Override by recompiling source and placing in load library Certain options forced by CICS XPLINK(ON) POSIX(ON) Useful options: RPTOPTS(ON) - generates, after an application has run, a report of the run-time options in effect while the application was running RPTSTG(ON) - generates, after an application has run, a report of the storage the application used 23 of 32

Topics Evolution of the in CICS Transaction Server How are Servers different to Pools Defining Server resources How applications run in Servers The future for s in CICS TS 24 of 32

Applications running in Servers Applications in Servers have ALL the same facilities available as in a in a pool JCICS classes for accessing CICS services JDBC (however with a current restriction, more later) MQ classes Debug via standard JPDA interfaces As with the change to Continuous mode there are semantic changes to sharing of static data static data in a Server will be concurrently accessed by multiple threads Need to consider... um... threadsafety! 25

Static data in a server The static keyword makes a variable into a 'class variable' It is part of the class data so one copy exists not one per instance of the class Uses for static data... 'global' values A 'global' collection or cache 26 of 32

Semantic evolution of static scope in CICS s Version 2, JDK 1.4.2 Persistent Reusable One task at a time in the Application statics reinitialised between uses of the Cannot use it to hold application state between requests Version 3, Continuous mode One task at a time in the Application statics persist from one use to the next Can hold long-lived data, but serial access Version 4, server Multiple tasks at the same time in the Application statics persist Visible to multiple tasks concurrently 27 of 32

Server threadsafety an example The JCICS implementation had lent on pooled serialisation. The 'task' object declared as a static (implementing the singleton pattern). OK when there IS only one task in the Corrected to be ThreadLocal ThreadLocal introduced in Java 5 to handle precisely this sort of requirement MORAL CICS Java is now just like Java everywhere with respect to concurrency See http://java.sun.com/developer/technicalarticles/j2se/concurrency/ 28 of 32

Server JDBC restriction We fixed JCICS use of static data with affinity to a single task in the. The JDBC driver has a similar issue Hursley is working with SVL to address this. Current restriction is one task at a time can use JDBC Documented restriction for Dynamic Scripting Fully intend to remove the restriction ASAP. 29 of 32

Topics Evolution of the in CICS Transaction Server We keep learning from customer experience and investing How are Servers different to Pools Revolution in scaleability Defining Server resources Getting easier How applications run in Servers Just like everywhere else The future for s in CICS TS Is very BRIGHT indeed! 30 of 32

31 Any Questions?

Thank You for your Attention Please fill out a session evaluation form 32