Home > Data Center Tips > CICS Newsletter > Manage CICS workloads with transaction classes
Data Center Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

CICS NEWSLETTER

Manage CICS workloads with transaction classes


Robert Crawford, Contributor
01.13.2009
Rating: -4.33- (out of 5)


IT infrastructure news
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Some CICS workloads are steady, following a gentle curve to a blossoming crescendo just before and after launch. Others, particularly those involving financial transactions or Web back ends, ramp up more steeply and experience sharp, unpredictable spikes. For the latter, I recommend using transaction classes (TCLASS) as shock absorbers for managing wildly varying workloads.

How to define transaction classes
Transaction classes have been around since the CICS/VS days. However, in the '90s, IBM expanded the concept by allowing the naming of an unlimited number of them.

It begins with the TCLASS definition, which has three major attributes:

  • Name: This is the TCLASS name. It is placed into the transaction definitions to which the class applies. Choose the name to describe its purpose and the type of transaction it applies to.
  • Max Active (MAXACTVE): The maximum number of the class tasks that can be active at one time. CICS queues any tasks arriving after the class attains MAXACTIVE. The tasks remained queued until an active slot becomes available.
  • Purge Threshold (PURGETHRESH): This parameter specifies how many tasks of this class can be queued before CICS purges them. If this value is NO or 1, CICS will queue all the tasks. Otherwise, if set to n, the n+1 task gets an AKCC ABEND.

With the transaction class definition in place, you must change the transaction definitions for membership in the TCLASS through CEMT or resource definition online (RDO).

CICS also has a set of default transaction classes named DFHTCL01 through DFHTCL10. There are a couple of nice things about that. First, you can use these defaults instead of defining your own. Second, because you can change a transaction's class on the fly, in a pinch and without defining anything, you can commandeer a default TCLASS and apply it to one of your transactions until the crisis passes.

Transaction classes in action
As mentioned above, transaction classes seem to work best in situations where CICS must absorb a sudden workload spike. Controlling some or all of the transactions with a class can do the following:

  • Throttle less important work that could potentially delay time-sensitive transactions
  • Meter "background" transactions without real-time execution requirements
  • Allow finer workload control than just max task (MXT) for managing resources such as storage.

Calculating the maximum active for any class may not be easy. Any number of transactions can belong to a class, so you need to decide whether to build an aggregate class or have one class per transaction. If you define multiple classes on a single region you must consider the sum of their maximum active parameters and its relation to MXT.

Remember, CICS assigns task IDs to incoming transactions, which do not apply to MXT when they are queued. Thus, if you run into a problem, a TCLASS without a purge threshold can pile up 99,999 transactions, which I can personally attest will lead to some unpleasant consequences. Note, however, the purge threshold must be used with care to ensure that you don't ABEND any transactions you might want to keep.

Without being too "weaselly," I would recommend setting a TCLASS maximum active high enough that it doesn't impact normal operations but low enough to have the desired dampening effect during workload surges.

The following are a couple of real-life situations where transaction classes come in handy.

Queued transactions, example 1
Imagine a CICS connected to IMS through an intersystem communication (ISC) link. If the link is down IMS, as is its wont, it queues messages bound for CICS. Once the link is reestablished, IMS sends all the queued transactions -- potentially thousands -- to CICS. At that point, CICS gamely drops what it was doing to handle the incoming messages and attach tasks for them, all to the detriment of work coming in from other channels.

One solution is to place the incoming transaction into a TCLASS with an active task low enough to queue the sudden burst of transactions. Thus, when IMS reconnects with CICS and sends a flood of transactions, a subset of them execute immediately while the rest are queued. Eventually all of them execute without disrupting CICS's overall throughput.

Batched transactions, example 2
IBM's MQ interface is so handy that some applications use it to send what may be considered low-priority transactions to CICS from batch jobs. This becomes a problem when a batch job, working at a steady pace, dumps a proverbial boatload of messages on CICS's initiation queue (INITQ).

This is the type of workload is very hard for CICS to manage. A high MXT lets the transactions run but may cause CICS to monopolize a processor. The flood of transactions may create other problems, such as short on storage, or SOS. Again, one answer is to absorb the burst of work by defining a transaction class with a max active value suitable to the capabilities of the region while meeting the processing requirements of the batch work. Then, when the flood of MQ transactions arrive, the early birds slip under the class's maximum active and run immediately. The latecomers are queued. Ideally, the max active should be set high enough that the original burst of transactions can be processed before the next batch arrives.

ABOUT THE AUTHOR: For 24 years, Robert Crawford has worked off and on as a CICS systems programmer. He is experienced in debugging and tuning applications and has written in COBOL, Assembler and C++ using VSAM, DLI and DB2.

Did you find this helpful? Write to Matt Stansberry about your data center concerns at mstansberry@techtarget.com.

Rate this Tip
To rate tips, you must be a member of SearchDataCenter.com.
Register now to start rating these tips. Log in if you are already a member.




BROWSE BY TAG
Server hardware,   Mainframe computers,   Mainframe operating systems and management,   CICS Newsletter,   VIEW ALL TAGS

Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Mainframe computers
The mainframe is 45 years old
Using CICS dump tables to manage problems in online systems
High mainframe software costs may lead to platform's demise
Run CICS in batch to beat a shrinking batch window
Analyst group disses Hewlett-Packard report about mainframe migration
Using External Call Interface (EXCI) to access CICS
Mainframers go for a jog at Share user group conference
Mainframe student anticipates a bright future
HP puts fault-tolerant NonStop on a blade
A review of z/OS 1.9 features

Mainframe operating systems and management
Improve CICS Web services security and handle Web transaction requests
Coding a simple mainframe cryptography program
How is CICS prepared for future IT market demands?
Why IBM should listen to Neon Software, customers on zPrime
Aussie financial firms dump Unix, Windows for Linux on the mainframe
Using cryptography on the mainframe: An amateur's guide
How mainframes fit into cloud computing
IBM z/OS 1.11 preview: New features and functions
Neon Software CEO rejects IBM warnings on mainframe licensing issues due to zPrime
IBM upgrades Parallel Sysplex, boosts importance of mainframe clustering

CICS Newsletter
IBM z/OS 1.11 preview: New features and functions
New statistics for CICS Transaction Server 3.2
Run CICS in batch to beat a shrinking batch window
Ensuring CICS security with the Web Services Security standard
Use DFHLS2WS to expose CICS applications as a Web service
Using IBM IPCS to battle software bugs
CICS and Web services: Ready to go
Using External Call Interface (EXCI) to access CICS
Using CICS event monitoring points (EMPs) for tuning and debugging
Implementing CICS managed data tables

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
ACF2  (SearchDataCenter.com)
Calibrated Vectored Cooling  (SearchDataCenter.com)
enclave  (SearchDataCenter.com)
IMS (Information Management System)  (SearchDataCenter.com)
job  (SearchDataCenter.com)
job scheduler  (SearchDataCenter.com)
job step  (SearchDataCenter.com)
MVS  (SearchDataCenter.com)
z/OS  (SearchDataCenter.com)
z990  (SearchDataCenter.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



White Papers - Data Center Networking

The Intel IT Technology Center - Power, Performance and Mobility Solutions

HomeNewsTopicsITKnowledge ExchangeTipsBlogsMultimediaWhite PapersEvents
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2005 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts