Monitoring zIIP Usage

The purpose of Adabas for zIIP is to reduce the Adabas CPU consumption on general processors (GP) 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 GPs and zIIPs and for which reasons it has executed on GPs. This document provides information on how to view and understand these zIIP-related statistics.


zIIP-Related Statistics

Adabas for zIIP shows zIIP-related statistics

  • in the Adabas session statistics that are printed when the nucleus terminates,

  • for an ADADBS REFRESHSTATS utility function, in the resulting interval statistics,

  • when the Adabas operator command DZSTAT is given from an operator console,

  • in the output of the ADADBS OPERCOM DZSTAT utility function,

  • on the Adabas Online System Session Monitoring / Display Interval Utilization / zIIP Statistics menu and

  • in the utility protocol (on DDPRINT)

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 menu.

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 processors (GP) on the Session Monitoring / Display Interval 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
Total CPU time The total CPU time (GP plus zIIP) consumed by any dispatchable unit (TCB or SRB) running in the Adabas address space, comprising the non-enclave GP times and all enclave GP times and zIIP times
Non-enclave GP times The total CPU time (on general processors) consumed by any TCB in the Adabas address space that was not a member of a Workload Manager (WLM) enclave
All enclave GP times The total CPU time on general processors consumed by any dispatchable unit (TCB or SRB) in the Adabas address space that was a member of a WLM enclave
All enclave zIIP times The total CPU time on zIIPs consumed by any SRB in the Adabas address space that was a member of a WLM enclave, normalized to GP speed
All enclave zIIP times (%) The percentage of the total CPU time that the Adabas address space consumed on zIIPs, calculated as: All enclave zIIP times / Total CPU time * 100
Total enclave CPU time [*] The total CPU time consumed by the WLM enclave created by Adabas for its entire session, comprising the CPU times consumed on GPs and on zIIPs
Enclave GP time The CPU time of the WLM enclave created by Adabas that was consumed on general processors
Enclave zIIP time The CPU time of the WLM enclave created by Adabas that was consumed on zIIPs, normalized to GP speed
Enclave zIIP 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 GP
Enclave zIIP 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 time on GP The CPU time of the enclave that Adabas was eligible to execute on zIIPs but instead consumed on GPs because no zIIP was available
Eligible zIIP time on GP (%) [*] The percentage of the eligible zIIP CPU time that Adabas instead consumed on GPs, calculated as: Eligible zIIP CPU time on GP / Eligible zIIP CPU time * 100
Potential enclave zIIP time (%) This line is displayed only if the LPAR has no zIIPs (at the time the processor configuration was queried) and the Adabas enclave did not consume any CPU time on zIIPs. It shows the percentage of the enclave CPU time that Adabas could have offloaded to zIIPs, had there been any, calculated as: Eligible zIIP CPU time / Total enclave CPU time * 100
Mode switches[**] The number of times Adabas switched into SRB mode to become eligible for execution on a zIIP or 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 "Mode Switches" 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 GP service units The GP 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 GP speed
GPs The number of general processors (GP) managed by the operating system
zIIPs The number of System z Integrated Information Processors (zIIP) managed by the operating system
zIIP SMT threads The number of simultaneous multithreading (SMT) threads per zIIP core
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 GPs, if the GPs are throttled

Utilities running with ZIIP=YES print similar statistics in their DDPRINT output dataset.

[*] These numbers are also included in the regular SYNS-60 Nucleus statistic and SYNS-5B Session end / session interval statistics checkpoints.

[**] The number of switches into TCB mode is also included in the regular SYNS-60 Nucleus statistic and SYNS-5B Session end / session interval statistics checkpoints. It typically is half of the total number of mode switches.

Notes:

  1. The "All enclave zIIP times (%)" figure shows in a nutshell how much of the CPU consumption by Adabas was actually offloaded to zIIPs.
  2. Adabas creates a Workload Manager enclave for its main task TCB and its companion SRB. It reports the CPU times on zIIPs and general processors consumed in this enclave under “Total enclave CPU time”. Other tasks in the Adabas address space — such as the subtasks used by Adabas Review, the Natural subtasks used by Adabas Stored Procedures and Triggers — as well as system SRBs used for asynchronous event processing (I/O completion, cross-memory posts, XCF/XES exits used in Adabas Cluster Services, etc.) run outside this enclave. The subtasks may in fact create their own enclaves and report their CPU time statistics separately. The CPU times for all enclaves, tasks and SRBs running in the Adabas address space are shown under “Total CPU time” at the top of these statistics.
  3. Take into account that the TCB/SRB mode switches and parallel requests generate overhead that is also attributed to the GP and zIIP CPU times of Adabas for zIIP. For a more accurate assessment how much CPU time Adabas for zIIP saves on GPs, run the same, representative test workload both with ZIIP=YES and ZIIP=NO and compare the GP CPU times consumed in both scenarios. The GP CPU time savings will typically depend on the type of workload processed by Adabas, particularly the rate and level of parallelism with which Adabas commands arrive.
  4. If the "Eligible zIIP CPU time on GP (%)" 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 "All enclave GP times" and "Enclave GP CPU time". The proportions of "All enclave zIIP times (%)" and "Enclave zIIP CPU time (%)" will decrease correspondingly. These percentages show 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 address space

Total CPU time                                      0:30:39.829
 Non-enclave GP times                               0:01:01.619
 All enclave GP times                               0:01:33.964
 All enclave zIIP times                             0:28:04.245
 All enclave zIIP times (%)                               91.54


zIIP-related statistics for Adabas enclave

Total enclave CPU time                              0:29:38.210
 Enclave GP time                                    0:01:33.964
 Enclave zIIP time                                  0:28:04.245
 Enclave zIIP time (%)                                    94.71

Eligible zIIP CPU time                              0:28:17.199
 Enclave zIIP time                                  0:28:04.245
 Eligible zIIP time on GP                           0:00:12.953
 Eligible zIIP time on GP (%)                              0.76

Mode switches                                             2,064
Parallel requests                                     2,238,428
 No free element for request                                  0
 Parallel requests per TCB pause                           2.38

Extended statistics
 Pause   SRB                                                336
 Release SRB                                                  1
 Pause   TCB                                            939,160
 Release TCB                                            939,495
 Pause   for wait                                     4,752,060
 Release from wait                                    5,048,526

SRB/TCB scheduling by type of work

 EXCPs                                                2,239,015
 Miscellaneous                                              118
 Operator commands                                            8
 Sequential writes                                          287
 Timer services                                             490
 User exit 8                                                574

Enclave GP service units                             11,147,006
Enclave zIIP service units                           10,557,975

GPs                                                           2
zIIPs                                                         1
 zIIP SMT threads                                             2
zIIP normalization factor                                 10.97

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