CICS is simultaneously the most sophisticated exploiter of goal mode and the subsystem most in need of care and attention to ensure goal mode success. IMS has these attributes to a lesser extent. What follows applies to both CICS and IMS, unless otherwise noted. For the sake of simplicity, we’ll stick to CICS as denoting both. When a system is initialized in goal mode or switched from compatibility mode to goal mode, CICS may operate in either of two management styles. The CICS address spaces (CICS and IMS address spaces are usually called “regions,” reflecting the MVT roots of both subsystems) may run with resources allocated based on their velocity goals, or the response time goals of selected transactions may determine the treatment of the regions. Since OS/390 2.10, both of these styles may coexist in the systems in a sysplex that is running in goal mode. In earlier OS/390 levels, the styles were mutually exclusive.
The latter style — address spaces managed on behalf of transaction goals — is called “server management.” There’s no specific name for the other style; let’s call it “region management.”
Workload Manager (WLM) accumulates response time statistics at the service-class level, assesses performance of each CICS service class, and acts to ensure that the goal of each class is met. If a CICS response time goal isn’t met, WLM will adjust the dispatching priority, I/O priority, or dynamic storage protection of the server address space most likely to affect performance of the CICS service class that needs help. This sequence of events may sound simple, but it’s both complex and highly dependent on a series of critical factors:
- Does each CICS service class accurately reflect the performance of transactions it’s supposed to represent?
- Is the cost of server management acceptable for the combination of system, server address space, and CICS service class?
- Does CICS server management extract an unacceptable price from the rest of the system?
- Is the specified goal achievable?
CICS MANAGEMENT IN COMPATABILITY MODE
Let’s consider a well-tuned CICS subsystem in compatibility mode to see what’s needed to do as well in goal mode.
Since CICS regions are usually not swappable, there are only three tuning parameters that apply to each address space: dispatching priority, storage isolation, and I/O priority. They tend to be set rather arbitrarily, but let’s examine the rationale of the Installation Performance Specification (IPS) Parameters.
Dispatching priority in compatibility mode is relative; it doesn’t matter what the absolute number is, but what it is in the context of all other work in the system. On this relative scale, CICS needs to be high enough so that the most demanding transactions receive enough CPU time relative to CPU delay to ensure acceptable response time. It’s usually set a bit higher than that; above the priorities of other work that may have long CPU service bursts and cause annoying random response time delays.
I/O priority is managed similarly. The MVS dispatching priority doesn’t apply to just the Loved Ones among CICS transactions; it applies to every transaction and service routine in the region. Within that single MVS priority, CICS’ internal dispatcher chooses the transaction to receive CPU service at any moment. Secondary Task Control Blocks (TCBs) in the CICS address space may have higher or lower dispatching priorities relative to the main task but, again, the internal task priorities simply set an order within the single MVS priority.
Storage isolation protects pages in the address space from being stolen. Active pages won’t be stolen anyway; it’s the inactive pages of important transactions that might merit protection. However, storage isolation cannot be directed. All the pages of the address space are in the pool; a high number is usually required so the relatively few pages that really need protection get it.
Priorities and storage isolation are assigned in a performance group and are static. Storage isolation can vary based on paging rate but usually has a large static component. The priority and protection are set based on worst cases but they apply at all times; the possibility and reality of wasted resources are obvious.