SMF CPU Time Metrics Overview

This section provides an overview of the Batch and Operations Analyzer CPU time metrics.
micsrm140cd

Batch and Operations Analyzer CPU Time Metrics

Standalone CPU Time Metrics
MICS data element
Name and Label
SMF Type 30 Metric Name
PGMTCBTM - Step TCB CPU Time
SMF30CPT
PGMSRBTM - Step SRB CPU Time
SMF30CPS
PGMISRTM - Step Initiator SRB Time
SMF30ISB
PGMITCTM - Step Initiator TCB Time
SMF30ICU
PGMHIPTM - Step HIPERSPACE CPU Time
SMF30HPT
PGMRCTTM - Step Region Control Task CPU Time
SMF30CRT
PGMIOITM - Step I/O Interrupt CPU Time
SMF30IIP
RENCPDTM - Remote System Dependent Enclave CPU Time
 SMF30MRD
RENCPITM - Remote System Independent Enclave CPU Time
SMF30MRI
PGMZAPTM - Actual zAAP CPU Time
SMF30_TIME_ON_IFA
PGMSUPTM - Actual zIIP CPU Time
SMF30_TIME_ON_ZIIP
CPU Time Subset Metrics
MICS data element
Name and Label
SMF Type 30 Metric Name
Subset of Metric(s)
PGMEQPTM - Step Enqueue Promotion Time
SMF30CEPI
PGMTCBTM, PGMSRBTM
PGMCRPTM - Promoted Due to Chronic Contention Time
SMF30CRP
PGMTCBTM, PGMSRBTM
PGMENCTM - Step Enclave CPU Time
SMF30ENC
PGMTCBTM
PGMDENTM - Step Dependent Enclave CPU Time
SMF30DET
PGMTCBTM
PGMPRETM - Step Preemptable/Client CPU Time
SMF30ASR
PGMTCBTM
PGMUSSTM - Step USS CPU Time
SMF30OST
PGMTCBTM, PGMSRBTM
PGMZEPTM - Actual IND zAAP Enclave CPU Time
SMF30_ENCLAVE_TIME_ON_IFA
PGMZAPTM
PGMZDPTM - Actual zAAP DEP Enclave CPU Time
SMF30_DEP_ENCLAVE_TIME_ON_IFA
PGMZAPTM
PGMZACTM - zAAP Eligible CPU Time on a CP
SMF30_TIME_IFA_ON_CP
PGMTCBTM
PGMZECTM - zAAP IND Enclave CPU Time on a CP
SMF30_ENCLAVE_TIME_IFA_ON_CP
PGMZACTM
PGMZDCTM - zAAP DEP Enclave CPU Time on a CP
SMF30_DEP_ENCLAVE_TIME_IFA_ON_CP
PGMZACTM
PGMSEPTM - Actual IND zIIP Enclave CPU Time
SMF30_ENCLAVE_TIME_ON_ZIIP
PGMSUPTM
PGMSDPTM - Actual zIIP DEP Enclave CPU Time
SMF30_DEP_ENCLAVE_TIME_ON_ZIIP
PGMSUPTM
PGMSUCTM - zIIP Eligible CPU Time on a CP
SMF30_TIME_ZIIP_ON_CP
PGMTCBTM
PGMSECTM - zIIP IND Enclave CPU Time on a CP
SMF30_ENCLAVE_TIME_ZIIP_ON_CP
PGMSUCTM
PGMSDCTM - zIIP DEP Enclave CPU Time on a CP
SMF30_DEP_ENCLAVE_TIME_ZIIP_ON_CP
PGMSUCTM
PGMSDQTM - zIIP Qualified DEP Enclave CPU Time
SMF30_ENCLAVE_TIME_ZIIP_QUAL
PGMSUPTM, PGMSUCTM
PGMSEQTM - zIIP Qualified IND Enclave CPU Time
SMF30_DEPENC_TIME_ZIIP_QUAL
PGMSUPTM, PGMSUCTM
PGMTSITM - Step Initiator TCB Time at Step Init
SMF30ICU_Step_Init
PGMITCTM
PGMTSTTM - Step Initiator TCB Time at Step Term
SMF30ICU_Step_Term
PGMITCTM
PGMSSITM - Step Initiator SRB Time at Step Init
SMF30ISB_Step_Init
PGMISRTM
PGMSSTTM - Step Initiator SRB Time at Step Term
SMF30ISB_Step_Term
PGMISRTM
Computed CPU Time Metrics
MICS data element
Name and Label
Computation
PGMCPUTM - Step TCB+SRB CPU Time
PGMTCBTM + PGMSRBTM
PGMICPTM - Initiator CPU Time
PGMITCTM + PGMISRTM
PGMZPNTM - Normalized zAAP CPU Time
PGMZAPTM * PGMZAPNF
PGMSPNTM - Normalized zIIP CPU Time
PGMZAPTM * PGMSUPNF
PGMXTSTM - TCB CPU Time Without zAAP/zIIP Eligible
PGMTCBTM - PGMZACTM + PGMSUCTM
PGMXCSTM - CPU Time Without zAAP/zIIP Eligible
PGMCPUTM - PGMZACTM + PGMSUCTM
PGMSRSTM - Step SRB CPU Time from Service Units
PGMSRBSU/SMFSUCPU*WLMSCSRB
PGMTCSTM - Step TCB CPU Time from Service Units
PGMTCBSU/SMFSUCPU*WLMSCCPU
PGMCPSTM - TCB+SRB CPU Time from Service Units
SUM(PGMTCSTM,PGMSRSTM)
PGMCRATM - Step CP RA Actual CPU Time
PGMITCTM + PGMISRTM + PGMTCBTM
PGMSRBTM + PGMHIPTM + PGMRCTTM + PGMIOITM
PGMZRATM - Step zIIP RA Actual CPU Time
Set to PGMSPNTM
PGMZRFTM - Step zIIP RA Refund CPU Time
PGMCRATM*((1/(1-(PGMPCRA/100))-1))

SMF Preemptable SRBs and Client SRBs CPU Time

Service Request Blocks (SRBs) provide an economical way to perform work in MVS. In general, SRBs allow asynchronous processing, avoidance of serialization, and low startup overhead. But traditionally, SRBs are non-preemptable and can therefore tie up the system.
IBM introduced a new set of preemptable SRBs that are comparable to Task Control Blocks (TCBs) in scheduling and accounting, but maintain the advantages of SRBs. IBM recommends that SRBs be scheduled using the IEAMSCHD macro. Using the IEAMSCHD macro, the SRB type is determined by the PRIORITY parameter. When either PRIORITY=PREEMPT or PRIORITY=CLIENT is specified, the SRB is preemptable.
The primary difference between preemptable and client SRBs is the priority that they inherit. PRIORITY=PREEMPT SRBs inherit the major priority of the target home address space. PRIORITY=CLIENT SRBs inherit the major priority of the address space named by the CLIENTSTOKEN parameter specified in the IEAMSCHD macro. This named address space will also accumulate the CPU time used by the client SRB during execution.
Relationship of TCB to preemptable/client CPU times
Preemptable and client CPU time is accumulated as Task Control Block (TCB) time. When your job or step reports non- zero values for preemptable/client CPU time, this time is also included in TCB CPU time. SMF records preemptable/client CPU time only to allow analysis of what portion of TCB time was attributable to the execution of preemptable and/or client SRBs.
The following relationship will always exist:
TCB Time > Preemptable/Client CPU Time
The
MICS
variable that contains preemptable and client CPU time in the batch step, started task, TSO session, APPC/MVS TP, and USS Activity files (BATPGM, BAT_ST, BAT_TS, BAT_TP and BAT_OE) is:
  • PGMPRETM - Step Preemptable/Client CPU Time
At the job level,
MICS
provides the same measure in the BATJOB and BAT_JS files:
  • JOBPRETM - Job Preemptable/Client CPU Time

SMF Enclave CPU Time

Service Request Blocks (SRBs) provide an economical way to perform work in MVS. In general, SRBs allow asynchronous processing, avoidance of serialization, and low startup overhead. But traditionally, SRBs are non-preemptable and can therefore tie up the system.
IBM introduced a new set of preemptable SRBs that are comparable to Task Control Blocks (TCBs) in scheduling and accounting, but maintain the advantages of SRBs. IBM recommends that SRBs be scheduled using the IEAMSCHD macro. Using the IEAMSCHD macro, the SRB type is determined by the PRIORITY parameter. When PRIORITY=ENCLAVE is specified, the SRB is preemptable and scheduled into an enclave specified on the ENCLAVETOKEN parameter.
Enclaves are collections of preemptable SRBs that have the advantage of being managed by a single performance goal. This performance goal is separate from the performance goal specified for the calling address space. IBM recommends the use of enclaves for high volume, low resource intensive queries.
Relationship of TCB to enclave CPU times
Enclave CPU time is accumulated as Task Control Block (TCB) time. When your job or step reports non zero values for enclave CPU time, this time is also included in TCB CPU time. SMF records enclave CPU time only to allow analysis of what portion of TCB time was attributable to the execution of enclaves. The following relationship will always exist:
TCB Time > Enclave CPU Time
The
MICS data element
that contains enclave CPU time in the batch step, started task, TSO session, APPC/MVS TP, and USS Activity files (BATPGM, BAT_ST, BAT_TS, BAT_TP and BAT_OE) is:
  • PGMENCTM - Step Enclave CPU Time
At the job level,
MICS
provides the same measure in the BATJOB and BAT_JS files:
  • JOBENCTM - Job Enclave CPU Time

SMF zAAP CPU Time

The zSeries Application Assist Processor (zAAP) is a specialized processing unit that provides a z/OS Java execution environment. The zAAP is also known as an Integrated Facility for Application processor (IFA). A zAAP processor is designed to operate asynchronously with a standard CP to execute Java programs under the control of IBM's Java Virtual Machine (JVM).
Actual zAAP CPU time
The
MICS data element
s that contain actual zAAP CPU time that was accumulated when executing Java application code on a zAAP processor in the batch step, started task, TSO session, APPC/MVS TP, and USS Activity files (BATPGM, BAT_ST, BAT_TS, BAT_TP and BAT_OE) are:
  • PGMZAPTM - Actual zAAP CPU Time
  • PGMZEPTM - Actual zAAP IND Enclave CPU Time
  • PGMZDPTM - Actual zAAP DEP Enclave CPU Time
PGMZEPTM and PGMZDPTM are subsets of PGMZAPTM.
CPU time accumulated by work running on a zAAP processor is not included in Step TCB Time (PGMTCBTM).
Normalized CPU time
A zAAP installed on a z990 runs at the same speed as a general purpose CP. On a z890, a zAAP will run at full speed although a zAAP processor may run at a different speed (MIPS rating) than the general purpose CP on the same central processor complex.
PGMZAPTM contains the actual CPU time on a zAAP processor. To determine the amount of equivalent general purpose CP capacity used, PGMZAPTM, PGMZEPTM, and PGMZDPTM are normalized to the speed of a general purpose CP using a normalization factor provided in Raw zAAP Service Time Normalized Factor (PGMZAPNF) divided by 256.
The
MICS data element
s that contain normalized zAAP CPU time in the batch step, started task, TSO session, APPC/MVS TP, and USS Activity files (BATPGM, BAT_ST, BAT_TS, BAT_TP and BAT_OE) are:
  • PGMZPNTM - Normalized zAAP CPU Time
  • PGMZENTM - Normalized zAAP IND Enclave CPU Time
  • PGMZDNTM - Normalized zAAP DEP Enclave CPU Time
zAAP-eligible CPU time
A parameter in SYS1.PARMLIB(IEAOPTxx) member IFACROSSOVER controls the decision to run Java-eligible work on a general purpose CP. If IFACROSSOVER is set to YES, Java work either can execute on a zAAP or can execute on a general purpose CP. If IFACROSSOVER is set to NO, a general purpose CP will not run any Java work unless there are no zAAPs operational in the partition.
The
MICS data element
s that contain the CPU time that was accumulated for zAAP-eligible work that executed on a general purpose CP in the batch step, started task, TSO session, APPC/MVS TP, and USS Activity files (BATPGM, BAT_ST, BAT_TS, BAT_TP and BAT_OE) are:
  • PGMZACTM - zAAP-Eligible CPU Time on a CP
  • PGMZDCTM - zAAP DEP Enclave CPU Time on a CP
  • PGMZECTM - zAAP IND Enclave CPU Time on a CP
PGMZECTM and PGMZDCTM are subsets of PGMZACTM.
Relationship of TCB to zAAP-Eligible CPU times
zAAP-eligible CPU time is accumulated as Task Control Block (TCB) time. When your job or step reports non-zero values for zAAP-eligible CPU time, this time is also included in TCB CPU time. SMF records zAAP-eligible CPU time only to allow analysis of what portion of TCB time was attributable to the execution of zAAP-eligible TCBs. The following relationship will always exist:
TCB Time > zAAP-Eligible CPU Time

SMF Total CPU Time

The previous sections have described the various CPU time measures found in the address-space-level SMF records.
MICS
provides data elements at the step- and job-level for each of these individual measures.
MICS
also provides two "total" CPU time values, which are the sum of these individual CPU times.
At the step or session level in the
MICS
BATPGM, BAT_ST, BAT_TS, BAT_TP, and BAT_OE files, the total CPU time elements are:
  • PGMCPUTM - Step TCB+SRB CPU Time
  • PGMICPTM - Step Initiator TCB+SRB CPU Time
As discussed in the previous sections, CPU time measurements are given for the task initiation process as well as for the execution of the task itself. PGMICPTM is the sum of TCB and SRB CPU time measures provided for the step initiation process. It is the sum of:
PGMITCTM - Step Initiator TCB CPU Time + PGMISRTM - Step Initiator SRB CPU Time
PGMCPUTM is the sum of the TCB and SRB CPU time measures recorded at the address-space level, except for TCB and SRB CPU time used in the initiation process. It is the sum of:
PGMTCBTM - Step TCB CPU Time + PGMSRBTM - Step SRB CPU Time
MICS
provides the same two total measures at the job level in the BAT_JS and BATJOB files. The data element names are JOBCPUTM and JOBICPTM, and they are the sum of the PGMCPUTM and PGMICPTM elements over all steps of the job.
The APPC/MVS Transaction file (BATATP) also provides a total CPU time measure that is the sum of TCB and SRB CPU times for the Transaction Program (TP):
  • ATPCPUTM - TP TCB+SRB CPU Time

SMF CPU Time On Systems with Power-Save

Beginning with the IBM zEnterprise z196, some challenges are introduced for resource management and capacity planners. CPU time can be a "mixed bag" of time when measuring the amount of CPU time it takes to execute a program task over long periods of time when power-save mode is active.
The power-save and cycle-steering features offer the ability to 'dial down' the capacity of the CPC to reduce energy consumption. The 'dialing down' and 'dialing up' of capacity can reflect inconsistent CPU time values stored by the Systems Management Facilities (SMF). For example:
  • Job 'ABC' is running on a CPC with a capacity of 100% and completes with 5 minutes of CPU time.
  • The same job 'ABC' runs when power save is active and the capacity is reduced 50%, completes with 10 minutes of CPU time.
So as seen in the example, the inconsistent CPU time values can present a problem for historical analysis and trending when capacity is reduced and then increased.
In order to provide more consistent CPU time values over time, all raw data CPU time values must be multiplied by an adjustment factor before they are stored in the
MICS database
. This adjustment will restore the raw data values to the value that would have been recorded, when the CPC is running at full capacity.
The adjustment factor is the calculated difference between the actual capability and the nominal capability. If the adjustment factor is one (1) the CPC is running at 100% capacity, a value of between zero (0) and one (1), capacity is reduced. (e.g., 0.75).