MAINFRAME > Administrator > CICS

Managing Queues and Fetching Efficiently

CICS

This article focuses on CICS performance across all platforms. On the mainframe CICS is known as CICS Transaction Server, but on other platforms it’s called TXSeries, with CICS Transaction Gateway providing standardized CICS interfaces and secure access. All products are developed and supported by CICS development, and interact with each other via facilities like CICS Intercommunication. While techniques, methodology, syntax, parameters and implementation specifics may vary, most functions, concepts, and usage apply to all processing platforms. Thus, the term “CICS” in this article applies to both CICS TS and TXSeries unless otherwise stated.

Last month’s article explained the need to review overall system performance and discussed various tuning tasks to improve systemwide performance because it’s almost impossible to make effective tuning improvements to a CICS system running in an overloaded or poorly performing processor and system software complex. This was followed with an introduction to queuing theory, a particularly germane topic to tuning an I/O subsystem. My definition of an I/O subsystem is: The management, administration, oversight and optimization of data flow and storage to and from external storage devices like disk drives, magnetic tapes, solid-state storage, CD, DVD, network and other external devices that store electronic data processed by a computer.

I/O tuning is arguably the most important tuning there is, due to the time disparity between an I/O operation and processor execution. Processors execute instructions in nanoseconds or picoseconds, while data transfer takes milliseconds or microseconds, so instruction execution is a million to 100 million times faster than a data transfer operation. Processor performance is drastically degraded when it has to wait for an I/O operation so much slower than its execution speed. Multiprogramming mitigates the effect but the disparity has dramatic performance impact.

I/O tuning is different than data normalization, a discipline dedicated to elimination of most redundant data in a relational database, and I/O tuning sometimes opposes it. There are rare but relevant situations where replicating data in different files (flat file), segments (relational database) or parent/child rows (hierarchical database) will reduce I/Os, especially when a field or group of fields are referenced in a high percentage of applications.

Four primary components are involved in I/O performance tuning, and they involve both queuing theory to optimize data flow and solid-state storage staging to rapidly make data available. Most of the time, multiple components are used in combination, and each has an effect on the other, making data retrieval and storage tuning an art as well as a methodology. What follows are the four components of data flow and transfer tuning.

Categorize the Nature of How a Set of Data’s Processed

In the broadest brush, there are two basic data access patterns: Random and sequential.

  1. Sequential access: A program starts reading a file at the first record, and reads further records in the order they’re stored. Every record is copied into processor main storage and processed (e.g., modification, deletion, insertion, expansion, examination for reports, etc.) based on record content, whereupon the record is rewritten to the file (unless it’s unmodified or deleted).
  2. Random access: Processing records in a varied, sometimes unpredictable order, only retrieving records relevant to a process. Files used this way are retrieved by specific values (i.e., record keys) made up of information like order number, account number or other unique values identifying the desired record.

Another categorization is how frequently a file is used. A file like a customer master file is used for most applications in an order management system (e.g., order processing, shipping, customer service, accounting, marketing, inventory management and vendor access). Conversely, files like archives, historical reporting, seasonal promotions and year-end accounting are infrequently used.

Numerous other file categorizations exist; the above are the most common. Different types of businesses often use different characterizations necessary to identify important data usage characteristics, but the objective is the same: Data usage patterns are a necessary design point in determining the most efficient way of retrieving and storing data. This is a mandatory prerequisite step to efficacious data access tuning.

Jim Schesvold is a technical editor for IBM Systems Magazine. Jim can be reached at jschesvold@mainframehelp.com.



Like what you just read? To receive technical tips and articles directly in your inbox twice per month, sign up for the EXTRA e-newsletter here.


comments powered by Disqus

Advertisement

Advertisement

2017 Solutions Edition

A Comprehensive Online Buyer's Guide to Solutions, Services and Education.

A Checkup for CICS Transaction Server V3.2

Upgrade offers improved performance and enhanced features

CICS Advances on All Fronts

Attain your SOA deployment goals more easily with CICS Transaction Server for z/OS V3.2.

IBM Systems Magazine Subscribe Box Read Now Link Subscribe Now Link iPad App Google Play Store
Mainframe News Sign Up Today! Past News Letters