Sunday 18 August 2013

Optimum performance from CICS

The July meeting of the Virtual CICS user group included a presentation entitled, “Extracting optimum performance out of CICS”, and was presented by Satish Tanna, IBM’s CICS and CICS Tools Technical Specialist. The session was introduced by Ted Caffarelli, CICS Tools Product Line Manager with IBM.

Satish told the user group that he would be talking about using CICS Tools to help with CICS Threadsafe and consolidation projects.

Being threadsafe modernizes CICS applications and reduces TCB switching and CPU usage. It also increases the number of simultaneous CICS tasks that can run in a single CICS region, which reduces the need for vast numbers of CICS systems, and saves on the cost of administering those systems and other overheads. It also better exploits modern z-Series hardware.

Each TCB switch is approximately 2000 instructions. CICS TS V5.1, non-threadsafe DB2, MQ, and IMS transactions switch TCBs for each SQL statement or MQ command. So reducing instruction path length reduces costs and saves money for an organization.

CICS Tools can help to create threadsafe applications. Satish Tanna suggested that there are four stages in creating a threadsafe application. Step 1 is to identify applications that have a high number of TCB switches and identify programs in those transactions that are good threadsafe candidates.

Step 2 is to analyse programs to ensure the logic is threadsafe. Step 3 is to implement threadsafe programs. And the final step is to measure the results. CICS PA can be used for steps 1 and 4. CICS IA can be used for step 2. And CICS CM can be used for step 3.

CICS Performance Analyzer (PA) can analyse your CICS applications to determine which ones are good candidates for threadsafe. It looks at how many switches occurred, how much CPU time was used, delays, and how much they cost.

CICS Interdependency Analyzer (IA) can be used to determine the cause of a high number of Change TCB modes. It looks at what commands are issued by the transaction, how many commands are threadsafe, whether there are any DB2, MQ, or IMS commands, whether there are any Dynamic COBOL commands, whether there are any inhibiting commands, and which commands cause a TCB swap and where they are in the sequence of events.

Sites can also use CICS IA to verify that program logic is threadsafe. It looks for serialization techniques when accessing shared resources, enqueue and dequeue, compare and swap, reviews usage of ADDRESS CWA, EXTRACT EXIT, and GETMAIN SHARED. CICS will provide threadsafe access to its resources, eg files and queues.

CICS Configuration Manager (CM) Packaging, Transformation, and Migration facilities can be used to manage programs.

CICS PA can then be used to compare the results using the CICS PA Transaction Profile Report. This can quickly show a comparison between before and after the threadsafe project.

When it comes to consolidation, Satish Tanna told the user group that using CICS TS V5.1 scalability can consolidate CICS systems to simplify management. New and improved capabilities in CICS TS V5.1 provide greater single region scalability by doubling the MAXTASK limit to 2000. There’s greater usage of 64-bit storage and reduced usage of 24-bit storage. There’s greater application parallelism through threadsafe API and SPI extensions. There’s greater system parallelism through optimized TCB usage. There are Java performance improvements from 64-bit Java 7 support. And there’s greater access to 64-bit application storage when using Assembler programs.

CICS Deployment Assistant (DA) can discover CICS and CICSPlex system topology. CICS IA can analyse application resources and interdependencies. CICS CM can implement region consolidation, including CSD and CPSM BAS resources. CICS PA can measure performance.

CICS DA will discover Sysplex, CICS assets, and other address spaces. It can visualize assets and interconnections graphically. And it can export discovery data for reporting.

More information about the Virtual CICS user group can be found at http://fundi.com/virtualcics/.

No comments: