Previous Topic: 6.4.2.6 CPU Time for USS Services

Next Topic: 6.4.3 CPU Time That Escapes Measurement

6.4.2.7 CPU Time Metrics Overview


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

STANDALONE CPU TIME METRICS CA 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 CA 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 CA 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))


Figure 6-2.  Batch and Operations Analyzer CPU Time Metrics

6.4.2.8 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 CA 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:

o  PGMPRETM  - Step Preemptable/Client CPU Time

At the job level, CA MICS provides the same measure in the
BATJOB and BAT_JS files:

o  JOBPRETM - Job Preemptable/Client CPU Time

6.4.2.9 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 CA 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:

o  PGMENCTM  - Step Enclave CPU Time

At the job level, CA MICS provides the same measure in the
BATJOB and BAT_JS files:

o  JOBENCTM - Job Enclave CPU Time

6.4.2.10 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 CA MICS data elements 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:

o  PGMZAPTM - Actual zAAP CPU Time
o  PGMZEPTM - Actual zAAP IND Enclave CPU Time
o  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 CA MICS data elements 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:

o  PGMZPNTM - Normalized zAAP CPU Time
o  PGMZENTM - Normalized zAAP IND Enclave CPU Time
o  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 CA MICS data elements 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:

o  PGMZACTM - zAAP-Eligible CPU Time on a CP
o  PGMZDCTM - zAAP DEP Enclave CPU Time on a CP
o  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

6.4.2.11 Total CPU Time


The previous sections have described the various CPU time
measures found in the address-space-level SMF records.
CA MICS provides data elements at the step- and job-level for
each of these individual measures.  CA 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 CA MICS BATPGM, BAT_ST,
BAT_TS, BAT_TP, and BAT_OE files, the total CPU time elements
are:

o  PGMCPUTM - Step TCB+SRB CPU Time
o  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

CA 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

6.4.2.12 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 CA 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).