Remainder of article from MXG Newsletter FIFTEEN, November 1989.

  The History of SMF 



A.  It uses volume and data set information from the  SMF  data  set  to
create  and  update  records  in  the inventory data sets.  There is one
inventory for direct access resources and one for tape.

B.  From volume information in the  inventories  it  produces  a  volume
inventory report and SCRATCH volume reports.

C.   From data set information in the inventory it produces a variety of
data set reports.  The data  set  inventory  records  are  selected  and
arranged   according  to  such  parameters  as  data  set  name,  volume
indentification, account number, expiration date and last usage date.

D.  It creates control cards for IEHPROGM to  SCRATCH  data  sets  which
have expired.

E.   It  creates  control  cards  for the Resource Management Utility to
REMOVE data set inventory records from the  inventories  for  data  sets
which have been SCRATCHed or DELETEd."

"F.   It accepts control cards to remove volume and data set information
from the inventories.

G.  It can compress the inventories.

Each inventory is a partitioned data set (PDS).  Each directory entry in
the PDS reflects  a  particular  volume.   The  member  itself  contains
information about data sets on that volume.

This was followed  by  twelve  pages  identifying  each  field  in  each
inventory record and its source SMF record (5,14,15,17,18,19, or 20)."

and then the JCL:

"2.1.5.6 Job Control Language and Control Statements Used by the Utility

The Resource Management Utility can be  invoked  by  the  following  job
control language


//jobname  JOB   positional parameters and
                  keywords
//stepname EXEC  PGM=utility name
//SYSPRINT DD    parameters describing
                  SYSOUT device
//SYSDATIN DD    parameters describing direct
                  access inventory PDS
//SYSTAINV DD    parameters describing tape
                  inventory PDS
//SYSMAN   DD    parameters describing the
                  SMF data set
//SYSREPRT DD    parameters describing report
                  device
//SYSPUNCH DD    parameters describing punch
                  data set
//SYSIN    DD    parameters describing control
                  statement data set "


"The  control  statement  data set (described on the SYSIN DD statement)
contains one or more of the following operations:

  A. UPDATE
  B. REPORT
  C. REMOVE
  D. COMPRESS"

Then followed twelve pages  detail  the  syntax  and  use  of  the  many
operands for each operation.

The  sixteen  error messages produced by the Resource Managment Utility,
IEH901E through IEH916I are then documented, and give the first clue  as
to  the planned name for the Resource Management Utility program name of

                                IEHMAN!




"2.3.2.2 Resource Management Utility Requirements

The utility program is designed to be in  a  planned  overlay  structure
with  a  minimum  of  15K  required for executable code at one time.  In
addition, core storage is required for buffers.   The  number  of  bytes
needed for buffers is device dependent.  Maximum buffer sizes (in bytes)
are shown in the table below:

   Device     Type       Maximum buffer size

    2301      Drum              21,000
    2302      Drum               5,400
    2303      Drum               5,300
    2311      Disk               4,000
    2314      Disk               7,900
    2321      Data Cell          2,400"

And even a performance evaluation of the utility:

"The direct access inventory has entries for ten volumes, each with nine
extensions, giving a total of 100 members in the directory.  Each member
is 3500 bytes long and contains 15 data set inventory records, giving  a
total of 1500 data set entries.

An UPDATE is estimated to take 9 seconds.

A  REPORT VOLID operation, which produces a list of direct access volume
inventory information is estimated to take 1 second.

A REPORT DS operation, which produces an unordered list of all data sets
on  the printer, is estimated to take 82 seconds.  Further time would be
required to produce a sorted list.

A prototype of the utility was coded and  tested  in  several  different
versions.   MVTTRACE  was  used  to  obtain timings of the final version
described below.

SYS1.MAN data set resided on a 9-track 2400 tape drive, model 3, and was
recorded  at  800  bpi.   The  direct access inventory resided on a 2311
device with a member blocksize of 3200 bytes.  The printer  was  a  1403
device  with  120  print  positions.  The CPU was a model 50, the system
MVT, Release 14."

"The first UPDATE run  required  12.2  minutes.   This  initialized  the
inventory data sets.

A.   The  input  stream  from  SYS1.MAN  contained the following records
arranged as if coming from an MVT environment:

    60 job commencement              (type 20)
    60 job termination               (type 5)
  1500 old non-temporary             (type 14)
  1500 new non-temporary             (type 15)
    60 temporary                     (type 16)
    60 SCRATCH                       (type 17)
    20 RENAME                        (type 18)
    80 direct access volume dismount (type 19)

The resulting direct access inventory contained information  about  1862
data  sets,  of  which  39 had been SCRATCHed.  There were 197 directory
names in the directory, of which 148  were  base  members  and  49  were
extension members.  The average number of data sets per volume was 12.6.
The average length of data set inventory records was 208 bytes.

B.  The second UPDATE required 19.7 minutes."

In a separate section of the Final Specification the error  expectations
of SMF were predicted:

"6.4.2.1 APAR records for IEBPRTPCH, a utility program estimated to be
         of a  similar size (13,000 bytes) were used to project expected
         errors and severity.

6.4.2.3 All Severity 1 errors should be resolved before integration.
        Only two OS utility  programs  have  ever  received  Severity  1
        APAR's after release.

 and the accompanying table showed

                         After Customer Ship
 Expected:                6 months   18 months

 Severity 2, 3, 4 errors     7          15
 Man hours to correct       40          40
 Machine hours to correct    5           5"



                     And then along came the Final "Final":

                 ---------------------------------------------
                              S/360-OS-1010-01-Pok
                  Final Programming Functional Specifications
                            IBM Operating System/360
                      Data Set Management and D.A.  Space
                             Accounting (Subset 2)
                        Internally Dated June 25, 1969.
                 ---------------------------------------------

This  document  was much thinner than its predecessor, and states on its
cover letter:


"This revision of the referenced specification contains modifications in
the following major areas.

1. The Resource Management Utility program description has been deleted.


          THUS DIED SMF Reporting.

This  final  specification  also  eliminated the type 16 (temporary data
set) by redesigning the type 14 and 15 records to what we now have.

In addition, design specifications that have departed from  the  initial
specifications were identified:

"1.3.2  From  Initial  Specifications:  These specifications depart from
the Objectives and Initial Specifications in the following respects:

 a. No I/O device timing will be performed.

 c. The TCT of Subset 1 will be expanded to include information
    previously  intended  for a new control block (the IOCT).  This will
    eliminate the need to modify the DEB."

The final error table was now modified

"                             After Customer Ship
 Expected:                  6 months       18 months

Severity 2, 3, 4 errors     5 (was 7)      20 (was 15)
Man hours required          4 (was 40)     10 (was 40)
Machine hours required      4 (was 5)      10 (was 5)"





                 "Systems Management Utility - IEHMAN"

The  IEHMAN  Planning  Guide  describes  the  same  features  that  were
specified  in  the  SMF  design  for  Subset  2,  called  the  "Resource
Management Utility"!

Not  only did the IEHMAN Planning Guide exist within IBM, but through an
error,  a  small  number  of   copies   were   actually   shipped   from
Mechanicsburg, Pa., to some IBM customer sites!

Once the error was discovered, IBM immediately recalled all copies!

Ken Plambeck was the author of the IEHMAN package.

The project had 10-12 people 12 hrs/day, but the product was killed when
the manager could not get sponsors.

Even though IEHMAN was never announced nor ever released, it showed that
IBM  designers,  even  in  1966-1967,  knew that analysis tools would be
needed to exploit the SMF data.



              ------------------------------------------------
                In May, 1969, C28-6712-0, Planning for System
                 Mangement Facilities (62 pages) described
                the version of SMF planned for Release 18.
              ------------------------------------------------
               but the real announcement of availability was:
              ------------------------------------------------
                      IBM System 360/Operating System
                              Release 18 Guide
                                GC28-6718-1
                                 July, 1969
              ------------------------------------------------

"System Management Facilities

    SMF is a new feature of the operating system, selectable  at  system
    generation  in  conjunction with the MVT configuration.  SMF may not
    be specified in conjunction with Model 65 Multiprocessing.

SMF provides two basic functions:

  Collecting and recording system-, job-, and step-related data for each
  job processed by the system.

  Monitoring  job  processing  via  exits  from  the  control program to
  installation-provided  routines  at   specific   points   during   the
  processing of each job."

Data  Collection:  SMF writes 13 types of records to a data set resident
on either tape or direct access.  The records contain  such  information
as:   system  configuration,  job  and job step identification, CPU wait
time, CPU usage by each job and job step, and I/O device usage and  main
storage  usage  by  each  job  step.   The writing of SMF records may be
supressed at IPL.  An  installation-provided  routine  can  periodically
analyze  the SMF dataset to evaluate system efficiency, performance, and
usage.

Job Monitoring:  SMF provides five exits within the control  program  to
installation routines:

  From  the  reader/interpreter  of the job just before each job control
  statement is interpreted.

  From the initiator/terminator when a job is selected for initiation.

  From the initiator/terminator when a step is selected for  initiation.

  From the intiator/terminator when a step and/or job is terminated.

  From the timer second level interruption handler (SLIH) if a specified
  CPU or wait time limit for a job or step is exceeded."

  If no wait time limit is specified, the default value provided by  IBM
  is 15 minutes;  in previous releases the default value was 30 minutes.


A new macro instruction (SMFWTM) may be used in exit routines  to  write
records to the SMF data set.  A test procedure (TESTEXIT) is provided in
SYS1.SAMPLIB to facilitate routine testing.

You must also provide analysis and report routines to  process  the  SMF
data set."


            ------------------------------------------------
                    IBM System/360 Operating System
                         Consolidated Document
                               Release 18
                              GY28-6681-2
                     Third Edition (October, 1969)
            ------------------------------------------------

"Updated Version of Release 18, designated as Release 18.6, may  now  be
ordered from PID.

Approximately 40 PTFs have been applied to the  distribution  libraries,
correcting more than 80 APARs.

(Release 18.0 text:)

A second release of SMF will support MFT, M65 Multiprocessing and Remote
Job Entry.

Graphics Job Processing (originally planned for the  second  release  of
SMF) is supported in this initial release of SMF.

Primary Control Program (PCP) and Conversational Remote Job Entry (CRJE)
are not supported.

Performance

If SMF is chosen at System Generation, performance will be reduced.

The performance reduction will be dependent upon the installation's  use
of the following:

   . SMF buffer size
   . Device used for the SMF data set
   . SMF data set allocation size
   . Number of jobs run per day
   . Execution time of the installation exits

The  performance  reduction  to  the  system  when all System Management
Facilities are functioning can be less than 5%.

Storage Requirements

A fixed amount of main storage is required when SMF is chosen at  System
Generation.   In  MVT  a  maximum  of  1500  bytes  is added to the main
resident storage.  Supervisor Queue Space is used  for  data  collection
tables,  new  job  queue  entries, and the user defined SMF buffer.  The
variable storage depends on the number of active jobs in the system  and
the SMF options chosen."


            ------------------------------------------------
                   IBM System/360 Operating System:
                            Release 19 Guide
                              GC28-6733-1
                               June 1970
            ------------------------------------------------

Announced  Subset  2 of SMF and support for MFT and M65 Multiprogramming
and RJE with all  twenty-one  SMF  records  (0-15,17-20)  with  one  new
record,

  Type 13 - MFT Partitions

and one new Exit

 (IEFUSO) for SYSOUT data set limit exceeded






            ------------------------------------------------
                  System Programming Guide Release 19
            ------------------------------------------------

"Example of SYS1.MANX Space Requirements
                                  ID    bytes
 1  IPL per day                    0
20  Devices online              8,19
 2  Vary Onlines per Hour          9
 2  Vary Offlines per Hour        11
 1  Device Allocation per Hour    10
 1  Scratch Dataset per 4 Hours   17
 1  Rename Dataset per 4 Hours    18
24  Accumulated Wait Time          1
        Total for these records           2,025
Job Processing
 1  Start of Job                  20
 1  End of Job                     5
 1  Dismount 2 Volumes per job    19
 3  Steps per job                  4
Step Processing
 3  DD statements per step         4
 2  Input datasets per step       14
 2  Output datasets per step      15
 2  Output writers per step        6
 Total for one job                        6,303
 Total for 48 jobs in 4 hours           302,688
SMF headers
  Record Descriptor Words                 5,044
  Block Descriptor Words                  1,684

TOTAL SMF DATA FOR 4 HOURS:             311,411"

            ------------------------------------------------
                   IBM System/360 Operating System:
                            Release 20 Guide
                              GC28-6730-0
                              January 1971
            ------------------------------------------------

Announced 20.0 with support for S/360 and new S/370 155 processor (S/370
165 in April) and indicates to expect 20.6 in 6-8 months.

            ------------------------------------------------
                    IBM System/360 Operating System
                      System Management Facilities
                              GC28-6712-4
                    (Fourth Edition, February 1971)
            ------------------------------------------------

Applied to Release 20.1  and  identifies  the  eleven  new  SMF  records
created with Release 20 (now totaling 31 record types):

 Type 21 - ESV Record
 Type 30 - Start TSO Record
 Type 31 - TIOC Initialization Record
 Type 32 - Driver Record
 Type 33 - Driver Modify Record
 Type 34 - TSO Step Termination
 Type 35 - TSO Logoff Record
 Type 38 - Initial TSO Configuration Record
 Type 40 - Dynamic Allocation Record (not documented!)
 Type 41 - Modify TSO Record
 Type 42 - Stop TSO Record





            ------------------------------------------------
                   IBM System/360 Operating System:
                            Release 21 Guide
                              GC28-6730-2
                       March, 1972 (Release 21.0)
            ------------------------------------------------

Announced  the  REC parameter and minor change in format of SMF records,
and indicated that 21.6 would be along in 4-6 months.

            ------------------------------------------------
                   IBM System/360 Operating System:
                            Release 21 Guide
                              GC28-6730-04
                      August, 1972 (Release 21.6)
            ------------------------------------------------

was announced, with no SMF enhancements.

In October, 1972, I first used the Statistical Analysis System, SAS,  to
read  SMF  records from OS/360 Release 20.6 at State Farm Insurance.  At
that time, SAS cost $100!  By early  1973,  I  reported  our  successful
results  to  user groups (SAM, TESDATA) and ACM (SIGSIM, Chicago).  John
Chapman demanded that I present at SHARE.

In March, 1974 (SHARE XLII, Houston), in the CME  project,  I  presented
SMF/SAS;  CME scheduled an open session for the Chicago SHARE.

That summer, IBM announced  SGP,  their  Statistics  Gathering  Package,
written  by  Bill Tetzloff.  The open session at the August, 1974, SHARE
meeting in Chicago began with Bill's SGP product description followed by
State  Farm  Auto's presentation of their use of SAS and SMF data.  Over
750 people (half of SHARE attendance) were present!  While SGP was truly
a valiant IBM effort to provide reporting from an extract of a fixed set
of SMF fields, it was not easily tailored, was  cast  in  concrete,  and
appeared  inflexible.   This  audience then saw the SAS language for the
first time, and saw SAS actually used for productive SMF  analysis.   At
the  end, one attendee pointedly asked IBM, "Now that you have seen SAS,
is there any reason why we should still consider SGP?"


This discovery that the SAS language was highly suited for  analysis  of
SMF  and  RMF data led to many SHARE sessions that demonstrated that SMF
data  analysis  really  did  save  money  and   answered   data   center
management's questions (response, capacity, service objectives, etc.).
SAS was the tool that made SMF analysis practical, in 1974.



The early releases of MVS became available:

 VS/2   Announced August 1972

 ?/73?  MVS 2.2 MF-1 Type 70-77,79
 ?/75?  MVS 3.0
 5/76   MVS 3.7
 8/76   SU7 Supervisor 2
 8/76   SU20 RMF
 9/76   SU11 TSO CMD. Package
 9/76   SU13 TSO/VTAM
 3/78   SU58 TSO/VTAM Level 2
 3/78   SU50 MVS SE1 (for 3.7)
 7/78   SU78 TSO Session Manager Rel. 2
 3/79   SU65 MVS SE1.1 (for 3.7)
 3/79   MVS 3.8 (SCP2)
 8/79   SU74 MVS SE2 (for 3.8)
         Type 23, 30, 32, 90
 1/85   NPDA V3 R2 (Type 37)
 2/85   DFSORT R7 (Type 16)
 3/85   NLDM R3 370 (Type 39)
 7/86   DB2 (Type 100,101,102)


By the mid 1970s, large TSO shops (several hundred concurrent logged  on
users) began noting degredation due to the BSAM SMF writer:

 - ENQ/DEQ was used by all SMF records, a very slow, serialized server
           for every logical record written.

 - TCLOSE  to update VTOC after every block was written moved the disk
           drive arm - the drive shook like a washing machine!

 - WRITE VERIFY doubled the I/O time

In  addition,  the 1975 SHARE-IBM meeting in New York was called because
users were  not  migrating  from  MVT  to  MVS,  and  were  blaming  SMF
accounting  issues, technical issues about actual numbers in the records
(eg., more absolute CPU time, the loss of  "storage  measurement"  a  la
"K-Core  Hours"  from  MVT,  the  inclusion  of PCI counts into SMF EXCP
buckets) caused, Ron Hankison,  then IBM  Representative  to  SHARE  MVS
Group, to become the local SMF expert within IBM.



>From Ron Hankison 1989 interview:

Accounting  requirements  from SHARE and GUIDE had built up, and nothing
had changed since the original OS implementation (VS 2.2 and VS 1.6  had
only added a few fields regarding paging and Virtual storage).

TCLOSE  was  out of control, the constraint was apparent and there was a
backlog of user requirements.

Project goals were to:

   Fix the performance constraint
   Add functionality
   Restructure after 5-10 years experience

Estimated project by doubling the then-known size of SMF  (Source  Lines
of  Code)  and  used  that  (and  IBM internal estimates) for the actual
estimated man-hours.

The final implementation took  four  times  as  much  as  the  estimate,
requiring 12 people 1.5 to 2 years for SE2 SMF Writer redesign.

Because  no  one  else in VS 2 cared much about SMF, the development was
independent, which allowed many things to be considered and many went in
and out of the final SMF enhancements.

Primary developers were:

   Barb Butler
   Bill McTiernan
   Steve Rosengarn
   Joe Winterton


            ------------------------------------------------
                       Programming Objectives and
              Initial Programming Functional Specifications
                        MVS Accounting Facility
                             August 1, 1977
            ------------------------------------------------

"1.4 Summary of Specifications

The  rewrite  of SMF will resolve the numerous, known problems with SMF.
The  performance  of  SMF  will  be  much improved by the elimination of
bottlenecks during the collection and writing of the  data.   Additional
data  will  be  available  for  recording  that  fills  in several known
exposures for resource utilization and system  activities.   Flexibility
will  be built in that allows the installation improved control over the
recording and make tradeoffs between the integrity of the data collected
and   the  performance  impact.   Complexity  will  be  reduced  by  the
capability of establishing a common file to contain  all  the  pertinent
information  needed  to  manage the installation.  Additional useability
items will make this package very appealing to DP installations."

1.5 Summary of RAS Characteristics

Due to the critical nature of the data  being  handled,  minimizing  the
opssibility  of  loss  of  data  will  be stressed in the design of this
package.  The improvements described in this document will be covered by
either  an FRR or ESTAE routine to ensure that loss of data is held to a
minimum in the event of  a  failure  in  the  SMF  component.   Optional
facilities  will  be  provided  to  minimize  loss of data due to system
failures.  Programming techniques known to  have  demonstrated  improved
quality will be used during implementation and test."

2. User Requirements Addressed
       Started Task Reporting
       Interval Reporting
       Performance/Overhead of Data Collection
       Recording Selectivity
       Proliferation of Data and Records
       Installation Tracking Completeness
       Accounting Direction
       Proliferation of Tools

7. Performance

The  overall  reduction of SMF overhead and its impact on system thruput
will be significant in those environments that have  a  high  volume  of
data  that  is  recorded  to  SMF.   The  performance improvement of the
collection routine and its branch entry capability will provide  a  much
improved  interface for those components that should be recording to SMF
but were concerned about the SMF bottlenecks.

The path length for a Write to the SMF data set is approximately  60,000
instructions.  The frequency of that event is installation dependent but
probably averages about once every 13 logical  records.   The  size  and
frequency  of  record  receipts  will be increasing rapidly as processor
speeds increase.  The revised path length by using the VSAM ICIP in  SRB
mode  is  approximately  2500  instructions, resulting in a reduction of
57,500 instructions per Write."


       Summary of the author's opinions:

1. SHARE was instrumental in the creation of SMF.

2. Users had a fair idea of what data was needed.

3.  IBM designers in 1966 knew more than users of the range of data that
we would ultimately need.

4.   The  iterative process between IBM designers and IBM users provided
realistic validation of the design before implementation.

5.  Designer's specifications and wants exceeded the  funding  and  time
for implementation.

6.   The  1966-1969  IBM  design  and  implementation process was better
structured, managed, and documented  than  your  company's  most  recent
managed software project in 1989.

7.   Based  on this example of IBM design practices of twenty years ago,
imagine the detail we would find in today's IBM design documents!

8.  SMF made IBM pre-eminent in the business of real data processing  by
giving  DP  management  actual  measures  of  the resource usage and the
service (response) for each user.  DP could then "manage by  objectives"
and  prove  to  the  president  the  value  and costs of the services DP
provided the company.  No other vendor  of  hardware  and  software  has
provided the accurate measurements that IBM has given its customers.

9. As good as it is, it still isn't perfect:

   MVS/ESA added three important CPU measures to
   the type 30 (task level) record,
       RCT  - Region Control Task CPU
       SLIH - Second Level Interrupt Handler CPU
       HPT  - Hiperspace CPU
   but we do not have these same CPU measures
   in the type 72 (performance group) record.

   SHARE REQUIREMENT, ANY ONE?



Contributors:

With  sincere thanks for the dedicated developers designers and users of
SMF data, I especially salute these contributors to this research:

 Bob Brockish, (retired) IBM         Tom Bell, Rivendel Consultants
 Lynn Weissenreider, IBM Boulder     Brian Currah, BDC Computer Services
 Saul Schiffman, IBM Japan           Aron Eisenpress, CUNY
 Ron Hankison, IBM Kingston          Mario Morino, Morino Associates
 Dick Armstrong, IBM Gaithersburg
 Jim Doyle, IBM Poughkeepsie
 Jack Higgins, IBM Publications

especially  for   their   treasure-trove   of   original   IBM   project
documentation   as  well  as  their  time  in  reminiscing  on  personal
remembrances.




Barry Merrill


Merrilly yours,

 Herbert W. Barry Merrill, PhD
 President-Programmer
 Merrill Consultants
 MXG Software
 10717 Cromwell Drive              technical questions: [email protected]
 Dallas, TX 75229
 http://www.mxg.com                admin questions:     [email protected]
 tel: 214 351 1966
 fax: 214 350 3694

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to