COPYRIGHT (C) 1984-2021 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG NEWSLETTER SEVENTEEN
****************NEWSLETTER SEVENTEEN************************************
MXG NEWSLETTER NUMBER SEVENTEEN July 10, 1990
Technical Newsletter for Users of MXG : Merrill's Expanded Guide to CPE
TABLE OF CONTENTS
I. MXG SOFTWARE Version status. page 2
1. Production MXG Version is still 7.7. 2
2. PreRelease MXG Version 8.2 available upon request.
3. Enhancements completed in PreRelease 8.2.
4. Enhancements that didn't make it.
II. TECHNICAL NOTES page 3
1. "SMF and RMF Data Enhancements in MVS/ESA" 3
a. New MVS/ESA CPU measurements in type 30 record. 3
b. Absence of these new CPU measures in type 72 record. 4
c. Additional new MVS/ESA workload measurement data 5
d. TYPE 71 Overall System Memory measurements in MVS/ESA. 5
e. TYPE72MN - RMF III Monitor subtype of type 72 record 6
f. I/O Activity measurement, non-VSAM, VSAM, DASD, TAPE. 6
g. Improved capture of JES Printing activity 7
h. TYPE70PR - PR/SM Processor Partition Data 8
i. Data-In-Virtual (DIV) and Virtual Lookaside Facility (VLF). 9
j. DFP 3.2 Statistics and Configuration 10
k. Structural changes in SMF writer recording and its functions. 12
l. Additional SMS information in DASD VTOCs. 13
2. MVS PTFs and/or APARs. 13
3. MVS Technical Notes. 15
a. ACTFRMTM notes. 14
b. No DB2 I/O counts in SMF data. 14
c. Identify lost Index in Indexed VTOCs. 15
d. Instantaneous 4.5 MB/sec channel speed versus sustainable. 15
e. Long Channel Programs affect Channel Measurements. 15
f. Erase on Delete can be set accidentally by RACF. 15
g. SPF EDIT subcommand COPY renumbers line numbers. 15
4. VM PTFs and/or APARs. 16
5. CICS Technical Notes. 16
a. Major structural changes in CICS 3.1.1 measurement data. 16
b. Changes to MXG Data Set CICSEXCE in CICS 3.1.1 17
c. Changes to MXG Data Set CICSTRAN in CICS 3.1.1 18
d. New CICS 3.1.1 Statistics Data Sets descriptions. 21
e. Observed errors in CICS 2.1 CICSYSTM and MONITASK CPU time. 22
6. SAS 6.06.01 Issues and MXG recommendations. 23
a. SAS 6.06 ERROR Conditions requiring ZAPS to be installed. 24
b. SAS 6.06 Incompatibilities which required MXG Source Changes. 26
c. Additional SAS 6.06 compatibility items. 28
d. Performance measurement comparisons and performance zaps. 31
e. Summary of MXG required or recommended SAS ZAPs for 6.06. 31
III. Documentation of MXG Software. 32
IV. CHANGE LOG, Changes 8.072 to 8.001. page 33
(Alphabetic INDEX of Significant Changes on page 34) thru 56
COPYRIGHT (C) 1990 BY MERRILL CONSULTANTS DALLAS TEXAS
MXG IS A REGISTERED TRADEMARK OF MERRILL CONSULTANTS
SAS IS A REGISTERED TRADEMARK OF SAS INSTITUTE
I. MXG SOFTWARE Version status.
1. Production MXG Version is still 7.7.
There is no new software automatically shipped with this newsletter.
MXG Version 7.7 (which shipped in February, 1990) is the production
version. MXG 7.7 already supports MVS/ESA 3.1.1, new 3390 DASD devices,
3490 Tape Drives, IDRC, and everything else that was available in Feb.
All reported errors are described and fixed in this Newsletter, and
most sites will probably not require the PreRelease of MXG 8.2.
We do not expect to ship the production Version 8 until early 1991.
2. PreRelease MXG Version 8.2 available upon request.
MXG PreRelease 8.2 is now available upon request to supported sites.
All of the Changes listed in the newsletter are included in MXG 8.2.
The major enhancements in PreRelease MXG 8.2 are listed below, and the
Changes section of this newsletter describes all of the enhancements.
There is no cost for the PreRelease. Simply contact us by phone, fax,
or letter (overseas, your local SAS office will relay your request),
and we will be pleased to send you your copy of MXG PreRelease 8.2.
3. Enhancements completed in PreRelease 8.2.
a. Support for new CICS/ESA 3.1.1 Monitor and Statistics Data.
b. Support for new Cray hardware COS 1.16 Operating System Data.
c. Support for new VLF subtype 3 in SMF type 41.
d. Support for new HiperBatch stats in SMF type 14, 15, and 64.
e. Support for new SMS utility DCOLLECT data records.
f. Support for new Oracle SMF record.
g. Source changes required for SAS 6.06 compatibility.
h. Support for IMF 2.6 (for IMS 3.1).
i. VTOC support enhanced with OFFSET4E and SMS variables added.
j. BUILDPDB/3 Enhancements.
- SPIN library copied into PDB for backup and recovery
- ACCOUNTn and SACCTn added to SMFINTRV.
- TYPE25 processing added for JES3.
k. NPM records from VM can be processed.
l. Note: MXG 7.7 requires MACRO DQUOTE MWORK=28K options for 5.18.
m. Corrections to all reported errors in MXG 7.7.
4. Enhancements that didn't make it.
a. LLA (User coded exit) SMF record.
b. WSF2 SMF record.
c. Cray COS 1.17
d. Cray UNICOS.
e. VAX/VMX Accounting and SPM data.
f. Landmark CICS Release 8.
g. HSM SMF record completion.
h. JES3 Tape Mount Merge with TYPETMNT.
i. Corrections to MXG support of Amdhal's MDFTRACK record.
j. Change 8.008 for VMACVMON errors.
II. Technical Notes.
1. "SMF and RMF Data Enhancements in MVS/ESA"
This paper has been presented at:
UKCMG 90 Glasgow, Scotland May 21, 1990
SWCMG Austin, Texas Jun 21, 1990
This paper identifies the significant changes in data elements that are
captured (and those that are NOT captured) in MVS/ESA. New CPU times
that are captured in SMF type 30 records (but not captured in RMF type
72 records) dramatically affect billing and capacity measurement. Steps
usage of HIPERSPACE/Data Spaces resources (such as invoked sorts) are
captured. "Active frame time", captured by each performance group, may
be an accurate measure of central+expanded memory occupancy. Printer
activity can be identified to the step which caused the printing. The
SMF VSAM data set (finally) will use a half-track CI size. These
highlights and other details will update the changes between MVS/XA and
MVS/ESA, including ESA 3.1.3.
a. New MVS/ESA CPU measurements in type 30 record.
Three New MVS/ESA CPU measures, two old, one new, have been added to the
SMF type 30 records, which is the source of job accounting and job-level
capacity measurement.
"RCT" - Region Control Task (Quiesce/Restore/Swap), caused by TSO and
CPURCTTM Batch swapping. This time has always existed, (in uncaptured
CPU), and is the major contributor to low TSO capture ratios.
"IIP" - I/O Interrupt Processing (Second Level Interrupt Handler, the
CPUIIPTM SLIH CPU time). This time has always existed, (in uncaptured
CPU), and affected all workload's capture ratios.
"HPT" - Hiperspace processing CPU time. This time is new. Hiperspace
CPUHPTTM CPU time displaces functions which formerly were measured in
TCB or SRB. Using Hiperspace for SORT processing will reduce
the step TCB CPU time, because function was moved from TCB to
Hiperspace. IBM's DFSORT 11 announcement showed a sort that
reduced TCB from 100 to 50 seconds, but the new HPT CPU time
bucket contained 25 CPU seconds. The true reduction was only
from 100 to 75 seconds! Using TCB and SRB only for Billing
and Capacity will be wrong with Hiperspace processing. Note
that Hiperspace CPU time is only recorded for tasks executing
in User Protect Keys, and only User Key Data Spaces are under
control of the IEFUSI exit for size. Most IBM uses of Data
Spaces (HiperBatch, VLF, DFP, CATALOG) use KEY Zero just so
they can avoid IEFUSI virtual storage limitations, and thus
they do not record HPT CPU time (nor DSSIZHWM, see below).
Moral: You must use all seven of the CPU measures in the type 30 record:
(MXG's variable CPUTM has always been the sum of ALL CPU values).
CPUTM=CPUTCBTM+CPUSRBTM+CPITCBTM+CPISRBTM+CPURCTTM+CPUIIPTM+CPUHPTTM.
b. Absence of these new CPU measures in type 72 record.
Of greater concern to capacity planning is the absence of these new CPU
measures in the type 72 RMF performance group data:
TYPE 70 (RMF-captured CPU measurement of real or logical CPUs)
Elapsed Interval (Duration multiplied by number of CPUs)
__________________________________________________________________
________________________________________________________ ---------
CPU CPU
Executing Waiting
__________ ________ _________ ________ ________ ________
CPU 1 CPU 2 CPU 3 CPU 4 CPU 5 CPU 6
Busy Busy Busy Busy Busy Busy
________________________________________________________
Total Hardware CPU Busy Time (from Type 70 "non-wait")
TYPE 72 (use only the control performance groups)
_____ _____ --------------------------------------------
RMF RMF Uncaptured
TCB SRB RMF CPU Busy
CPU CPU
___________ ----------------------------- --------------
CPUTM Existed, Moved from New, Uncapturable
=TCB+SRB Never has Uncaptured was RMF CPU
been in to IIP/RCT RMF
RMF in 30's TCB
TYPE 30 (all work started and ended):
_____ _____ _____ _____ _____ _____ _____ --------------
SMF SMF SMF SMF SMF SMF SMF Uncapturable
TCB SRB TCB SRB IIP RCT HPT SMF CPU
CPU CPU CPI CPI CPU CPU CPU
_________________________________________
CPUTM=Sum of all 7 CPU times in TYPE30
c. Additional new MVS/ESA workload measurement data
TYPE 30 Step Hiperspace/Data Space Activity
HIPAGINS - Hiper Page Ins (from Auxiliary DASD)
HIPAGOUT - Hiper Page Outs (to Auxiliary DASD)
DSSIZHWM - Data Space/Hiperspace High Water Mark, Megabytes, but
is recorded only if task is in a User Protect Key. Tasks
in Protect Key 0 do not record DSSIZHWM. A nonzero value
of DSSIZHWM identifies a Data Space or Hiperspace user.
CREADMIS - Hiperspace Read Misses (also called CREADS by IBM)
DIVRREAD - Address Space total Reread Count
ABNDRSNC - ABEND reason code
TERMNAME - Terminal Identification
TYPE 72 Performance Group paging/memory measures
HIPPGINS - Hiperspace Page Ins (from Auxiliary DASD)
HIPRDMIS - Hiperspace Read Misses (CREADMIS in TYPE 30s)
PGPAGEIN - Page Ins (from Auxiliary DASD)
ACTFRMTM - Frame-seconds of memory occupancy while tasks in
this performance group period were "SRM Resident".
This includes both Central Store and Expanded Store
frames, but does not include Nucleus or Common Area
(since they are not in an address space), and does
NOT include frames of Logically Swapped ASIDs.
MSOUNITS - Represents frame-seconds of Central Store memory
occupancy, but only while executing TCB.
ACTFRMTM MSOUNITS
Estimated ESTORE Frames = (-----------) - (--------------------)
RESIDTM 50*MSOCOEFF*CPUTCBTM
d. TYPE 71 Overall System Memory measurements in MVS/ESA
Area Expanded Frames Central ("Real") Frames
Avg, Min, Max Avg, Min, Max
Measures Measures
CSA CSAEXAV,MN,MX n/a
Hiper HIPEXAV,MN,MX n/a
LPA LPAEXAV,MN,MX n/a
LSQA LSQAEXAV,MN,MX LSQAREAV,MN,MX
REG+SQA REGSEXAV,MN,MX n/a
SQA SQAEXAV,MN,MX SQAREAV,MN,MX
VIO VIOEXAV,MN,MX n/a
Type Pages Pages Pages
Read Written Migrated
From ESTORE To ESTORE To Aux
Hiper HIPREADS HIPWRITS HIPMIGRS
VIO VIOREADS VIOWRITS VIOMIGRS
Total EXTREADS
Hiper page ins HIPAGINS
Hiper page outs HIPAGOUT
e. TYPE72MN - RMF III Monitor subtype of type 72 record
MVS/ESA creates an RMF record from RMF Monitor III, but only a small
part of the data captured by RMF III is written to SMF, for each
Performance Group
User Statistics Frame Statistics
AVGUSER - Logged On FRAMEACT - Active Frames
AVGACTS - Active Users FRAMEDIV - DIV Frames
AVGACTV - Active Not OUTR FRAMEFIX - Fixed Frames
AVGDIVS - D-I-V Users FRAMEIDL - Idle Frames
AVGIDLS - Idle Users
Delayed Users Statistics Miscellaneous
AVGOUTR - Out and Ready FRAMEASM - Slots Used
AVGPAGDL - Delayed Paging PGINRATE - Page Ins
AVGSWPDL - Delayed Swap DOMAIN - Domain
PERFGRP - Perf Group
Averages of Averages
WSETACT - Avg working set per active user
WSETASM - Avg ASM slots used per user
WSETDIV - Avg working set per DIV user
WSETFIX - Avg fixed frames per user
WSETIDL - Avg working set per idle user
f. I/O Activity measurement, non-VSAM, VSAM, DASD, TAPE.
TYPE1415 Non-VSAM File, for each open of each file.
DSSNO Dataset serial number
IDRC 3480 IDRC compaction used?
NULLSEG null segment encountered?
PDSE PDSE (formerly ILIB) managed data set?
SMFCHITS HiperBatch successful searches
SMFCIOS HiperBatch DASD I/Os copied into buffers
SMFIOREQ HiperBatch total searches
SMFNMWTS HiperBatch conflict suspends
SMFPHIOS HiperBatch searchs that caused DASD I/O
TRUNC TRUNC MACRO issued?
TYPE64 VSAM File, for each open of each file.
ACBBUFND BUFND - Number of Data Buffers
ACBBUFNI BUFNI - Number of Index Buffers
ACBBUFSP BUFSP - Buffer Space
ACBMACR MACRF flag bytes (Random, Seq, Input, Output, etc.)
ACBSTRNO STRNO - String number
BUFDRNO Actual number of buffers
JCFBDSNM Cluster Name
PLHCNT Actual number of concurrent strings
SMF64HIT HiperBatch successful searches
SMF64IOS HiperBatch DASD I/Os copied into buffers
SMF64MIS HiperBatch searches that caused DASD I/Os
SMF64SIO HiperBatch total searches
SMF64WTS HiperBatch conflict suspends
TYPE74 DASD Volume Activity
DASDRCFG - Number/Storage Group Options
TYPE 21 Tape Volume Dismount
BYTEREAD Bytes read
BYTEWRIT Bytes written
DCBOFLG DCBOFLG control byte
DEVICE Device type
OPEN Type of OPEN
TAPCUSER Tape unit serial of creation device
TAPUNSER Tape unit serial of this device
TEMPRBER Temporary read backward errors
TEMPRFER Temporary read forward errors
TEMPWRER Temporary write (buffered) errors
g. Improved capture of JES Printing activity
TYPE6 JES Printer Record Enhancements
Step identification of source of print
SMF6DDNM DDNAME that created printing
SMF6DSNM JES assigned temporary DSNAME of the print dataset
SMF6PRNM PROCSTEP that created printing
SMF6STNM STEPNAME that created printing
SMF6USID USERID that created printing
SUBSYS6 Printing Subsystem (JES/PSF) used.
SMF6PRMD Processing mode (PAGE/LINE) of print.
SMF6FDNM FORMDEF name used
SMF6PDNM PAGEDEF name used
SMF6PTDV PRINTDEF name used
Print security identification
SMF6NPS Security page segments used
SMF6NSFO Security fonts used
SMF6NSOL Security overlays used
SMF6OTOK Output user security token
SMF6SECS Security label of print dataset
Available only with MXG modification to JES2 (see 7.7 member CHANGES).
RLSETIME Time SYSOUT was released for printing
Yes/No Flags.
BINnUSED BIN Number n was used?
CONTRIN0 SPIN data set?
CONTRIN1 Operator terminated print?
CONTRIN2 Operator restarted print?
CONTRIN3 Print intrepreted?
CONTRIN4 Operator interrupted print?
CONTRIN5 Print continuation?
CONTRIN6 Operator overrode?
CONTRIN7 Restart with destination?
CONTRIN8 Received operator restart?
CONTRIN9 Operator started single space?
DIADPLWS Data page labelling suppressed?
DIAJHWP Job trailer page printed?
DIASLIG Job header page printed?
DIAUPAWS User print are suppressed?
DPAGELBL Keyword DPAGELBL=YES?
ERROVRUN Image overrun error?
ERRSECOV Error in security overlay?
INTEGRTY Security label integrity?
PRSUCCES Print operation successful?
SPAGELBL Keyword SPAGELBL=YES?
STDUPLEX Standard duplex used?
SYSAREA Keyword SYSAREA=YES?
TMBUPLEX Tumble duplex used?
h. TYPE70PR - PR/SM Processor Partition Data
Durations of partition
DURATM Duration of interval
LCPUPDTM Logical processor dispatch time
PRSMSLIC Dispatch interval timeslice
Identification of partition
LCPUADDR Logical processor CPUID address
LPARNAME Logical partition name
LPARNUM Logical partition number
Status flags and numbers
DIAG204F Diagnose X204 failure?
LCPUDED Logical processor dedicated?
LCPUWAIT LPAR Wait Completion (Yes/No)?
NRPRCHGD Was the number of CPUs changed?
PARTFLG Was the Partition deactivated?
SLICCHGD PRSMSLIC Time-slice was changed?
LCPUSHAR Processor relative share
LPARCPUS Number of CPUs in this LPAR
NRCPUS Number of CPUs
NRPRCS Number of logical partitions
PARTISHN Partition number of this MVS
PARTNCPU Nr of CPUs available to this partition
Do not use PR/SM CPU measures without reading ZZ05-0453-01 (Jan, 1990),
"PR/SM Performance in LPAR Mode", WSC Technical Bulletin, which shows
that PR/SM has a "Low Utilization Effect" making PR/SM look like it
uses more CPU time than it really does. (This ZZ publication is labeled
"IBM Internal Use Only", but your IBM SE will let you see it).
i. Data-In-Virtual (DIV) and Virtual Lookaside Facility (VLF).
TYPE41AC (DIV Accessed) and TYPE41UN (DIV Unaccessed)
Common to both Access and Unaccess
ACCSTIME Time when object was accessed
DDNAME DDNAME used
JOB Job name or TSO user accessing object
OBJMODE Access mode (Read/Update)
OBJSIZEA Object size (blocks) when accessed
OBJTYPE Object type (DA)
Additional data at Unaccess only in TYPE41UN
IOCALREA Total I/O calls for read
IOCALWRT Total I/O calls for write
OBJSIZEU Object size (blocks) when unaccessed
TOTREADS Total blocks read (including rereads)
TOTRREAD Total blocks re-read
TOTWRITE Total blocks written
UACCTIME Time when object was unaccessed
TYPE41VF Virtual Lookaside Facility (VLF) statistics
APARs OY28799 and OY28800 for MVS/ESA create a type 41 new subtype 3
interval (15 min) record for each class in the COFVLFnn PARMLIB member.
SMF41CLS Class name
SMF41SRC Times cache was searched
VLFHITPC Percent of searches found in VLF
SMF41ADD Objects added to cache during interval
SMF41DEL Objects deleted from cache
SMF41FND Objects found in cache
SMF41TRM Objects trimmed from cache
SMF41LRG Largest object ever attempted
SMF41MVT MAXVIRT specified
SMF41USD Amound of storage used
j. DFP 3.2 Statistics and Configuration
TYPE 42 record contains 3 subtypes and MXG creates 5 datasets.
TYPE42AU "Audit" VARY SMS, ACTIVATE SMS, or ENF events when they occur.
CURRTIME Current update timestamp
SMF42EAC Activate, ENF, or VARY SMS?
SMF42EAD Active control dataset name
SMF42ENS New MVS volume status
SMF42EOS Old MVS volume status
SMF42ERC Return code
SMF42ERS Reason code
SMF42ESD Source control dataset name
SMF42ESN Name of storage group
SMF42EST Resulting status after action
SMF42ESY "ALL", or first 8 system names
SMF42EUA UCB address for the device
SMF42EVL Volume serial number
TYPE42CU Model 3990-3 Cache Control Unit Statistics, for each cache
controller having an SMS volume attached.
Identification and timestamps
SMF42CID Subsystem identifier
CURRTIME Current update timestamp
LASTTIME Last update timestamp
Statistics during interval
SMF42AFW Average fast-write waits per minute
SMF42AHR Average hit ratio
SMF42CCT Current I/O count for the subsystem
SMF42LCT Last I/O count for the subsystem
SMF42CFW Current fast write wait count
SMF42LFW Last fast write wait count
SMF42CRH Current cache normal read hit percent
SMF42LRH Last cache normal read hit percent
SMF42CWM Current fast write waits per minute
SMF42LWM Last fast write waits per minute
Storage capacity/availability
SMF42CSS Subsystem storage capacity
SMF42NCS Subsystem non-volatile storage status
SMF42NSZ Non-volatile cache capacity
SMF42SAP Storage allocated for PINNED data
SMF42SCS Storage director caching status
SMF42SPR Non-volatile storage allocated for PINNED
SMF42SSA Storage available for allocation as CACHE
SMF42SSU Storage unavailable due to failures
TYPE42VL Status for each SMS volume behind 3990-3
CURRTIME Current update timestamp
SMF42CID Subsystem identifier
SMF42DB1 Device status flags one
SMF42DB2 Device status flags two
SMF42DEV Device number
SMF42VOL Volume Serial Number
TYPE42SC Storage Class Buffer Manager Facility (BMF) Statistics for each
Storage Class. (Interval set in IGDSMSnn).
DURATM Interval duration
ENDTIME End timestamp of the interval
SMF42PNN Storage Class Name
SMF42SDH Directory data page read hits
SMF42SDT Directory data page reads
SMF42SRH Member data page read hits
SMF42SRT Member data page reads
STARTIME Start timestamp of the interval
TYPE42TO Buffer Manager Facility (BMF) Totals for all Classes.
DURATM Interval duration
ENDTIME End timestamp of the interval
SMF42LGE Largest size of storage
SMF42TDH Directory data page read hits
SMF42TDT Directory data page reads
SMF42TNA Number of storage classes
SMF42TRH Member data page read hits
SMF42TRT Member data page reads
STARTIME Start timestamp of the interval
k. Structural changes in SMF writer recording and its functions.
Control Interval size of SMF VSAM data set can be 22K (finally!!). Large
CI size is desired because it significantly reduces all costs of writing
and reading SMF records. The support for Large CI size is in ESA 3.1.3,
or in MVS/XA PTF OY19862. SMF always gets 259 buffers (CIs) at startup.
With 4K CI size, SMF needed 1 MB virtual (4096*259=1MB), but with a 22K
CI size, SMF now requires a 6 MB address space (22K*259=6MB).
SMF Exits can now use 31-bit addressing AMODE(31)
Callers in Cross Memory can call SMF (MODE=XMEM on SMFEWTM) and a new
SMF exit (IEFU85) exists for records to be written by these callers in
cross memory.
Internal buffers are now in 31 bit storage (i.e., no longer below the
16MB line).
A fixed maximum of 32MB can be used for SMF buffers.
If over 80% of the current buffers are in use (i.e., un-written), the
Buffer Shortage message is displayed, and will be redisplayed if the
number of buffers increases. SMF will get 200 more buffers (CIs) at a
time, up to a maximum of 4000 (=32MB). As buffers are freed, the
percentage in the message does not decrease. When the percentage is
below 70% the Buffer Shortage message is deleted.
A new NOBUFFS option in SMF PARMLIB controls SMF action when the last
SMF buffer fills.
MSG - send message and enter data lost mode (default)
HALT - put system in restartable WAIT STATE ('D0D-00')
A new LASTDS option in SMF PARMLIB controls SMF action when the last SMF
dataset fills.
MSG - send message, start buffering data (default)
HALT - put system in restartable WAIT STATE ('D0D-01')
SMF internal buffers can be recovered from a dump after a system crash.
The new IPCS SMFDATA command can read a SYSMDUMP, SVCDUMP, or Standalone
dump data set and will reclaim the SMF buffers as they stood at crash
into a VSAM data set; the VSAM data set must be empty and have the same
CI size as the original SMF dataset.
l. Additional SMS information in DASD VTOCs.
System Managed Storage (SMS) now uses formerly reserved bits located at
offset '4E'x in the DSCB1 in your VTOCs. DASD products like DMS/OS and
ASM2 have used these bits, and local modifications (to CSECTS IFG0196W
and IFG0194E) have also caused this "DSCB Contamination".IBM published
"Clean up VTOCs Before Implementing DFP V3" (as WSC Flash 9009, Hone
Entry G022345) to advise you of the exposure. If DSCB contamination is
found, you must not only clean the VTOCs of your online data sets, but
you will need to also clean all migrated datasets, since their DSCBs
were also migrated and your migration software will need to correct the
contamination when datasets are recalled. Vendors of the above products
have fixes to their products to deal with this "DSCB Contamination"
These new SMS variables are contained in DASD VTOCs.
DS1CRSDB DADSM Create originated blocksize?
DS1PDSE PDSE Managed Dataset?
DS1REBLK Data set may be reblocked?
DS1SCCPF Secondary is compacted factor value of 1, 256, or 65536.
DS1SECUN DS1SECUN units avg block, bytes, kilo or mbytes (A/B/K/M)?
DS1SCXTV Secondary space extension value
DS1SMSDS System managed (i.e., SMS) dataset?
DS1SMSUC No BCS entry exists for data set?
OFFSET4E Offset 4E into DSCB1 (used by SMS)
There is a new SMS Utility, DCOLLECT, that creates a flat file from VTOC
and VVDS records that is supported in MXG PreRelease 8.2 Change 8.07x.
an There wil be an evaluation and comparison of DCOLLECT output with
MXG's VMXGVTOC, ASMVVDS and VMACVVDS in the next Newsletter.
2. MVS PTFs and/or APARs.
APAR OY29986/PTF UY49159 is required to correct a JES 2 3.1.3 error that
creates a truncated type 6 SMF record (which caused MXG to STOPOVER).
APAR OY28449/PTF UY40902 adds new "SRCL" field to RMF Product section,
but the new field is always zero, causing NO impact on MXG. See Change
8.065, below.
APAR OY31183, SMS only, creates DEVTYPE=FF and DEVNR=0FFF in the type 30
DD segments for DDs with more than one device allocated, causing an MXG
note "Invalid Device Type" (but does not cause MXG to fail). IBM has
not yet issued a PTF to fix their problem.
APAR OY28328, PTF UY46699 corrects TYPE79 External Storage Frame Count
field R791ES.
APAR OY30300, and OY32039 correct the UCB length segment in type 14/15
SMF record so that HiperBatch statistics which were added in MVS 3.1.3
can be recognized as present in the record. The fields were added, but
the UCB length field was not updated to reflect the added data.
The SMF algorithm which consolidates like DD segments (have same DDNAME
and same unit address) in building the type 30 records is now optional.
A new SMFPRMnn parameter, DDCONS=YES/NO, default YES (i.e., no change)
are added by APAR OY25606 PTF UY48312. The consolidation algorithm has
been found to consume inordinate CPU time after step termination for
long running jobs (SAR, 3890XP, etc.) that have many DD segments because
they stay up for days. These products dynamically allocate a new DD for
each function, each with a different DDNAME, and type 30 records with
25,000 to 50,000 DD segments may be written. The consolidation algorithm
searches each of these thousands of entries (sequentially) for exact
match on ddname and unit address, to consolidate like entries, which
never happens with the unique dynamic DDNAMEs! Sites with these long
running dynamic allocating jobs should specify DDCONS=NO to avoid the
consolidation expense. The consolidation algorithm only really impacts
the subtypes 4 and 5, written at step and job termination, since they
contain all DDs for these long-running step and the job. The subtype 2
and 3 (interval) records only contain the DD segments allocated during
the interval and thus are inherently much shorter, with concomitantly
less impact. One 3890XP (Check Processing) site only wrote interval
records for their STCs just to avoid the consolidation algorithm delay.
Not only was there a high CPU cost, it literally took hours for the task
to end after the operator canceled it! Writing only interval records
for STCs has a negative impact on MXG's PDB.JOBS and PDB.STEPS datasets,
since MXG uses only the type 30 subtype 4 record for resources. Using
DDCONS=NO should avoid these problems.
DB2 APAR PL48307 (PTF UL58797 for 2.1, UL58796 for 2.2) corrupts the
sequence number (QWHSISEQ in MXG) and can causes 0 observations in
DB2STAT0 and DB2STAT1 datasets.
3. MVS Technical Notes.
a. ACTFRMTM notes.
Variable ACTFRMTM (Resident-Frame-Seconds) in your TYPE72 Performance
Group data will be garbage (only for the TSO Perf Groups), if your site
has the TSO/MON Product, and has not yet installed the year-old Legent
fix "Immediate Action #28". Legent detected their error and sent that
flash out last year, but we still find sites that did not install that
critical fix on their TSO/MON product.
As noted in Newsletter 13, ACTFRMTM measures Central Store plus Expanded
Store residency time frame-seconds, while MSOUNITS measures only Central
Store CPU TCB time frame-seconds. You calculate CS-only-frame-seconds
as MSOFRMTM=MSOUNITS/(50*MSOCOEFF), to compare with CS+ES-frame seconds
in ACTFRMTM. Dividing MSOFRMTM by CPUTCBTM to get CS-only frames, and
dividing ACTFRMTM by RESIDTM to get CS+ES frames, and then subtracting
estimates ES frame count. Small denominator values (RESIDTM or CPUTCBTM)
can generate inaccurate values; calculate frames only if the denominator
is more than 1 second in the performance group period record.
ACTFRMTM MSOUNITS
Estimated ESTORE Frames = (-----------) - (--------------------)
RESIDTM 50*MSOCOEFF*CPUTCBTM
b. No DB2 I/O counts in SMF data.
INFO/SYS entry Q426001 "explains" why there are no DB2 I/O counts in SMF
data. The Media Manager bypasses the call to SMF EXCP counting!
c. Identify lost Index in Indexed VTOCs.
Indexed VTOCs sometimes lose their index. After this has happened, the
TYPE19 dataset variable VTOCERRO will be equal to 'Y', detecting that
the index has been lost.
d. Instantaneous 4.5 MB/sec channel speed versus sustainable.
The 4.5MB/sec channel speed is only an instantaneous speed. For actual
data transfer the rate is at best 2.2MB/sec to 2.5MB/sec on 3480s with
IDRC. INFO/SYS entry Q411444 estimates 6 hours elapsed time to dump 100
GB from 3380s to 3480s (four concurrent dumps to two A22s with sixteen
drives). IDRC reduced the elapsed time to 5.5 hours. The path between
the A22 and the 3480 is still a 3MB/sec path, and was the constraint.
The faster 4.5MB/sec channel served only to reduce the channel busy from
90-95% before to about 75% utilization after.
e. Long Channel Programs affect Channel Measurements.
Long Channel Programs can cause the Channel Measurement Block data (the
source of Connect, Disconnect, and Pending) to be potentially wrong. The
CMB is updated at the end of each Channel Program, but if the interval
monitor (both MVS RMF and VM/XA Monitors use CMB) has a duration shorter
than the duration of the channel program, the monitor data will show
many intervals of 0 connect time, and then the total connect time for
the channel program will appear in one interval (often recording more
connect time in that record than the duration of the interval). PSF in
particular has caused "errors" when a 1 minute interval is specified.
The connect time, etc., is zero for 9 intervals and then the accumulated
connect time is recorded in the tenth 1-minute interval record. The real
problem is not PSF, but rather long running channel programs.
f. Erase on Delete can be set accidentally by RACF.
RACF "Erase on deletion" option may be needed for security, but it can
significantly increasd Disconnect time on DASD volumes. Dan Kaberon at
Hewitt discovered that the RACF SETROPTS description says that ERASE
specifies that scratched datasets will be erased if the data set profile
so dictates, but the actual ERASE option values are YES, NO or ALL.
"ALL" specifies that all scratched data sets will be erased REGARDLESS
of the ERASE indicator in the data set profile! "ALL" had been specified
unintentionally, causing public volume response of 500 ms per I/O
(because temporary data sets residing on public volumes were also being
ERASEd on delete)! Watch out for this RACF option! An elaboration of
Dan's discovery will be in a future Candle Report.
g. SPF EDIT subcommand COPY renumbers line numbers.
TSO SPF EDIT subcommand COPY should NOT be used to copy a source member
into your USERID.SOURCLIB library from the MXG.SOURCLIB, because the
COPY subcommand of EDIT will renumber the lines! Always use SPF COPY
Command (3.3) instead to copy members without renumbering, so that
numbering will be preserved. (It's not clear when this began to happen,
nor whether it's an IBM design change or an error; if you know more
let me know!)
4. VM PTFs and/or APARs.
APAR VM40478 and VM41591 (when PTF'd) will fix a VM/XA problem with
Timeslice value. VM/XA internal logic hardcoded an expected timeslice
of 25ms, and sites that changed their timeslice had serious Dispatcher
problems.
VM/SP Release 5.0 during unload of MXG tape with TAPPDS failed with the
DMSTPD105S ERROR 2 Writing, Virtual Storage Address zero message, but
VM/SP Release 5.1 executed TAPPDS without error. TAPPDS maintenance for
VM/SP 5.0 is probable, but the 5.1 circumvention ended investigation.
5. CICS Technical Notes.
a. Major structural changes in CICS 3.1.1 measurement data.
The type 110 record for CICS 3.1.1 contains two new subtypes. Subtype 1
is the CICS Monitor Facility data record, while the new subtype 2 is the
new CICS Statistics data record. Type 110 data records now must be
written to an SMF file; journal destination is not offered in 3.1.1.
The subtype 1 is similar to the previous type 110 subtype 0 CMF record,
but only the CICSEXCE ("Exceptions") and CICSTRAN ("Transactions") data
sets exist in CICS 3.1.1. The previous CICSACCT ("Account") data set
is no longer created (it has always been redundant with CICSTRAN data).
The CICSYSTM ("System Interval") is not created in CICS 3.1.1, but most
of its data (plus a whole lot more new stuff) will be found in one of
the forty-seven(!) new CICS Statistics STIDs in subtype 2 records.
CICS 3.1.1 type 110 records are incompatible with previous 110 records.
MXG 8.2 supports ALL type 110 records from any CICS (1.5 thru 3.1.1)!
MXG 6.6 or earlier will fail when it encounters CICS 3.1.1 records.
MXG 7.7 recognizes and deletes CICS 3.1.1 records (they have a nonzero
subtype value), but could not support records not available until July!
However the subtype test added in MXG 7.7 has inadvertently deleted
CICS 1.7 records at two sites, because that supposedly reserved field
was used by CICS 1.7! If MXG 7.7 does delete your CICS 1.7 records, the
logic in 7.7 can be corrected as described in Change 8.040, although
installing MXG 8.2 PreRelease would be far wiser!
The new CICS Monitor fields are documented in IBM's new "CICS/ESA 3.1
Customization Guide".
The new CICS Statistics records and fields are extremely well documented
in IBM's new "CICS/ESA 3.1 Performance Guide". MXG's forty-seven CIC....
data sets built from CICS Statistics records use the IBM DFHSTUP field
names as variable names and the IBM symbolic names as the MXG data set
names, so the IBM Performance Guide is also the MXG documentation! In
addition to the CICS 3.1.1 specifics in the Performance Guide, it also
contains many superb discussions of all CICS tuning parameters, most of
which apply to CICS 1.7 and CICS 2.1. The Performance Guide is required
CICS reading!
b. Changes to MXG Data Set CICSEXCE in CICS 3.1.1.
Exception records are produced after each of the following conditions
encountered by a transaction have been resolved.
. Wait for storage in the DSA or in the EDSA
. Wait for temporary storage (MAIN)
. Wait for file string
. Wait for file buffer
. LSRPOOL string waits.
The duration of the exception is EXWAITTM, calculated as ENDTIME minus
STRTTIME, and the cause of the exception is described by EXCMNTYP. The
name and type of resource causing wait is described by EXCMNRTY and
EXCMNRID. This CICSEXCE observation can be matched to its CICSTRAN obs
by matching values of TASKNR in both datasets. Multiple observations
(counted by TASEXCNR) can occur in CICSEXCE for a single transaction.
MXG Sort Order for MXG Data Set CICSEXCE:
TRANNAME TERMINAL USER OPERATOR STRTTIME ENDTIME TASEXCNR
CICSEXCE Fields deleted by CICS 3.1.1.
CMODNAME MXG Variable
PCOMPRTM PGMCMPTM Program Compression
PCOMPRTM PGMCMPCN
SCWTETIM SCWTETM Suspend time storage not avail
SCWTETIM SCWTECN
CICSEXCE Fields changed by CICS 3.1.1.
CMODNAME MXG Variable
EXCMNTST TRANTYPE
Transaction start type. The field values now decoded by
the $MG110TT. format now are:
'A' ='A:AUTO INITIATED'
'C' ='C:CONVERSATIONAL'
'D' ='D:TRANSIENT DATA'
'T' ='T:NORMAL TERMINAL STARTED'
'S' ='S:SYSTEM INTERNAL TASK'
'Z' ='Z:PSEUDO CONVERSATIONAL'
'00000000'X='X00:FROM TERMINAL INPUT'
'00000001'X='X01:BY ATI WITHOUT DATA'
'00000002'X='X02:BY ATI WITH DATA'
'00000003'X='X03:BY TRANSIENT DATA TRIGGER LEVEL'
'00000004'X='X04:BY USER REQUEST'
'00000005'X='X05:FROM TERMINAL TCTTE TRANID'
SCWTSTG MSREQWT becomes MSWAITCN/TM Getmain Waits
TSWTSTG TSREQWT becomes TSWAITCN/TM Temp Storage Waits
CICSEXCE Fields added by CICS 3.1.1.
MXG Variable
EXCMNRID='EXCEPTION*RESOURCE*IDENTIFICATION'
Exception resource identification.
EXCMNRTY='EXCEPTION*RESOURCE*TYPE'
Exception resource type.
EXCMNTYP='EXCEPTION*TYPE'
Exception type. Values are:
(See Format $MG110EX. in member FORMATS)
EXWAITTM='DURATION*OF THE*EXCEPTION'
Duration from STRTTIME to ENDTIME of this exception.
LUNAME ='LOGICAL*UNIT*NAME'
Logical unit name. VTAM logical unit name (if available) of
the terminal associated with this transation. This field is
nulls if the task is not associated with a terminal.
TCLASS ='TRANSACTION*CLASS*AT CREATE'
Transaction priority at task creation (rightmost byte of
this four-byte variable).
TRANPRI ='TRANSACTION*PRIORITY*AT CREATE'
Transaction priority at task creation (rightmost byte of
this four-byte variable).
c. Changes to MXG Data Set CICSTRAN in CICS 3.1.1.
One observation is created in CICSTRAN for each performance class
monitoring record segment. Each observation represents the whole of a
TCA-lifetime (a user-task is a lifetime of a TCA) from CICS attach to
detach, unless the MCT option DELIVER or the MCT parameter CONV=YES have
been selected, in which case each observation represents a part of a
TCA-lifetime, i.e., a conversation, and in which case there will be
multiple observations in CICSTRAN for a single user-task.
MXG Sort Order for MXG Data Set CICSTRAN:
TRANNAME TERMINAL USER OPERATOR STRTTIME ENDTIME
CICSTRAN Fields deleted by CICS 3.1.1.
CMODNAME MXG Variable
PAGINCT PAGEINS 61 Page ins (during user task dispatch)
MNEXCCT TASEXRN 32 Number of Exception records generated
BMSOTHCN BMSOTHCN 53 BMS other count
FCOTHCN FCOTHCN 72 File Control other count
bit 22 MAXTASK 64 Maximum Task condition delay
bit 23 SHRTSTOR 64 Short on Storage condition delay
Comment: By deleting PAGEINS from CICS Transaction records, IBM has
substantially reduced the cost of running the CICS Monitor Facility,
since capture of paging activity was a significant contributor to
of overhead of monitoring CICS. IBM now suggests that overhead due
to the CICS monitor is on the order of 5-7%, but that has not yet
been verified by an MXG user.
CICSTRAN Fields changed by CICS 3.1.1.
Labels for STORHWMK, SCGETCNT, and PAGESECS now include "Below 16MB"
and PROGSTOR includes "Above & Below 16MB" to contrast with the new
storage variables added below.
CICSTRAN Fields changed by CICS 3.1.1.
MXG Variable /* CMODNAME */
LUNAME ='LOGICAL*UNIT*NAME'
Logical unit name. VTAM logical unit name (if available) of
the terminal associated with this transation. This field is
nulls if the task is not associated with a terminal.
PAGESECH='MEMORY*PAGESECS*(PER TCB) ABOVE 16MB' /* SCUSRSTGH*/
Storage occupancy pageseconds of the user-task above the
16MB line.
PC24BHWM='PROGRAM*STORAGE*BELOW 16MB ' /* PC24BHWM */
Maximum amount (high-water-mark) of program storage in use
by the user task below the 16MB line. This variable is the
subset of PROGSTOR that resides below the 16MB line. The
program storage currently in use below the 16MB line is
incremented at LOAD, LINK, and XCTL events by the size
(in bytes) of the referenced program, and is decremented at
RELEASE, or RETURN events, provided that the referenced
program resides below the line. Note: On an XCTL event the
program storage currently in use below the 16MB line can be
additionally decremented by the size of the program issuing
the XCTL, provided that this program resided below the line.
RTYPE ='RECORD*TYPE ' /* RTYPE */
Performance record type (rightmost bytes), decoded by
the $MG110RT. format. Values are:
' C'='C:TERMINAL CONVERSE'
' D'='D:USER EMP DELIVER REQUEST'
' T'='T:TASK TERMINATION'
' MT'='MT:SEMI-PERMANENT MIRROR SUSPEND'
SCGETCNH='USER STORAGE*GM REQUESTS*ABOVE 16MB ' /* SCUGETCTH*/
Count of the number of user storage GETMAIN requests
issued by the user task for storage above the 16MB line.
STORHWMH='USER STORAGE*MAX (HWM)*ABOVE 16MB ' /* SCUSRHWMH*/
Maximum amount (high water mark) of user-storage allocated
to the user task above the 16MB line.
TCLASS ='TRANSACTION*CLASS*AT CREATE'
Transaction priority at task creation (rightmost byte of
this four-byte variable).
TCSTG ='AMOUNT OF*TERMINAL*STORAGE ' /* TCSTG */
Amount of terminal storage (TIOA) allocated to the terminal
associated with this user task, if applicable. This value
is set at task attach and after a terminal session converse.
TRANPRI ='TRANSACTION*PRIORITY*AT CREATE'
Transaction priority at task creation (rightmost byte of
this four-byte variable).
WTDISPCN='USERTASK*RE-DISPATCHES ' /*DISPWTT */
Count of number of times when the user-task waited for
re-dispatch.
WTDISPTM='USERTASK*RE-DISPATCH*WAIT TIME '
Elapsed time for which the user-task waited for re-dispatch.
This is the aggregate of the wait times between each event
completion and the user-task re-dispatch. Note: This does
not include the time spent waiting for first dispatch.
WTEXWTCN='EXCEPTION*CONDITIONS '
Count of the number of exceptional conditions that have
occurred for this task.
WTEXWTTM='EXCEPTION*CONDITION*WAIT TIME ' /*EXWTTIME */
Total elapsed time for which the user waited on exceptional
conditions. Will be null if EXCEPTION CLASS=OFF specified.
WTTDIOCN='VSAM TRANSIENT*DATA IO*WAITS '
Count of the number of times when the user waited for
VSAM transient data I/O.
WTTDIOTM='VSAM TRANSIENT*DATA IO*WAIT TIME ' /*TDIOWTT */
Total elapsed time for which the user waited for VSAM
transient data I/O.
d. New CICS 3.1.1 Statistics Data Sets descriptions.
There are 47 new CIC..... data sets created from the new subtype 2 data.
Those 47 new data sets contain 1465 new variables, which would take 32
pages just to list their names! That list is contained in DOCVER08 and
DOCVER in the MXG 8.2 PreRelease, and field descriptions are found in
IBM's "CICS/ESA 3.1 Performance Guide". The forty seven data sets are:
MXG STID DFH Description of Data Set Symbolic MXG
Dataset ... IBM Exit
Name DSECT Name Name
CICAUSS 22 AUS Autoinstalled Terminal Unsolicited STIAUSS AUS
CICAUTO 24 A04 Autoinstall Global STIAUTO AUT
CICBTAM 82 A06 Terminal Control BTAM STIBTAM BTA
CICCONMR 76 A20 ISC/IRC Mode Entry Specific STICONMR CO3
CICCONMT 77 A20 ISC/IRC Mode Entry Totals STICONMT CO4
CICCONSR 52 A14 ISC/IRC System Entry Specific STICONSR CO1
CICCONST 53 A14 ISC/IRC System Entry Totals STICONST CO2
CICDBUSS 28 DBU DBCTL Global Unsolicited STIDBUSS DBU
CICDLIR 70 A18 DL/I Specific STIDLIR DL1
CICDLIT 71 A18 DL/I Totals STIDLIT DL2
CICDMG 15 DMG Domain Manager Global STIDMG DMG
CICDMR 13 DMR Domain Manager Specific STIDMR DMR
CICDQG 45 A11 TDQUEUE Transient Data Global STITDQG DQG
CICDQR 43 A10 TDQUEUE Transient Data Specific STITDQR DQR
CICDQT 44 A10 TDQUEUE Transient Data Totals STITDQT DQT
CICDS 57 DSG Dispatcher Domain, CPU each TCB STIDS DS
CICDTB 33 A05 Dynamic Transaction Backout Global STIDTB DTB
CICFCR 67 A17 File Control Specific STIFCR FCR
CICFCT 68 A17 File Control Totals STIFCT FCT
CICIRCB 75 A19 IRC Batch Global STIIRCB IRC
CICJCR 49 A13 Journal Control Specific STIJCR JCR
CICLDG 27 LDG Loader Domain for Program Global STILDG LDG
CICLDR 25 LDR Loader Domain for Program Specific STILDR LDR
CICLDT 26 LDR Loader Domain for Program Totals STILDT LDT
CICLSRFR 40 A09 LSRPOOL File stats each File STILSRFR LS3
CICLSRFT 41 A09 LSRPOOL File stats Totals STILSRFT LS4
CICLSRR 37 A08 LSRPOOL Pool stats each LSR pool STILSRR LS1
CICLSRT 38 A08 LSRPOOL Pool stats Totals STILSRT LS2
CICM 81 MNG Monitor Domain Global STIM M
CICSDG 90 SDG System Dump Global STISDG SDG
CICSDR 88 SDR System Dump Specific STISDR SDR
CICSMD 7 SMD Storage Manager Domain Subpool STISMD SMD
CICSMSDA 9 SMS Storage Manager DSA and EDSA STISMDSA SMS
CICSMT 8 SMT Storage Manager Task Subpool STISMT SMT
CICST 66 STG Statistics Domain Global STIST ST
CICTC 3 A01 Task Control Global STITC TC
CICTCLR 58 A15 TCLASS Transaction Class Specific STITCLR TC1
CICTCLT 59 A15 TCLASS Transaction Class Totals STITCLT TC2
CICTCR 34 A06 Terminal Control Specific STITCR TCR
CICTCT 35 A06 Terminal Control Totals STITCT TCT
CICTDG 87 TDG Transaction Dump Global STIDTG TDG
CICTDR 85 TDR Transaction Dump Specific STITDR TDR
CICTM 63 A16 Table Manager Global STITM TM
CICTSQ 48 A12 TSQUEUE Temporary Storage Global STITSQ TSQ
CICTSR 4 A02 Transaction Statistics Specific STITSR TSR
CICTST 5 A02 Transaction Statistics Totals STITST TST
CICVT 21 A03 VTAM Global STIVT VT
e. Observed CICS 2.1 CICSYSTM and MONITASK datasets CPU timings.
This CICS note applies to CICS 2.1 and earlier, and not the new CICS 3.1
described above (which does not contain the CICSYSTM data set). The CPU
measures in IBM's CICSYSTM dataset should match this schematic:
CPUTCBTM=ADSPTIME SRB
----------------------------------------------- ---
MAINCPTM SUBTCPTM
-------------------------------------- --------
KCCPUTM USRCPUTM OSWTCPTM
------- ------------------------------ --------
JCCPUTM TCCPUTM TASKCPTM
--------- --------- ----------
"CICS" "APPL"
--------------------------- ----------
The CICSYSTM fields contained in IBM's record are the ADSPTIME, KCCPUTM,
USRCPUTM (and its JCCPUTM and TCCPUTM components), and the SRBCPUTM.
MXG stores ADSPTIME in CPUTCBTM, and calculates SUBTCPTM, the subtask
CPU time, (which is also stored in OSWTCPTM, its older name).
One site found numerous negative values for SUBTCPTM, with the largest
value of -1.47 seconds. That 900 second interval had ADSPTIME of 426.72,
but the MAINCPTM sum of KCCPUTM (37.18) and USRCPUTM (391.01) of 428.19
was 1.47 seconds greater than ADSPTIME! Both the ADSPTIME and the sum
of MAINCPTM are suspect, because the CICS region's RMF TCB was 414.32,
or CICS recorded 14 seconds more than RMF recorded! (The type 110 SRB
CPU of 25.82 was slightly less than the RMF SRB time of 27.82.) CICSYSTM
data from a second unrelated site showed the same pattern; the CICS
recorded ADSPTIME was less than the sum of KCCPUTM and USRCPUTM, causing
SUBTCPTM to be negative, and RMF CPUTCTBM was also less than the
ADSPTIME. Investigation is still open.
Landmark sites MONISYST noted a different problem with Landmark 7.1, but
rather than a data error, the problem was MXG's lack of understanding of
what's captured. Landmark fields KCCPUTM, JCCPUTM, TCCPUTM, TASKCPTM,
and OSWTCPTM include both TCB and SRB time. Landmark also captures two
other TCB+SRB CPU measures, IRCPUTM and VSCPUTM. Landmark's schematic:
CPUTCBTM SRB
--------------------------------------------------------- + ---
KCCPUTM JCCPUTM TCCPUTM TASKCPTM OSWTCPTM IRCPUTM VSCPUTM
------- --------- --------- ---------- -------- ------- -------
Validation of any CICS monitor's CPU time is non trivial, since CPU time
for startup/shutdown of the region is recorded in the first and last RMF
interval CPU time and in the type 30 step termination CPU time, but it
is not capturable in the CICS monitor's CICSYSTM/MONITASK records. It is
possible the CICSYSTM measures noted above are not real errors; perhaps
the CPU time occurred but was simply being assigned to a wrong interval?
Further investigation is under consideration, and ideas are welcome!
6. SAS 6.06.01 Issues and MXG recommendations.
************************************************************************
* *
* MXG's Official Position with regard to SAS 6.06.01, July 10, 1990: *
* *
* A new ship's keel is laid 3 years before the ship is launched into *
* the water. Two years later, the ship is commissioned and is sent *
* out on its "shakedown cruise". The ship floats, makes way under *
* its own power, and gets you there, but imperfections are discovered.*
* After the shakedown cruise, the shipyard fixes the things that are *
* broken, and a year or so later the ship is placed in full service. *
* *
* SAS 6.06.01 is currently on its "shake-down cruise". *
* *
* SAS Institute ZAPs are required before MXG can be safely executed *
* under SAS 6.06. Additional problems that cannot be fixed by zap *
* will not be available until SAS 6.08 is released (in mid-1991). *
* *
* In addition, source modifications to MXG Version 7.7 may be needed *
* to circumvent some incompatibilities between 5.18 and 6.06. *
* MXG 8.2 contains these source changes, which are identified below. *
* *
* Initial performance measurements for MXG execution under SAS 6.06 *
* show significantly more CPU time is required than under SAS 5.18. *
* Both data-intensive sequential processing and compiler-intensive *
* processing recorded more CPU time, although in some cases the I/O *
* counts and elapsed run time were slightly reduced. Further testing *
* of new SAS options and investigation by SAS Institute is ongoing. *
* *
* Some MXG sites may actually require SAS 6.06. *
* *
* Sites which have encountered the SAS "344 Compiler Limit Exceeded" *
* condition will find that that limit (as well as other constraints) *
* have been eliminated in SAS 6.06. *
* The new support for the Cray COS operating system requires the new *
* $ASCII. format, and the planned new support for DEC VMS data will *
* require both $ASCII. and VAXRB. formats that are only in SAS 6.06. *
* *
* The ZAPs listed below are required because MXG fails without them. *
* Additional 6.06 problems have been reported and fixed by SAS ZAPs. *
* These ZAPs can be downloaded from the Institute's "Online Customer *
* Support Facility". Alternatively, SAS Institute will make available*
* (in mid-July), the "July SAS 6.06 Usage Notes Tape". That tape will *
* contain these Required, Highly Recommended, Recommended, and Special*
* Consideration categories of ZAPs to be installed on SAS 6.06. *
* *
* SAS Institute asks that you request the "July Usage Notes Tape" in *
* writing, addressed to their SAS Distribution Center, and that you *
* indicate the operating system (OS or CMS) and tape (reel/cart) type.*
* The procedures for downloading ZAPs and installing maintenance are *
* discussed in SAS Technical Bulletin U-112, packaged with SAS 6.06. *
* *
* In summary, get and install the "July Usage Notes Tape" before you *
* begin testing MXG under SAS 6.06. *
* *
* SAS Version 6 is a major re-design, and will require planning and *
* testing of your critical SAS applications before their migration. *
* *
* There are many new features and benefits in SAS 6.06 that do work. *
* Before too long, all will be smooth sailing with following seas! *
* *
************************************************************************
a. SAS 6.06 ERROR Conditions requiring ZAPS to be installed.
1. ZAP Z6060611 required.
Fixes a SAS logic error that caused the MVS Initiator to ABEND
because LSQA had filled because SAS had opened SOURCLIB over 2000
times and filled LSQA with DEBs! This error was uncovered only
because IMPLMAC was (incorrectly) enabled when BUILDPDB ran!
2. ZAP Z6060640 required.
A STOPOVER condition executed when INPUT STATEMENT EXCEEDED RECORD
did not set condition code, and hence ERRORABEND was not invoked!
This ZAP sets a condition code of 8 for STOPOVER so that ERRORABEND
will be invoked. MXG requires ERRORABEND for protection of the PDB.
3. ZAP Z6060653 recommended.
PROC SOURCE (used by MXG to build the shipment dataset) begins to
print source lines on SAS log, erratically, which can cause System
722 ABEND. This problem was already known when MXG hit it.
4. ZAP Z6060703 required.
PROC GPLOT against a data set with 0 observations shuts down the
SAS execution with no error message. GRAFRMFI exposed this error.
5. ZAP Z6060288 required.
Using real SORTWORK DDs has always been recommended by MXG, because
their existence supresses dynamic allocation of sort work areas.
Dynamically allocated sort work areas have caused frequent failures
because they free allocation after every sort and do not always
clean up properly in applications (like MXG) where many sorts of
varying sizes are invoked in a single execution.
This ZAP is required by SAS 6.06 so that real SORTWORK DDs can be
used. Existing jobs that have real SORTWKnn DDs will fail if this
ZAP is not installed.
6. ZAP Z6060938 required.
Option ERRORABEND did not cause a USER 999 ABEND when it should.
A condition code 8 occurred (in specific case, a SET without DATA
statement, but the problem was generic) but no ABEND resulted.
In SAS 6.06 these Condition Codes can occur:
Condition Meaning
0 Successful execution.
4 Warning message issued.
8 Error message issued, or PROC abend was recovered.
12 Severe Internal Error.
16 ABORT; issued.
20 ABORT RETURN; issued.
24 ABORT ABEND; issued.
7. Special Consideration ZAP Z6060874 available.
The SAS Initialization Note identifies all CPUs as being IBM. An
Amdahl 5990 is shown as an IBM 5990. The hardcoded name "IBM"
can be changed to your vendor's name by installing this ZAP.
Because not all sites will need this ZAP, it is a "Special
Consideration" ZAP, and is not on the SAS Online Support System.
8. ZAP Z6060872 required.
POINT operand with zero observations fails with a syntax error.
Usage note V6-SYS.DATA-0872. This caused ASUMCICS to fail because
POINT was used to detect whether the CICS data to be summarized
was from IBM's CICS Monitor Facility or Landmark's TMON Monitor.
9. ZAP Z6060571 required for 6.06 to act like 5.18.
"ERROR: Data set subsetted using FIRSTOBS or OBS options or a WHERE
clause cannot be sorted in place unless the FORCE option is used."
SAS 6.06 created a new PROC SORT option, FORCE, which must be used
if you want SAS to sort a data set when OPTIONS OBS= has been set.
The intent of the new FORCE option was to protect naive users from
accidentally wiping out a data set. If a user naively set OBS=100
and then PROC SORT DATA=PDB.JOBS (and had also naively set the JCL
DISP=OLD for the PDB DDNAME), SAS would have sorted PDB.JOBS and
then written back only the first 100 (sorted) observations.
MXG users frequently use OPTIONS OBS=100 for testing, and this new
6.06 "feature" would have required MXG to add "FORCE" to every one
of the 555 "PROC SORT" lines (in 79 MXG members) so that MXG would
work under 6.06 as it did under 5.18.
The new FORCE option is only needed on PROC SORTs when the input
and output datasets are the same. PROC SORTs with different input
and output datasets will sort without FORCE even when OBS= is on.
The FORCE option could not actually have been added to MXG source
code, because MXG then would fail (unknown option!) under 5.18.
The source change would have required that an OUT=NEWNAME option
be added to all PROC SORTS that did not have an OUT= option, and
and then a new source line PROC DATASETS;RENAME NEWNAME=ORIGINAL;
added after each PROC SORT so that OPTIONS OBS=nn could be used
under either SAS 5.18 or SAS 6.06 transparently to MXG users.
That source circumvention was scheduled for MXG, but SAS responded
with this ZAP (that makes FORCE the default for PROC SORT in 6.06),
thereby making SAS 6.06 work just like it did under SAS 5.18.
Usage note V6-SYS.SYS-0571 discusses this Special Consideration.
10. ZAP Z6060946 in development. Usage Note V6-MACRO-0946.
Invoking %VMXGGOPT using AUTOCALL created a syntax error, but if
the invocation is preceeded by %INCLUDE SOURCLIB(VMXGGOPT); (which
defines the macro without using AUTOCALL) there is no error. The
error occurs for AUTOCALLed members that are numbered and that have
a non-blank character in column 72 of the first line of the member!
A ZAP is in SAS development, but it is not expected to be on their
July Usage Notes Tapes. MXG Change 7.072 shortened the MXG Notice
of Copyright to 71 positions in the first line of members ANALDB2R,
VMXGGOPT, VMXGHSM, VMXGINIT, and VMXGVTOR that can be AUTOCALLed.
11. ZAP in development. Usage Note V6-MACRO-0752.
When an error occurs in a line defined inside an old-style macro,
and option MACROGEN was specified to show each line of the actual
resolved macro substitution, SAS 6.06 does not list the real line
number of each line. The error message only lists the line number
on which the macro was invoked, making error diagnosis difficult.
This ZAP is not expected to be on the July Usage Notes Tape.
12. ZAP investigation in progress. Usage Note 1000.
Three of nine weekly input files failed during sorting data sets.
After several successful sorts of varying sizes, SYNCSORT failed
"WER133A E15 User Exit Return Code Terminate". Using instead option
SORTPGM=SAS still failed with ERROR: RECORD IN FILE WORK.X.DATA
IS TOO LONG FOR BUFFER. Attempted using real SORTWKnn DDs, setting
MEMSIZE=12M, using USER=USER to isolate data from WORK file. One
failure went away when USER=USER was used, but next week's data
failed. One failure went away when NODUP was removed from the SORTs
and one failure went away with entry SASXA1 instead of SASXAL.
ZAP Z6060529 was suggested, but did not correct the failure. SAS
coded a special diagnostic ZAP, and its 4200 page dump is enroute
to Cary. Obviously, this problem is still open. This Usage Note
was assigned by SAS so you could follow up on its status when the
problem is identified/fixed/circumvented after this newsletter.
b. SAS 6.06 Incompatibilities which required MXG Source Changes.
1. The validation of variables in DROP= and KEEP= statement/options
depends on statement/option/usage. Validation checking means that
SAS raises an error condition for a non-existent variable. The
KEEP/DROP option in a PROC statement was not validated in 5.18 but
is checked in 6.06. SAS 6.06 restored the original SAS 82.4 design
in which input variables are checked and output variables are not.
(SAS 5.08 had incorrectly changed validation, but only in a PROC
statement, and 5.16 and 5.18 propagated that change):
Statement Usage 5.18 action 6.06 action
DROP/KEEP statement: (Input/Output) Checked Checked
DROP= or KEEP= option:
in DATA statement (Output) Not Checked Not Checked
in PROC statement (Input) Not Checked Checked
in SET statement (Input) Checked Checked
Usage Note V6-SYS.SYS-0666 discusses this issue, and the Institute
is now investigating a new option to allow user control of when and
if validity checking occurs.
The change in action between 5.18 and 6.06 for the PROC statement
(Input) required MXG circumvention implemented in Change 8.060.
2. MXG member GRAFRMFI failed with CC 8 and ERRORABENDed due to "FILE
WORK. RMF4GRA5S WAS NOT FOUND .." because PROC COPY's option GCAT
(which worked under 5.18) no longer is supported in 6.06. The new
CATALOG option of PROC COPY could be used in SAS 6.06, but CATALOG
is not valid under 5.18 for graphics catalogs! The source change
which does work under both 5.18 and 6.06 was to replace the use
of PROC COPY for copying graphics catalogs with the PROC GREPLAY
command COPY. This was implemented in Change 8.061.
3. PROC MEANS in SAS 6.06 now invokes PROC SUMMARY, and every OUT=
dataset now contains two additional variables, _TYPE_ and _FREQ_
(and they are length 8!). This adds 16 unwanted bytes to each
observation built by PROC MEANS, and creates an inconsistency in
the number of variables created by the same MXG member under SAS
5.18 and 6.06. This was implemented in Change 8.062.
4. GRAFRMFI technique of executing PROC GREPLAY in batch and building
GROUP and MODIFY statements (because MXG knows how many systems,
how many shifts, and can count which graph numbers in the graphics
catalog were produced) fails in SAS 6.06 (with MEMBER NOT FOUND)
because GREPLAY cannot find the catalog entry. In SAS 6.06, if
graphs 1-5 are GROUPed, they are moved to the end of the catalog,
and when we try to find graphs 6-10 for the next group, they are
now new graphs 1-6! Grouping isn't really supported for batch use,
but is designed for interactive SAS/GRAPH where a person ticks off
the groupings for later GREPLAY. We made it work in batch, but the
implementation was not in the design. Possible circumventions:
a) after grouping graphs 1-5, don't look for 6 next, but recognize
that what was 6 is now 1, (use this in 6.06, old code in 5.18),
b) exploit Version 6 requirement that each graph have a unique
name (GPLOT, GPLOT1, GPLOT2, ... GPLOT99, GPLO100, ....) and
use the name for grouping.
What is really needed is the ability to specify GROUP when the
graphic catalog entry is created, which would eliminate the need
for the slick MXG manipulation that used to work. SAS is looking at
a better way for a future release. The actual circumvention that
is in MXG 8.2 (implemented in Change 8.061) was to give up the
grouping logic under SAS 6.06 and await future developments.
5. MXG member GRAFTRND required PROC GLM, and hence SAS/STAT product.
It is not (yet) possible to detect if SAS/STAT is installed, so we
have had to (reluctantly) change the source member GRAFTRND to add
a new parameter to tell MXG if SAS/STAT is installed, and added new
logic to invoke PROC GLM only if you tell GRAFTRND it is installed.
Circumvention implemented in Change 8.063.
6. Usage Note V6-SYSPROC.0927.
PROC SORT DATA=WORK. CICSTRAN or DATA=_CICTRAN. CICSTRAN fails with
201 (invalid options) because the grammar pre-processor parsing in
all PROCs thinks WORK. is a format instead of a libref. The problem
only exists in PROCs (not in DATA, SET. etc. statements) and if the
period delimiter has blanks on both sides, had no blank or either
side, or has a blank before but not after, the parser works okay.
Because the grammar pre-processor is unique to each PROC, this
problem cannot be zapped, and will not be repaired until 6.08.
Fortunately, only one occurrence of this syntax has thus far been
found in MXG source, but this could be a problem in your own code.
MXG circumvention in Change 8.059.
c. Additional SAS 6.06 compatibility items.
1. ALL SAS Institute supplied ZAPS for 6.06 should be installed,
even those described as "Special Consideration" if they apply
to your site's use of SAS.
2. Do not EVER specify option IMPLMAC.
3. Default MEMSIZE=8M is insufficient with ANALDB2R(PDB=SMF). Error
1313 "Cannot get any MFEs" results. With MEMSIZE=10M, ANALDB2R
reports can be executed directly from SMF data. Most MXG programs
worked with the default MEMSIZE=8M, but MEMSIZE=12M is specified
in MXG's CONFIG member just to provide further cushion.
4. You can use either Version 5.18 built or Version 6.06 built format
libraries under SAS 6.06 execution. If SAS 6.06 sees the ddname
of SASLIB pointing to a SAS 5.18 built PDS format library, it will
use those formats. If SAS 6.06 does not find a SASLIB ddname, it
will then look for the LIBRARY ddname, which it expects to point
to a Version 6.06 built format library, which is now a SAS library.
and not a PDS library. MXG's member FORMATS (invoked in the first
step of JCLTEST or under TSO as described in Chapter 32 Install
Notes) will build MXG's format library consistent with the version
of SAS under which FORMATS is executed. When executed under SAS
6.06, Version 6 formats will be created in the LIBRARY ddname, a
SAS data library. If instead, FORMATS is executed under SAS 5.18,
Version formats will be created in SASLIB ddname, a loadlib PDS.
MXG's Version 5 format library requires SPACE=(CYL,(3,1,99)).
In Version 6 format, the SAS data library requires SPACE=(CYL,9,1),
using the SAS 6.06 default blocksize of 6144 bytes.
5. Do NOT specify third space parameter (SPACE=(CYL,(1,2,3)) on the
LIBRARY DD for Version 6.06 format library. The existence of the
third parameter (the number of directory blocks) confuses SAS 6.06.
The PROC FORMAT goes ahead and builds the SAS 6.06 format FORMAT
library (which is a SAS data library and not a PDS), but then when
SAS 6.06 tries to reference this incorrectly allocated library, it
reports a "170:FORMAT NOT FOUND" error. Removing the third space
parameter when allocating a Version 6.06 format library makes the
problem go away.
6. The GEN=0 options is mandatory for MXG execution with SAS Version 5
(because of severe performance degredation with any larger value,
see page 317 of the MXG Guide). GEN= is not an option in SAS 6.06,
and its use causes a "WARNING:OPTION DOES NOT EXIT" and the step
terminates with a condition code 4, characteristic of warnings.
GEN= may return in a future version of SAS, but it will never be
advisable with the MXG application.
7. All of the SAS 6.06 problems reported in this newsletter were found
using the MVS (OS) Version of SAS 6.06. Some important members of
MXG 7.7 (JCLTEST, BUILDPDB, VMACVMXA, VMACVMON) have been executed
using the CMS Version of SAS 6.06 with no error messages, but MXG
has not really been fully exercised under the CMS Version. Several
ZAPs reported in this newsletter will not be available on the July
Usage Notes Tape for the CMS Version, although they should be on a
later Usage Notes Tape. (Remember, the Institute first must find
and "fix the problem in the language it broke in" and then develop
a C-language source fix, and then each execution platform group has
to engineer a machine-specific ZAP in the machine language of that
machine, and that ain't easy!)
8. The free SAS-provided "CPE Starter Set" fails under SAS 6.06, and
it is being re-written. That example of SAS/AF menus for reporting
from MXG databases will be available for MVS 6.06 this summer and
for CMS 6.06 early this fall. Call your SAS sales representative to
request your free copy; call early and you can become a beta site)!
9. PROC CONTENTS DATA=PDB._ALL_ NODS; does not give a picture of the
directory of a SAS data library. Instead of the single page list of
data set names, number of observations, and their size in tracks,
(that was so useful in verifing the contents of each day's PDB),
the NODS option provides only a list of data set names and type!
(PROC DATASETS option CONTENTS produces the same meagre list).
You can remove the NODS option and thereby print the detail on each
data set, which does contain size in blocks and observation count,
but that also prints all variables, which can take many pages!
Usage note V6-CONTENTS-0713 says future objective, maybe 6.08?
10. The hex dump listing of a defective record (STOPOVER or LIST;) that
is essential for debugging critical data errors does not contain:
(a) the record number of bad record, (b) the length of bad record,
or, (c) the byte number of each line of dump (CHAR is printed on
each line instead! Fix not likely until SAS 6.08.
11. The GO option of SAS 6.06 loses data in the WORK file and re-sets
the prompt line number back to 1. Usage note 1240 says that this
feature is working as designed!
12. SPF 3.3 COPY failed when trying to create a copy of the SAS 6.06
load library for ZAP testing, with a "Cannot move or copy planned
overlay load modules". It was necessary instead to use IEBCOPY.
13. PROC PRINT of a DATETIME21.2 variable which has all values missing
still prints 21 positions wide, because in 6.06 a FORMAT with a
numeric specification causes the PRINT procedure to uniformly use
that width, even when all data values on a page are missing. If you
use a format with no numeric specification (eg. DATETIME. instead
of DATETIME19.), with the PROC PRINT, it will look like SAS 5.18.
(Previous SAS logic examined all values on a page and set the width
of each print field based on that page's values, but that algorithm
was eliminated in Version 6. Some users complained because it made
pages inconsistent, and it did require additional CPU time for each
page's analysis.)
14. PROC PRINT of values 4.123E18 and 4.1234E18 are not aligned on the
decimal point (shorter shifted right), when SAS choses exponential
printing format for an un-formatted field. Usage note V6-PRINT-0660
says that using an explicit FORMAT statement will cause alignment.
15. The MACROGEN option (which is used to expand old style macro's SAS
source code for debugging) now takes up the first ten print columns
on the SAS log, destroys the actual physical layout of the SAS code
(because individual lines are joined together as strings), but then
wraps back to the first print position any multiline SAS statement!
While still functional, it is much harder to read than was 5.18.
16. New WARNING "Input data set is empty" for PROC SORT of a dataset
with zero observations may be printed on the log.
17. New WARNING "No datasets qualify for FIRSTOBS and OBS processing"
may be printed on the log.
18. The second occurrence of a LENGTH statement for a char variable
(even if the length was NOT changed in that 2nd occurrence) causes
an unnecessary warning message. (If the length had been changed,
a warning would be welcome!) Usage note V6-SYS.SYS-0923 discusses
the intention to eventually eliminate the unwanted warning and to
provide a warning if a change is requreste in the length. This had
been fixed in 5.18, but was not retrofitted into 6.06.
19. The infile exit that decompresses Landmark's compressed CICS data
records and was provided by MXG in member EXITMONI for SAS 5.18,
was re-written for SAS 6.06 by the Institute and is provided in
the 6.06 distribution library member SAS606.BAMISC(TMONEXIT). That
member contains the JCL and ASM source code to assemble and link
edited a load module (named TMONEXIT for 6.06) into a load library
that is then concatenated to your STEPLIB. Since the load module in
6.06 (TMONEXIT) is different than the two load modules in SAS 5.18
(SASTMNP and SASTMNX), the same load library could be used for both
SAS Versions. Under either SAS 6.06 or 5.18, the MXG invocation of
the decompression infile exit is identical. Edit member IMACMONI to
add the keyword TMON to the INFILE statement (see comments therein)
and the infile exit will then be invoked to process both compressed
or and uncompressed records automatically.
20. SAS 6.06 no longer uses the FT11F001 or FT12F001 DDNAMES for the
SASLOG or SASPRINT output files.
21. The options in effect for SAS 6.06 execution are controlled by the
CONFIG ddname in your JCL. The options that have been used in the
MXG testing under SAS 6.06 in MVS/XA batch are contained in member
CONFIG of the 8.2 library, and are printed below in Change 8.068.
These are not necessarily the correct or final set of options that
MXG will recommend after more is known, but they are provided so
that at least you know what was used in MXG testing.
22. SAS 6.06 changed the way the ID statement works with procedures.
The ID statement is used to carry variables from the input data set
to the output data set. Under 5.18 the values were taken from the
first observation in each BY group. In SAS 6.06 the values are now
taken from the input observation which has the maximum (optionally,
the minimum) value of the string built by concatenation of values
of the ID variables. As long as all values are the same for a BY
group, it does not matter which observation is chosen, but if the
value of an ID variable is not constant within the BY group, you
could see different output values between 5.18 and 6.06. It has not
yet caused a problem with MXG, because it is believed that in all
cases where an ID statement is used, the values will be the same
for each BY group, but there could be a difference.
d. Performance measurement comparisons and performance zaps.
1. ZAP Z6060652 recommended.
The compile CPU time for %MACROs is excessive when large parameters
are used. In SAS 5.18, option MWORK=28K was necessary for %ANALDB2R
(DB2 reporting) because of the large size of character parameters,
but MWORK is not a 6.06 option. This ZAP re-designed the allocation
of parameter workspace in 6.06. The before-zap CPU TCB 3090-200E of
311 seconds was reduced to 84 seconds after this zap, but even with
this zap 6.06 is 3 times higher than the 28 seconds 5.18 required.
MVS/XA After Zap comparisons
5.18 TCB sec 6.06 TCB sec Ratio 6.06 to 5.18
3081K 64.96 174.58 2.68 times
3090-200E 28.16 84.24 2.99 times
3090-200S 34.00 73.60 2.16 times
2. PROC SOURCE of MXG.SOURCLIB, 3090-200E MVS/XA CPU measurements.
Ver EXCPs SRM Active CPUTCB Time CPUSRB Time
5.18 6015 50.37 sec 2.25 sec .60 sec
6.06 5076 71.72 sec 5.78 sec .79 sec
TCB CPU is 2.5 times higher with 6.60.
3. TESTIBM step (builds 150 data sets, with zero obs, then printed
250+ pages of PROC CONTENTS), on 3090-200 under MVS/XA:
Version EXCPs SRM Active CPUTCB Time CPUSRB Time
5.18 75,048 935.81 sec 61.62 sec 6.61 sec
6.06 17,131 576.29 sec 151.38 sec 2.56 sec
6.06* 16,364 646.94 sec 149.20 sec 2.47 sec
6.06** 11,908 630.46 sec 290.01 sec 4.07 sec
* - specified BLKSIZE=23040 as OPTIONS, but PROC CONTENTS
still showed 6144 byte blocksize of WORK data sets. Why?
** - specified DCB LRECL and BLKSIZE as 23040 on WORK DD.
TCB CPU (at 6144) is 2.43 times higher, 4.75 times higher at 23040.
Must investigate and understand BLKSIZE and BUFNO impact in 6.06.
4. BUILDPDB with a day's data, SAS blksize 6144, 3081-K under MVS/XA:
Ver EXCPs SRM Active CPUTCB Time CPUSRB Time
5.18 27900 1075.61 sec 303.49 sec 7.08 sec
6.06 17550 1003.43 sec 432.97 sec 5.94 sec
TCB CPU is 1.42 times higher with 6.06 than with 5.18.
5. Under CMS SAS 6.06, processing VM/Monitor data used more virtual
memory (from 900K to 3500K), more CPU (from 142 to 208, or 1.46
times more), and the elapsed time increased from 18 to 22 minutes.
e. Summary of MXG required or recommended SAS ZAPs for 6.06.
Z6060288 Z6060529 Z6060571 Z6060611
Z6060640 Z6060652 Z6060653 Z6060703
Z6060872 Z6060874 Z6060938 Z6060946
III. Documentation and Installation of MXG Software Source Library.
Member CHANGES contains the current MXG version status and changes that
have been installed in that library. Member CHANGEnn is a copy of the
member CHANGES as it was when MXG version nn was created. Details on
enhancements will be found in the text of the Change description that
made the enhancment (in the CHANGES and CHANGEnn members). The text of
all changes is printed in MXG Newsletters. The CHANGES members can also
be scanned online (with SPF BROWSE) to search for specific product name
references (CICS, MVS/ESA, etc.). The CHANGES member in a library is
always more accurate and timely than the text printed in newsletters.
The text of each Change identifies the member(s) affected by each change
and additional documentation (especially for new product support) often
is contained in comments at the beginning of those affected members.
Member NEWSLTRS contains the text of all newsletters (up through the
newsletter that accompanied that MXG release). You can search NEWSLTRS
for product name or acronym to find the technical notes, APARs, etc.
from all MXG newsletters. (The Change Log of each Newsletter is not
replicated in member NEWSLTRS, since that text will be in CHANGES).
Member DOCVERnn is the "delta-documentation" (in abbreviated Chapter
FORTY style) of only those variables and datasets that were changed
between successive MXG Versions. There is a DOCVERnn "delta" member in
the MXG library for each version.
Penultimately, member DOCVER contains abbreviated Chapter FORTY format
that documents all of the 24,690 variables from the 759 MXG data sets
that can be created by that MXG Software Version (alphabetically by data
set name and variable name).
Finally, MXG is a source distributed system, so you can often find your
answer by BROWSE/EDIT of the source member, especially the VMAC...'s
that actually create the data set, or ANAL....'s that analyze the MXG
datasets. In many instance, the MXG Variable is the IBM or Vendor's
documented field name. In other cases, the IBM field name is carried as
a comment beside the MXG variable that contains that information. In
all cases, you should also have the Vendor's documentation of the
particular data record you are using for analysis.
The MXG Installation instructions are found in Chapter 32 of the MXG
Supplement for both new installation and for version replacement.
The MXG tape is distributed as a Non-Labelled (NL) tape with a single
file, DCB=RECFM=FB,LRECL=80,BLKSIZE=6160, that is actually an unloaded
Partitioned Data Set containing 1100+ members (and about 250,000 source
lines) in IEBUPDTE format. Under CMS, this format is read with the CMS
TAPPDS command, under MVS the IEBUPDTE utility program is used.
The PreRelease 8.2 SOURCLIB requires SPACE=(CYL,(30,1,199)) using a DCB
attribute of DCB=RECFM=FB,LRECL=80,BLKSIZE=23440.
The PreRelease 8.2 SASLIB format library for SAS Version 5.18 (built by
the first step of JCLTEST) requires SPACE=(CYL,(3,1,99)) and its
blocksize is set by PROC FORMAT under SAS 5.18. If you are executing
PreRelease 8.2 under SAS Version 6.06, the LIBRARY DD is used in the
first step of JCLTEST and will need SPACE=(CYL,(10,1)). See Newsletter
SEVENTEEN for a discussion of Format libraries under SAS 6.06.
Sep 1, 1990 addendum: Excess space required by format library was
a problem only in 6.06 beta and was fixed in April 6.06.01. The
SAS 6.06 format library for MXG need only be CYL,(1,1).
Always read comments in the CHANGES member for any compatibility issues,
as well as for any last minute changes added after Newsletter printing.
IV. CHANGE LOG
--------------------------Changes Log---------------------------------
You MUST read each Change description below to determine if a Change
will impact your installation. All of these changes have been made
to this MXG Source Library.
Member CHANGES of the MXG SOURCLIB will always be more accurate than
the printed changes in a Newsletter, because the software is created
after the newsletter is sent to the printer!
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The actual code implementation of some changes in MXG SOURCLIB may be
different that described in the printed NEWSLETTER (which might have
printed only the easily installed, critical part of the correction).
Always read the comments at the beginning of each source member named
under the Change Number when you receive a new Version of MXG.
Documentation of new datasets and variables, validation status, notes,
etc., are usually in comments in the source members.
If you have to install printed changes from an MXG Newsletter, you
could copy the affected member(s) from MXG.SOURCLIB into your existing
USERID.SOURCLIB and then make these changes therein. Use SPF 3.3
COPY command instead of the COPY subcommand of EDIT to avoid renumber.
Or alternately, you might create a new PDS, named MXG.CHANGLIB, and put
these in-between-version changes in that PDS, concatenating it between
USERID.SOURCLIB and MXG.SOURCLIB until you get the next MXG version.
When you do, you then delete this MXG.CHANGLIB library, as the changes
will have been installed for you in the new MXG version. It is wise to
record your changes in a member named CHANGES in the installation's
USERID.SOURCLIB as a permanent log of tailoring, etc.
Whenever you install changes or test a new version of MXG (or even for
your own reports), be extra careful to look on the SAS log for any real
error conditions. Search for all occurrences of "ERROR:" "ERROR :"
"UNINITIALIZED" "NOT CATLGD", as they usually indicate a serious error.
PROC PRINT and PROC MEANS of each new MXG-built SAS dataset will go
a long way in explaining their contents, and can be examined to detect
unusually large, negative, or suspicious values.
Summary of critical actions to be taken in installing new version:
a. All IMAC.... members in your USERID.SOURCLIB must be compared
with the new IMAC.... members, and if there is a difference,
you MUST start with this version's IMAC and retrofit your
installation changes.
b. It is always wisest to PROC PRINT the first 50 observations of
important datasets, especially PDB.JOBS, which can be affected
by user tailoring in IMACPDB. A visual scan will often alert you
to unexpected results.
Alphabetic INDEX of significant changes:
Member Change Description
ANALDB2R 8.030 DB2 Reporting from GTF data fails.
ANALDB2R 8.031 DB2 Report PMLOK03 fails with 170 format error.
ANALDB2R 8.067 Report selection by time frame incorrect, minor.
ANALDSET 8.077 ACCESS variable was not created, report failed.
ASMTMNT 8.070 MXG Tape Mount Monitor on 7.7 does support MVS/ESA.
ASUMCICS 8.023 Variable LENGTHs caused trunction.
ASUMCICS 8.076 Response buckets off by one.
ASUMJOBS 8.076 Response buckets off by one.
ASUMTMNT 8.076 Response buckets off by one.
BUILDPDB 8.069 ACCOUNT/SACCT in SMFINTRV, SPIN in PDB, TYPE25 added.
CONFIG 8.068 SAS 6.06 options member added to MXG library.
EXACFJR 8.047 ACF2 dataset ACF2JR may have deleted observations.
FMXGUCBL 8.009 Returns wrong value under SAS 5.18.
IMACPDB 8.048 Variables ABNDRSNC DIVRREAD DSSIZHWM TERMNAME added.
JCLTEST 8.001 Options MACRO DQUOTE MWORK=28K required by MXG.
JCLTEST 8.025 WORK.DIRMACR REQUIRES MORE SPACE error condition.
JCLTREND 8.058 PROC SORT added to avoid not-sorted condition.
NPM 8.038 NPM records from VM can be processed.
TYPE110 8.065 Support for new CICS 3.1.1 major changes.
TYPEDCOL 8.074 Support for SMS DCOLLECT data records.
TYPEIMS 8.006 IMS crashes caused duplicate DTOKEN.
TYPEMONI 8.036 CREATIME in MONITASK may have wrong date.
TYPEORAC 8.080 Support for Oracle SMF record.
TYPETSOM 8.007 Missing STRTTIME in TSOMCMND.
VMAC110 8.040 CICSTRAN may have 0 observations with CICS 1.7.
VMAC1415 8.017 New HiperBatch counts added to SMF type 1415.
VMAC37 8.022 Variable KEEP, FORMATs.
VMAC39 8.022 TYPE39EL conditionally created. ZDATE kept.
VMAC41 8.015 New VLF counts in new subtype 3 SMF type 41.
VMAC6 8.057 STOPOVER due to invalid external writer record.
VMAC6156 8.027 STOPOVER error with ICF catalog record section.
VMAC6156 8.034 Minor. Variable FUNCTION more values decoded.
VMAC6156 8.039 TYPE6156 VOLSER may be wrong for GDGs.
VMAC7072 8.066 Support for new "SRCL" field in RMF Product section.
VMAC78 8.049 TYPE78CF only output if CHPID is online.
VMAC79 8.012 STOPOVER correction, support validation.
VMAC79 8.055 Formats and units corrections.
VMACACF2 8.002 ACF2 SMF record caused STOPOVER.
VMACCIMS 8.064 Support for IMF 2.6 (for IMS 3.1).
VMACCRAY 8.044 New code. Support for CRAY COS operating system
VMACDMON 8.003 Uninitialized variable in ANALDMON caused.
VMACIDMS 8.005 IDMS SMF record variables format incorrect.
VMACIMS 8.042 Minor IMS log processing changes.
VMACNSPY 8.010 NETSPY 3.2 support was incomplete.
VMACNSPY 8.043 Netspy 3.1 STOPOVER.
VMACROSC 8.028 ROSCOAUD contained zero observations always.
VMACSMF 8.013 DB2 read from GTF. Minor.
VMACSYNC 8.020 Invalid CPUTCBTM value detected.
VMACSYNC 8.056 SIRECFM,SORECFM contain invalid data value.
VMACTMNT 8.033 Minor. Formats for DEVFROM/DEVTO.
VMACTPX 8.016 No observations in TPXINTRV.
VMACVMON 8.037 Divide by zero.
VMACVMON 8.045 24APR90 became 02OCT89 when 202 day clock wrapped.
VMACVMXA 8.004 OMEGAMON/VM creates invalid VM/XA VB records.
VMACVMXP 8.041 Minor EXPLORE/VM processing changes.
VMACVVDS 8.073 Validation of VVDS record created by ASMVVDS.
VMACX37 8.024 STOPX37, minor.
VMACZRB 8.054 RMF 4.1.1 caused STOPOVER.
VMACZRB 8.079 Further validation, release independent RMF III.
Alphabetic INDEX of significant changes (continued):
Member Change Description
VMXGSUM 8.021 Missing variable initialization protection.
VMXGVTOC 8.018 OFFSET4E and SMS variables added.
VMXGVTOC 8.032 Minor. RECFM should be $4.
VMXGVTOC 8.075 Did not capture free space at beginning of volume.
VMXGVTOR 8.009 Incorrect on 7.7, changes not propagated.
XMAC7072 8.014 ZDATE not kept in TYPE70PR and TYPE72MN
XMAC71 8.014 Extraneous period.
XMACEPIL 8.019 Plus sign missing. Don't use VMACEPIL or XXACEPIL.
ZZZZZZZZ 8.011 Final member of MXG Library is named.
Inverse chronological list of all Changes 8.080 thru 8.001