Previous Topic: 3.3.2 Avoiding UNIX/PCS Duplicate ChargingNext Topic: 3.5 Avoiding CICS Duplicate Charging


3.4 Avoiding SMF Duplicate Charging

 
 Duplicate charging for batch jobs and started tasks can occur
 between SMF, IMS, CICS, DB2, and MQSeries because resource
 utilization for regions is reported by SMF type 30 records
 which populate the SMF journal files and by specific
 record types which populate journal files for CICS, DB2, IMS,
 and MQSeries.
 
 Within SMF itself, duplicate charging can occur by billing
 the same unit of work from both the Batch Job Journal
 (ACTJBJ) and Batch Program Journal (ACTJBP) files or by
 billing APPC work from the APPC Journal (ACTJTP) file and the
 Batch Job or the Batch Program Journal files.  Also,
 duplicate charging can occur if print/punch output is charged
 from both the Batch Spool Journal (ACTJBS) and the Batch Job
 Journal (ACTJBJ) files.
 
 In contrast, it is normal to charge for the same work from
 the MULC (Measured Usage License Charging) Address Space
 Journal File (ACTJBM) and any of the other SMF journal files.
 You can use the ACTJBM journal file to surcharge users of
 MULC registered products.  Any charges from this journal file
 are added to charges for the work from the other Batch and
 Operations Analyzer journal files.
 
 Avoiding Duplicate Charging Within the SMF Component
 ----------------------------------------------------
 The Rate Table ISPF dialogs prevent duplicate charging within
 SMF by not allowing you to activate both the Batch Job and
 the Batch Program Journal Files if the same units of work are
 being charged in each.  For example, you can charge batch
 from the Batch Program Journal File and TSO from the Batch
 Job Journal File, but you cannot charge batch and TSO work
 from both journal files.
 
 In addition, the dialogs does not allow you to activate the
 APPC TP Resource Journal File and the Batch Job or the Batch
 Program Journal File if APPC work is being charged in either
 of the latter two files.
 
 Avoiding Duplicate Charges from SMF and from Other Sources
 ----------------------------------------------------------
 If you charge for CPU time from the batch job or batch
 program files and also charge for CICS, IMS, DB2, or TSO CPU
 time in their corresponding journal files, then you must take
 care to charge from one or the other source file in each
 case.  Here is a list of the other source files, their CPU
 charging elements, and their journal files.
 
   Comp   Source  Journal  Charging
   Code   File    File     Element   Description
   ----   ------  ------   --------  -------------------------
   1004   IMSISU  ACTJIS   ISUCPUTM  IMS Total CPU Time
   1009   IMSISU  ACTJIS   ISUDB2TM  IMS DB2 CPU Time
   1010   IMSISU  ACTJIS   ISUDBOTM  DL/I, Buffer, Open/Close
                                     CPU Time
   1201   DB2DSU  ACTJDS   DSUTCBTM  DB2 TCB CPU Time Class 1
   1203   DB2DSU  ACTJDS   DSUCPUTM  DB2 CPU Time Class 1
   1411   TSOTSU  ACTJTU   TSUCPUTM  TSO CPU Time consumed
   1412   TSOTSU  ACTJTU   TSUTCBTM  TSO TCB CPU Time consumed
   1504   CICCSU  ACTJCS   CSUCPUTM  CICS Task CPU Time
   1505   CICCSU  ACTJCS   CSUCPRTM  CICS Task CPU Real Time
   1508   CICCSU  ACTJCS   CSUTCBTM  CICS TCB CPU Time
   2702   MQAMMA  ACTJMQ   MMACPUTM  MQS CPU Time Used
   2730   MQATAA  ACTJTA   TAACPUTM  MQS Total CPU Time
   2738   MQAQAA  ACTJQA   QAAQCPTM  MQS Total Queue CPU Time
   2740   MQBMFA  ACTJMF   MFACTM    MQSeries Message Flow
                                     Total CPU Time
 
 To see more details on each of these other possible charging
 algorithms, review the following sections of this
 guide:
 
   3.2.2  Avoiding DB2 Duplicate Charging
   3.5    Avoiding CICS Duplicate Charging
   3.6    Avoiding IMS Duplicate charging
   3.7.2  Avoiding MQSeries Duplicate Charging
 
 HOW TO AVOID DUPLICATE CHARGING
 
 Do not charge for spool, print, or punch output in the Batch
 Job Journal (ACTJBJ) file if you also charge from the Batch
 Spool Journal (ACTJBS) file.
 
 You can use Rate Table Algorithm Qualification to exclude the
 IMS control region, MPP, DBCTL programs, CICS regions, DB2
 regions, or MQSeries regions from SMF charging based on their
 job or program names.
 
 If you are not familiar with Algorithm Qualification, read
 section 4.3.1.5 - Qualifying Algorithms.  Avoid specifying
 Algorithm Qualification by listing specific job or Program.
 If it is required to test many program names, use
 Qualification Groups instead.
 
 If you are charging for TSO from the TSOMON ACTJTU Resource
 Journal File, then you can use Rate Table Algorithm
 Qualification to prevent the TSO sessions from being charged
 in SMF by explicitly specifying the SUBSYSIDs (@BAT, @STC,
 @TP, @OEM and @SAS) to be charged.  That is, the @TSO is
 omitted from the list of qualifiers for SUBSYSID.
 
 The following instructions tell you how to use Rate Table
 Algorithm Qualification to exclude the desired work.
 
  1) If you are charging from the Batch Job Journal File and
     want to exclude IMS, CICS, or DB2 regions, determine the
     job names of these regions.  Your installation should
     have a naming convention that allows you to identify
     these jobs or started tasks.
 
     If you are charging from the Batch Program Journal File
     and want to exclude IMS, CICS, or DB2 programs, determine
     the names of the programs to be excluded.
 
  2) Select Rate Table (Option 3;6 on the Installation
     Accounting Primary Options Menu), select the SMF unit if
     necessary, and select the ACTJBJ Batch Job or ACTJBP
     Batch Program Journal File.
 
  3) If you have not previously done so, select Options 1 and
     3 and enter the file and algorithm specifications.
 
  4) Select Algorithm Qualification, Option 4, from the File
     Options menu.
 
     TSO sessions charges with each algorithm that
     has a SUBSYSID value of *ALL, *DEF, or @TSO.  You can
     prevent TSO sessions from being charged as follows:
 
     o Change each SUBSYSID value of  *ALL to @BAT.  Then use
       the I line command to create extra rows with
       values of @STC, @TP, @OEM, and @SAS.
 
     o Change each SUBSYSID value of *DEF to explicitly
       specify the work to be charged:  @BAT, @STC, @TP, @OEM,
       or @SAS.  Use the I line command to create extra
       rows if necessary.
 
     o Delete any rows with a SUBSYSID value of @TSO.
 
     You can exclude IMS and CICS work from charging as
     follows:
 
     o For each algorithm that is used to charge batch or
       started tasks, enter an E in the S/E column and the job
       or program name to be excluded in the Workunit column.
       Enter the job name in the ACTJBJ Batch Job
       Journal File and the program name in the ACTJBP Batch
       Program Journal File.
 
     o The exclude comparisons are generic.  For example, a
       value of ISMM excludes all workunits whose names
       begin with ISMM, such as ISMM1, ISMM2, and so on.
 
     o Use the I line command to create extra rows to exclude
       more workunit names.
 
     o As an alternative to listing jobnames or program names
       or their generic wildcards, you could employ
       Qualification Groups as described in section 4.3.1.5.
       Qualification Groups have an advantage when there are
       many jobnames or program names that are used in
       qualifying.
 
  5) END from Rate Table and submit MAGRUN when requested.
 
  6) Repeat steps 1 through 5 for each extra SMF unit.
 
 A sample qualification panel that excludes all jobs beginning
 with IMS or CICS follows:
 

-------------------------- Algorithm Qualification ---------- ROW 3 FROM 22 Command ===> Scroll ===> CSR Unit: I - COST MANAGEMENT SMF UNIT Journal file: Batch Job Journal File Line Commands: I Insert D Delete SCROLL RIGHT TO VIEW COMPLETE WORKUNIT COLUMN Use groups for SYSID ===> NO Subsysid ===> NO Subtype ===> NO COSTCTR1 ===> NO Workunit ===> NO Alg SYS- S Partial Cmd ID ID Subsysid Subtype COSTCTR1 E Workunit - --- ---- -------- -------- ------------------------------- -------------- _ JBJ *ALL *ALL *ALL *ALL E IMS__ _ JBJ *ALL *ALL *ALL *ALL E CICS_ ____________________________________________________________________________

 
 Figure 3-1.  Sample Algorithm Qualification Panel

 A sample qualification panel that excludes all jobs beginning
 with IMS or CICS and does not charge for the TSO sessions 
 follows:
 

-------------------------- Algorithm Qualification ---------- ROW 3 FROM 22 Command ===> Scroll ===> CSR Unit: I - COST MANAGEMENT SMF UNIT Journal file: Batch Job Journal File Line Commands: I Insert D Delete SCROLL RIGHT TO VIEW COMPLETE WORKUNIT COLUMN Use groups for SYSID ===> NO Subsysid ===> NO Subtype ===> NO COSTCTR1 ===> NO Workunit ===> NO Alg SYS- S Partial Cmd ID ID Subsysid Subtype COSTCTR1 E Workunit - --- ---- -------- -------- ------------------------------- -------------- _ JBJ *ALL @BAT *ALL *ALL E IMS _ JBJ *ALL @BAT *ALL *ALL E CICS _ JBJ *ALL @STC *ALL *ALL E IMS _ JBJ *ALL @STC *ALL *ALL E CICS _ JBJ *ALL @TP *ALL *ALL E IMS _ JBJ *ALL @TP *ALL *ALL E CICS _ JBJ *ALL @OEM *ALL *ALL E IMS _ JBJ *ALL @OEM *ALL *ALL E CICS _ JBJ *ALL @SAS *ALL *ALL E IMS _ JBJ *ALL @SAS *ALL *ALL E CICS ____________________________________________________________________________

 
Figure 3-2.  Sample Algorithm Qualification Panel
 
 AVOIDING DUPLICATE CPU TIME CHARGES IN AN ENVIRONMENT WITH
 SPECIAL PROCESSORS
 
 There are two types of IBM special processors, zSeries
 Application Assist Processor (zAAP) and z9 Integrated
 Information Processor (zIIP).
 
 For address spaces, the portion of CPU time that is spent by
 an address space executing on a special processor is kept
 separate from the portion of CPU time that is spent by the
 same address space while it executed on a standard processor.
 The CA MICS data elements that contain the special processor
 CPU times are the following:
 
  JOBZPNTM and PGMZPNTM - Normalized zAAP CPU Time
  JOBSPNTM and PGMSPNTM - Normalized zIIP CPU Time
 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *                                                         *
 *  In the CA MICS/DB2 option, the Accum CPU Time Used on  *
 *  z/OS Spec Eng (DSUCPUZ1) element is the charging       *
 *  element for normalized zIIP and zAAP CPU time.  Since  *
 *  there would be overlap with the JOBZPNTM, JOBSPNTM,    *
 *  PGMZPNTM, and PGMSPNTM elements, the normalized        *
 *  specialty engine CPU time can be charged from the      *
 *  SMF or from the DB2 component but not from both.       *
 *  See section 3.2.2 - Avoiding DB2 Duplicate Charging.   *
 *                                                         *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
 The CPU time that is spent by an address space that could
 have executed on a special processor, but executed on a
 standard CP because a special processor was not available, is
 considered special processor eligible CPU time.  Special
 processor eligible CPU time is a subset of TCB CPU Time
 (JOBTCBTM and PGMTCBTM) and TCB+SRB CPU Time (JOBCPUTM and
 PGMCPUTM).  The CA MICS data elements that contain special
 processor eligible CPU time are the following:
 
  JOBZACTM and PGMZACTM - zAAP Eligible CPU Time on a CPU
  JOBSUCTM and PGMSUCTM - zIIP Eligible CPU Time on a CPU
 
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 *                                                         *
 *  In the CA MICS/DB2 option, the Accumulated CPU Time    *
 *  zIIP Eligible Work (DSUELGZP) is the charging element  *
 *  for the computation code 1261.  Since there is overlap *
 *  between this element and the JOBSUCTM and PGMSUCTM     *
 *  elements, one must take care to avoid duplicate        *
 *  charges.  Also be aware that DSUELGZP is no longer     *
 *  populated beginning with DB2 v10.1.  Thus any attempt  *
 *  to have special rates for zIIP or zAAP eligible CPU    *
 *  CPU time can be confined to the BATJOB or BATPGM       *
 *  elements listed previous.                              *
 *                                                         *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 
 There is a potential for duplicate charging for special
 processor eligible CPU time if you want to use a different
 rate for eligible CPU time that used for work that had
 to run on the standard processors.  Understand, that if you
 charge for both special processor eligible CPU time and the
 standard TCB time or CPU time, you are charging for the
 special processor eligible CPU time twice.
 
 If you want to charge the same rate for special processor
 eligible CPU time as TCB CPU time, it is recommended you use
 the computation codes for PGMTCBTM or PGMCPUTM, and JOBTCBTM 
 or JOBCPUTM.
 
 STEP LEVEL
 ----------
 At the step or interval level, if you want to charge a
 different rate for special processor eligible CPU time, and
 non-special processor eligible TCB+SRB CPU time, or
 non-special processor eligible TCB CPU time, use the
 following computation codes:
 
 o Special Processor Eligible CPU Time
 
 COMP
 CODE   Element    Label
 ----   --------   ------------------------------
 0406   PGMZACTM   zAAP Eligible CPU Time on a CP
 0431   PGMSUCTM   zIIP Eligible CPU Time on a CP
 
 o CPU Time Excluding Special Processor Eligible CPU Time
 
 COMP
 CODE   Element    Label
 ----   --------   -----------------------------------
 0409   PGMXCSTM   CPU Time without zAAP/zIIP Eligible
 
 The computation of PGMXCSTM is:
 
   PGMCPUTM - (PGMZACTM + PGMSUCTM)
 
   Note - PGMCPUTM is the sum of PGMTCBTM and PGMSRBTM.
 
 o Non-special Processor Eligible TCB CPU Time
 
 COMP
 CODE   Element    Label
 ----   --------   -----------------------------------
 0416   PGMXTSTM   TCB time without zIIP/zAAP Eligible
 
 The computation of PGMXTSTM is:
 
   PGMTCBTM - (PGMZACTM + PGMSUCTM)
 
 Note:  If you want to charge for non-special processor
 eligible CPU time, you must choose either 0409 or 0416.
 
 
 JOB LEVEL
 ---------
 At the job level, if you want to charge different rates for
 special processor eligible CPU time, and non-special
 processor eligible TCB+SRB CPU time, or non-special processor
 eligible TCB CPU time, use the following computation codes:
 
 o Special Processor Eligible CPU Time
 
 COMP
 CODE   Element    Label
 ----   --------   ------------------------------
 0350   JOBZACTM   zAAP Eligible CPU Time on a CP
 0370   JOBSUCTM   zIIP Eligible CPU Time on a CP
 
 o Non-special Processor Eligible TCB+SRB CPU Time
 
 COMP
 CODE   Element    Label
 ----   --------   -----------------------------------
 0359   JOBXCSTM   CPU Time without zAAP/zIIP Eligible
 
 o Non-special Processor Eligible TCB CPU Time
 
 COMP
 CODE   Element    Label
 ----   --------   -----------------------------------
 0360   JOBXTSTM   TCB time without zIIP/zAAP Eligible
 
 Note:  At the job-level, if you want to charge for
 non-special processor eligible CPU time, select 0359 or 0360. 
  
 
 CPU Time Usage from Service Units
 ---------------------------------
 With z/OS 1.10(plus OA26832) and higher, the number of 
 Service Unit fields in the Performance section of SMF Type 30 
 record was expanded to 8-bytes fields equivalent to the 
 existing 4  bytes.  This solution is to use Service units 
 because they provide finer granularity of CPU time usage for
 chargeback.
 
 Job LEVEL
 ----------
 At the Job level, if you want to charge CPU Time from the
 Service Units use the following computation codes:
 
 o CPU Time from Service Units (Job Level)
 
  Comp    Charging
  Code    Element         Label
  ------   ---------   ---------------------------------
  0050     JOBSRSTM    Job SRB CPU Time from Service Units
  0051     JOBTCSTM    Job TCB CPU Time from Service Units
  0052     JOBCPSTM    Job TCB+SRB CPU Time from Service Units
 
 Note:  If you are planning to charge CPU Time usage out of
 Service units at Job level, to avoid duplicate CPU TIME
 charging, ensure computation codes 0022, 0023, and 0024
 are not selected.
 
 
 STEP LEVEL
 ----------
 At the step or interval level, if you want to charge CPU Time
 from the Service Units use the following computation codes:
 
 o CPU Time from Service Units (Step Level)
 
  Comp    Charging
  Code    Element         Label
  ------   ---------   ---------------------------------
  0450     PGMSRSTM   Step SRB CPU Time from Service Units
  0451     PGMTCSTM   Step TCB CPU Time from Service Units
  0452     PGMCPSTM   Step TCB+SRB CPU Time from Service Units
 
 
 Note:  If you are planning to charge CPU Time usage out of
 Service units at Step level, to avoid duplicate CPU TIME
 charging, ensure computation codes 0422, 0423, and 0424
 are not selected.