Monitoring zIIP Usage

The purpose of Adabas for zIIP is to reduce the Adabas CPU consumption on general central processors (GCP) by offloading part of the Adabas processing to System z Integrated Information Processors (zIIP). Adabas for zIIP offers statistics about how much CPU time it has consumed on GCPs and zIIPs and for which reasons it has executed on GCPs. This document provides information on how to view and understand these zIIP-related statistics.


zIIP-Related Statistics

Adabas for zIIP shows zIIP-related statistics

A small subset of selected statistical figures is also produced in the regular SYNS-60 Nucleus statistic checkpoints and shown

See Understanding the zIIP-Related Statistics below for information on how to interpret these statistics.

zIIP in Adabas Online System

Adabas Online System displays the ZIIP parameter on the Display Parameters function.

If Adabas was started with ZIIP=YES, Adabas Online System allows modifying the ZIIP parameter at runtime - setting it to NO and subsequently back to YES - on the Modify Parameters menu.

Adabas Online System displays statistics about the execution of Adabas in TCB mode and SRB mode and about the CPU time consumed on System z Integrated Information Processors (zIIP) and general central processors (GCP) on the Session Utilization / zIIP statistics menu.

See Understanding the zIIP-Related Statistics below for information on how to interpret these statistics.

Understanding the zIIP-Related Statistics

Adabas for zIIP prints the full set of zIIP-related statistics in the Adabas session statistics when the nucleus terminates. The same statistics or a subset are displayed at other occasions, as described in section zIIP-Related Statistics above.

An Adabas nucleus started with ADARUN parameter ZIIP=YES prints the zIIP-related statistics during termination at the end of its session statistics. They show the following information:

Statistic Description
General central processors (GCP) The number of general central processors (GCP) managed by the operating system
Integrated Information Processors (zIIP) The number of System z Integrated Information Processors (zIIP) managed by the operating system
zIIP SMT threads The number of simultaneous multithreading (SMT) threads in the zIIPs
zIIP normalization factor The factor by which zIIP CPU times have been multiplied by z/OS to be comparable with the CPU times of the GCPs, if the GCPs are throttled
Total enclave CPU time [*] The total CPU time consumed by the Workload Manager enclave created by Adabas for its entire session, comprising the CPU times consumed on GCPs and on zIIPs
Enclave GCP CPU time The CPU time of the enclave that Adabas consumed on GCPs
Enclave zIIP CPU time The CPU time of the enclave that Adabas consumed on zIIPs
Enclave zIIP CPU time (%) [*] The percentage of the enclave CPU time that Adabas consumed on zIIPs, calculated as: Enclave zIIP time / Total enclave CPU time * 100
Eligible zIIP CPU time [*] The CPU time that Adabas was eligible to execute on zIIPs, comprising the actual Enclave zIIP CPU time and the Eligible zIIP CPU time on GCP
Enclave zIIP CPU time The CPU time of the enclave that Adabas consumed on zIIPs (same as the ‘Enclave zIIP CPU time’ under ‘Total enclave CPU time’)
Eligible zIIP CPU time on GCP The CPU time of the enclave that Adabas was eligible to execute on zIIPs but instead consumed on GCPs because no zIIP was available
Eligible zIIP CPU time on GCP (%) [*] The percentage of the eligible zIIP CPU time that Adabas instead consumed on GCPs, calculated as: Eligible zIIP CPU time on GCP / Eligible zIIP CPU time * 100
Switches into SRB mode The number of times Adabas switched into SRB mode to become eligible for execution on a zIIP
Switches into TCB mode [*] The number of times Adabas switched into TCB mode to perform operations that were incompatible with SRB mode
Parallel requests [*] The number of times Adabas requested that the TCB perform an operation in parallel to its own processing in SRB mode
No free element for request The number of times the SRB had to wait for a free request element until it could issue a parallel request to the TCB
Parallel requests per TCB pause [*] The average number of parallel requests processed by the TCB until it had to pause and wait for more work, calculated as: Parallel requests / Pause TCB (below)
Extended statistics The following extended statistics were introduced for internal reporting and may be changed or removed in future releases.
Pause SRB The number of times the SRB was waiting for work
Release SRB The number of times the SRB was released to continue processing
Pause TCB The number of times the TCB was waiting for work
Release TCB The number of times the TCB was released to continue processing
Pause for wait [*] The number of times Adabas had no work to do (i.e., was waiting for I/Os, new commands, or other events)
Release from wait The number of times Adabas was released to continue processing after an event had occurred
SRB/TCB scheduling by type of work The following statistics "by type of work" show why the processing mode (SRB or TCB mode) was switched or a parallel request was issued. They indicate the reasons for the "Switches into SRB mode", "Switches into TCB mode", and "Parallel requests" reported above. Only categories with nonzero counts are shown. A selection of typical categories follows:
EXCPs The number of direct-access input/output operations to the database container datasets (ASSO, DATA, WORK, PLOG, etc.), in most cases issued via parallel requests to the TCB
Miscellaneous The number of other, infrequent operations that required execution in TCB mode, performed via switches to TCB mode and back to SRB mode
Operator commands The number of operator commands whose processing required execution in TCB mode, performed via switches to TCB mode and back to SRB mode
Sequential writes The number of writes to a sequential dataset (e.g., DDPRINT), in most cases issued via parallel requests to the TCB
Timer services The number of timer operations that required execution in TCB mode, performed via switches to TCB mode and back to SRB mode
User exit N The number of times user exit N was called. User exits (including hyperexits and collation descriptor exits) are always called in TCB mode. User exits that may be called frequently are invoked via parallel requests; others, via switches to TCB mode and back to SRB mode
(Other types of work that must be performed in TCB mode are reported if they occurred in the Adabas session.)
Enclave GCP service units The GCP CPU service units accumulated by the enclave created by Adabas
Enclave zIIP service units The zIIP CPU service units accumulated by the enclave created by Adabas, normalized to GCP speed

[*] These numbers are also included in the regular SYNS-60 Nucleus statistic checkpoints.

Notes:

  1. The "Enclave zIIP CPU time (%)" shows in a nutshell how much of the CPU consumption in the Workload Manager enclave created by Adabas was actually offloaded to zIIPs
  2. To assess the zIIP CPU percentage properly, take into account that this number covers only the CPU time consumed by dispatchable units belonging to the enclave created by Adabas for zIIP - that is, by the Adabas main task TCB and its companion SRB. It does not cover CPU time consumed by dispatchable units that belong to other enclaves or to no enclave at all - such as the subtasks used by Adabas Review, the Natural subtasks used by Adabas Stored Procedures and Triggers, and system SRBs used for asynchronous event processing (I/O completion, cross-memory posts, XCF/XES exits used in Adabas Cluster Services, etc.). Therefore, the percentage of CPU time consumed on zIIPs relative to the total CPU time consumed by all dispatchable units in the Adabas address space tends to be lower than the percentage relative to the enclave CPU time.
  3. Also take into account that the TCB/SRB mode switches and parallel requests generate overhead that is also attributed to the GCP and zIIP CPU times of Adabas for zIIP. For a more accurate assessment how much CPU time Adabas for zIIP saves on GCPs, run the same, representative test workload both with ZIIP=YES and ZIIP=NO and compare the GCP CPU times consumed in both scenarios. The GCP CPU time savings will typically depend on the type of workload processed by Adabas, particularly the speed and level of parallelism with which Adabas commands arrive.
  4. If the "Eligible zIIP CPU time on GCP (%)" is non-negligible, it suggests that the available zIIPs in the host system are over-allocated. If their free capacity was higher, Adabas for zIIP could offload more of its work to the zIIPs.
  5. The number of "Parallel requests per TCB pause" indicates the level of parallelism that Adabas for zIIP could utilize by stringing TCB-mode operations together. A number close to 1 indicates low parallelism; a greater number, higher parallelism and a greater reduction of overhead.
  6. The "Pause for wait" count, relative to the number of I/Os (reported in the zIIP-related statistics under "EXCPs") and Adabas commands (reported higher up in the session statistics), indicates the level of parallelism that Adabas could utilize to process multiple commands concurrently. The higher the ratio of commands plus I/Os over "pauses for wait", the more work Adabas was able to do without pause (such as waiting for I/O completion or for the arrival of a new command).
  7. The counts of mode switches and parallel requests depend on the workload processed by Adabas - in particular, the number of system service calls that require TCB mode, the number of user exit calls, and the inherent parallelism of the workload. Aside from changing these aspects, little can be done in the configuration of Adabas for zIIP to influence the interplay between the SRB and the TCB.
  8. If the ZIIP parameter is changed to NO during an Adabas session, requesting that Adabas continue to run in TCB mode and not use zIIPs anymore, the then following processing will be charged to the TCB and counted under "Enclave GCP CPU time". The proportion of "Enclave zIIP CPU time (%)" will decrease correspondingly. This percentage shows how much of the Adabas workload was actually executed on zIIPs, not how much could have been executed on zIIPs under other circumstances.

Example zIIP-Related Statistics

The following example output illustrates the zIIP-related statistics in the Adabas nucleus session statistics:

zIIP-related statistics for Adabas main task


General central processors (GCP)                              2
Integrated Information Processors (zIIP)                      1
 zIIP SMT threads                                             2
zIIP normalization factor                                 10.97

Total enclave CPU time                              0:08:32.935
 Enclave GCP CPU time                               0:00:44.624
 Enclave zIIP CPU time                              0:07:48.311
 Enclave zIIP CPU time (%)                                91.30

Eligible zIIP CPU time                              0:07:51.376
 Enclave zIIP CPU time                              0:07:48.311
 Eligible zIIP CPU time on GCP                      0:00:03.064
 Eligible zIIP CPU time on GCP (%)                         0.65

Switches into SRB mode                                      320
Switches into TCB mode                                      320
Parallel requests                                     4,845,711
 No free element for request                                  0
 Parallel requests per TCB pause                           8.36

Extended statistics

Pause   SRB                                                 152
Release SRB                                                   1
Pause   TCB                                             579,625
Release TCB                                             579,776
Pause   for wait                                      1,574,231
Release from wait                                     1,471,128

SRB/TCB scheduling by type of work

EXCPs                                                   505,555
Miscellaneous                                                30
Operator commands                                             8
Sequential writes                                           125
Timer services                                              244
User exit 2                                                   6
User exit 8                                                 250
User exit 11                                          4,340,133

Enclave GCP service units                             3,215,424
Enclave zIIP service units                            2,935,690

See Understanding the zIIP-Related Statistics above for information and advice on how to interpret these statistics.