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.
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
in the output of the ADAREP CPEXLIST utility function.
See Understanding the zIIP-Related Statistics below for information on how to interpret these statistics.
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.
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:
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.