SMF Data Set Allocations By Device Class

MICS provides a number of data elements estimating data set allocations in the BATPGM, BAT_ST, and BAT_TS files.
rm
Each observation in these files represents a complete program step, TSO session, or interval if SMF type 30 interval recording is active. These data set allocation data elements are derived by counting the number of SMF EXCP segments by device class. The complete set of
MICS
data set allocation data elements in the program-level files are:
PGMA3480
Cartridge Tape Data Set Allocations
PGMACOMM
Communication Data Set Allocations
PGMADASD
DASD Data Set Allocations
PGMAMDAS
Mountable DASD Data Set Allocations
PGMAGRAF
Graphics Data Set Allocations
PGMATAPE
Magnetic Tape Data Set Allocations
PGMAUREC
Unit Record Data Set Allocations
PGMAVIO
VIO Data Set Allocations
and
PGMMXACA
Max Cartridge Data Set Allocations
PGMMXACO
Max Communication Data Set Allocations
PGMMXADA
Max DASD Data Set Allocations
PGMMXAGR
Max Graphic Data Set Allocations
PGMMXAMD
Max Mountable DASD Data Set Allocations
PGMMXATA
Max Tape Data Set Allocations
PGMMXAUR
Max Unit Record Data Set Allocations
PGMMXAVI
Max VIO Data Set Allocations
These data elements represent data set allocations by device class. Note that there are two "subclasses" represented: PGMA3480 and PGMMXACA represent data set allocations to cartridge tape devices only. PGMATAPE and PGMMXATA represent data set allocations to all tape devices, including cartridge types. The same is true for PGMAMDAS and PGMMXAMD. These data elements represent data set allocations to mountable DASD only. PGMADASD and PGMMXADA represent all DASD data set allocations, including mountable DASD.
The data set allocation data elements are grouped into two very similar looking sets. The difference is that the upper set, PGMAxxxx, is
MICS
accumulated data elements, while the lower set, PGMMXAxx, is
MICS
maximum data elements.
At the DETAIL timespan, there is no difference between the sum and max data elements, unless SMF type 30 interval recording is active. When interval recording is active, and a program step, started task, or TSO session generates more that one interval record, the PGMAxxxx data elements lose much of their value.
If SMF type 30 interval recording is active, PGMAxxxx represents actual data set allocations in the first interval of a step only. In the second and later intervals of a step, PGMAxxxx is set to zero if the number of data sets is less than or equal to the highest count of data sets found in a prior interval. If the number of data sets in the current interval is greater than the highest prior number encountered, then PGMAxxxx is set equal to the difference between the current value and the previous high value. Thus, the sum of PGMAxxxx over all intervals of a step will equal the maximum number of CLASS xxxx data sets found in any one interval of the step.
Why are the values of the PGMAxxxx data elements changed to zero in the second and later intervals? Because they are
MICS
accumulated data elements. They are summed to the job-level JOBAxxxx data elements. The algorithm in place to modify the true values of data set allocations is there to protect clients that charge based on the JOBAxxxx data element values. The switch to SMF type 30 interval recording would significantly increase the value of JOBAxxxx for a job with steps generating multiple interval records per step. This is best explained with an example:
A one-step batch job runs for 2 hours and 23 minutes. The job step allocates 22 data sets, all residing on 3390 DASD devices. The data sets remain allocated for the duration of the step. SMF type 30 interval recording is not active.
BATPGM file       Accumulated Elements | Maximum Elements                                        |                         PGMADASD       |    PGMMXADA STEP 1 (02:23)             22          |       22
PGMADASD equals PGMMXADA because interval recording is not active.
Now look at the BATPGM observations from the same job with SMF type 30 interval recording active and set for 30-minute intervals.
BATPGM file       Accumulated Elements | Maximum Elements                                        |                         PGMADASD       |    PGMMXADA INTERVAL 1 (00:30)         22          |       22 INTERVAL 2 (00:30)          0          |       22 INTERVAL 3 (00:30)          0          |       22 INTERVAL 4 (00:30)          0          |       22 INTERVAL 5 (00:23)          0          |       22
With interval recording active, the value of PGMADASD has been set to zero in the second through the fifth intervals. This was done to avoid a dramatic increase in the job-level data element JOBADASD. Without the algorithm that modifies the PGMAxxxx data elements in the second and greater intervals, JOBADASD would have changed from 22 to 110 with no change in the executing job step.
If SMF type 30 interval recording is active, the PGMMXAxx data elements should be used for data set allocation analysis at the DETAIL timespan. Without interval recording, the maximum and accumulated data elements are identical at the DETAIL timespan.
The following limitations are associated with the PGMMXAxx and PGMAxxxx data elements:
  • These data elements estimate data set allocations by summing the number of EXCP segments by device class. The fact that a data set was allocated does not imply nor guarantee that it was used.
  • There are a number of factors that will cause the PGMAxxxx and PGMMXAxx values to overstate the number of data sets allocated by device class.
    If SMF type 30 interval accounting is active, interval records are produced for every step or session, even if the step or session executes for less than the specified interval time. If the interval is set for 30 minutes and a job step runs for 2 minutes, an SMF type 30 subtype 3 ("partial" or "last" interval) record is produced for the step. SMF will also produce an SMF type 30 subtype 4 (step end) record for the step. In theory, these two records should have identical EXCP segments. A difference in the method used by SMF to consolidate the EXCP segments in interval versus the step-end records, however, allows up to two EXCP segments with the identical DDNAME and device address to appear in the interval records while the step-end record will only have a single segment. This difference only occurs when data sets are dynamically allocated, unallocated, and reallocated to the same DDNAME and device address within the interval. This lack of agreement in the number of EXCP segments does not affect the numeric quantities in the records, such as EXCPs and device connect time. It only affects the PGMAxxxx and PGMMXAxx data elements that depend on the number of EXCP segments present.
    MICS
    by default uses the subtype 3 rather than the subtype 4 record when both are available. This means that the values of the PGMAxxxx and PGMMXAxx data elements will increase when interval recording is turned on, even for steps and sessions that execute in less than the specified interval time.
    Multi-volume data sets are another factor that exaggerates the value of these data elements. When a data set resides on several DASD volumes, each volume will have its own EXCP segment in the SMF record. A single tape data set, spanning multiple tape volumes, will also generate multiple EXCP segments if the tape volumes are mounted on different devices.
    If the same data set is allocated by more than one DDNAME in the JCL, each DDNAME will have its own EXCP segment in the SMF record.
    Finally, if the DDCONS(NO) keyword is specified in the SMF PARMLIB member, EXCP segment consolidation will not be performed by SMF. This can dramatically increase the number of EXCP segments produced for all SMF type 30 records for long running steps that perform thousands of dynamic allocations and unallocations. A corresponding increase in the PGMAxxxx and PGMMXAxx values will occur.
  • A data set that is dynamically allocated or deallocated during an interval will count as a PGMMXAxx value for that interval. A deallocated device will be noted as absent in the subsequent interval record.
The ability of
MICS
to determine when data sets were allocated by a job step is hampered because there is no indication of wall clock connect time in the EXCP segments. The activation of SMF type 30 interval records can minimize this uncertainty.
The data elements representing device allocations in the BATJOB and BAT_JS files are derived from the corresponding program-level elements. These data elements are:
JOBA3480
Cartridge Tape Data Set Allocations
JOBACOMM
Communication Data Set Allocations
JOBADASD
DASD Data Set Allocations
JOBAGRAF
Graphics Data Set Allocations
JOBAMDAS
Mountable DASD Data Set Allocations
JOBATAPE
Magnetic Tape Data Set Allocations
JOBAUREC
Unit Record Data Set Allocations
JOBAVIO
VIO Data Set Allocations
and
JOBMXACA
Max Job Cartridge Data Set Allocations
JOBMXACO
Max Job Communication Data Set Allocations
JOBMXADA
Max Job DASD Data Set Allocations
JOBMXAGR
Max Job Graphic Data Set Allocations
JOBMXAMD
Max Job Mountable DASD Data Set Allocations
JOBMXATA
Max Job Tape Data Set Allocations
JOBMXAUR
Max Job Unit Record Data Set Allocations
JOBMXAVI
Max Job VIO Data Set Allocations
These job-level data elements are useful for determining jobs that allocate large numbers of data sets. The JOBAxxxx data elements are
MICS
accumulated elements. At the DETAIL timespan, they represent the sum of the corresponding PGMAxxxx data elements from all steps of the job. At higher timespans, they represent the sum of all occurrences of JOBAxxxx that were included in the level of summarization.
The JOBMXAxx data elements are
MICS
maximum data elements. At the DETAIL timespan, they represent the maximum value of the corresponding PGMMXAxx data elements encountered in all steps or intervals of the job.
The differences in these accumulated and maximum data elements are best described with an example:
A three-step batch job runs for 25 minutes.
  • Step one allocates 46 DASD data sets for the duration of the 10-minute step.
  • Step two allocates 26 DASD data sets for the duration of the 5-minute step.
  • Step three allocates 55 DASD data sets for the duration of the 10-minute step.
   |---------------------|----------|--------------------|    |  46 DASD data sets  | 26  DASD |  55 DASD data sets |    |                     | data sets|                    |    |---------------------|----------|--------------------|    |<---- STEP  1 ------>|<-STEP 2->|<---- STEP  3 ----->|
BATPGM file       Accumulated Elements | Maximum Elements                                        |                         PGMADASD       |    PGMMXADA Step 1    (00:10)          46          |       46 Step 2    (00:05)          26          |       26 Step 3    (00:10)          55          |       55   BATJOB file                            |                         JOBADASD       |    JOBMXADA Job       (00:25)         127          |       55  
The value of JOBADASD is 127. It is known that approximately 127 DASD data sets were allocated sometime over the three steps of the job.
The value of JOBMXADA is 55. It is known that a maximum of 55 DASD data sets were allocated in any one interval or step of the job.