Resource measurement facility in a multiple operating system complex5923874Abstract A reporter facility for reporting data from a sysplex with a plurality of operating system images. The reporter facility comprises one or more data sets in the operating system images containing the reportable data. A first data server is provided in a first one of the operating system images and one or more second data servers are provided in the operating system images with the data sets containing reportable data. The second data servers on receipt of a request issued by the first data server collect the reportable data from the data sets and pass it through the connections to the first data server, which then passes it to the reporter facility. In one embodiment of the invention the data sets include data relating to the use and load of resources within the sysplex. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
______________________________________
SMF Request information about SMF records 310 of any type and
subtype. Information will be returned about all SMF records 310
where the SMF time information (the point in time specified in the
date and time fields from the SMF record header 320) is contained
in the time interval specified in the start.sub.-- time and
end.sub.-- time parameters (see below).
RMF Request information about SMF records 310 of any RMF type and
subtype. Information will be returned about all SMF records 310
where the projected RMF measurement interval end time (specified
in the RMF product section) is contained in the time interval
specified in the start.sub.-- time and end.sub.-- time parameters
(see below).
______________________________________
The request.sub.-- type parameter is defined as a character variable of length 3. START.sub.-- TIME Specifies the date and time of the beginning of the time interval for which information is requested. The start.sub.-- time parameter is defined as a character variable of length 14 and is presented in the so-called "sorted" format: yyyy,mm,dd,hh,mn,ss, where yyyy is the year, mm is the month, dd is the day, hh is the hour, mn is the minute and ss the second value of the start time. If it is desired to omit this information, a value of 14 blanks may be passed and the parameter will then default to the value of the "oldest" SMF time found in any of the data sets 40 at the time the ERBDSQRY GUPI is called. END.sub.-- TIME Specifies the date and time of the end of the time interval for which information is requested. The parameter end.sub.-- time is defined as character variable of length 14 in the same "sorted" format as the start.sub.-- time parameter. Similarly, the information may be omitted by passing a value of 14 blanks. The parameter's value will then default to the "newest" SMF time found in any of the data sets 40 at the time the ERBDSQRY GUPI service is called. SMF.sub.-- RECORD.sub.-- TYPE.sub.-- INFO Specifies the type of the list of SMF record types provided on the smf.sub.-- record.sub.-- type.sub.-- list parameter. It may have one of the following values:
______________________________________
INCLUDE The list of SMF record types provided on the
smf.sub.-- record.sub.-- type.sub.-- list parameter is an
inclusion list, i.e.
information is requested for the listed SMF record types.
EXCLUDE The list of SMF record types provided on the
smf.sub.-- record.sub.-- type.sub.-- list parameter is an
exclusion list, e.g.
information is requested for all but the listed SMF record
types.
ALL The list of SMF record types provided on the
smf.sub.-- record.sub.-- type.sub.-- list parameter is ignored,
e.g.
information is requested for all SMF record types.
______________________________________
The smf.sub.-- record.sub.-- type.sub.-- info parameter is defined as a character variable of length 7. SMF.sub.-- RECORD.sub.-- TYPE.sub.-- LIST Specifies the list of SMF record types for which information is requested. As shown in FIG. 5B it is defined as an unsigned integer variable of length 4 that specifies the number of elements in an array, followed by an array of pairs of unsigned integers of length 2, in which the first number of each pair specifies the record type and the second number of each pair specifies the record subtype. For record types without subtypes, a subtype of 0 is specified. SMF.sub.-- SYSTEM.sub.-- NAME.sub.-- INFO Specifies the type of the list of operating system images 20 on which SMF data sets 40 are found which are provided on the smf.sub.-- system.sub.-- name.sub.-- list parameter. The parameter can take one of the following values:
______________________________________
INCLUDE The list of images 20 provided on the
smf.sub.-- system.sub.-- name.sub.-- list parameter is an
inclusion list, i.e.
information is requested for systems with the listed
operating system images 20.
EXCLUDE The list of SMF system names provided on the
smf.sub.-- system.sub.-- name.sub.-- list parameter is an
exclusion list, e.g.
information is requested for all systems in the sysplex
excluding the operating system images 20 with the listed
names.
ALL The list of operating system image names provided on the
smf.sub.-- system.sub.-- name.sub.-- list parameter is ignored,
e.g.
information is requested for all systems in the sysplex
______________________________________
10.
The smf.sub.-- system.sub.-- name.sub.-- info parameter is defined as a character variable of length 7. SMF.sub.-- SYSTEM.sub.-- NAME.sub.-- LIST Specifies the list of operating system image 20 names for which information is requested. The smf.sub.-- system.sub.-- name.sub.-- list is defined as an unsigned integer variable of length 4 that specifies the number of array elements, followed by an array of character of length 4. Each array element has an image name. RETURN.sub.-- CODE When ERBDSQRY GUPI is completed, the return.sub.-- code parameter contains the return code for the GUPI. It is defined as an unsigned integer variable of length 4. REASON.sub.-- CODE When the ERBDSQRY GUPI is completed, the reason.sub.-- code contains the reason code why the operation was not carried out successfully. It is defined as an unsigned integer variable of length 4. When ERBDSQRY returns control to the applications program 160 and the service was completed successfully, an answer area 600 is created at the address in memory specified by the answer.sub.-- area.sub.-- addr parameter. The structure of this answer area 600 is divided into a header area 601 and a data area 603. The header area 601 is common to all three GUPIs and is shown in FIG. 6A. The data area is different depending on the type of GUPI called and, in the case of the ERBDSQRY GUPI, the value of the request type parameter. FIG. 6B shows the data area 603 for the answer area when the request.sub.-- type parameter has the value SMF. FIG. 6C shows the data area 603 for the answer area 600 when the request.sub.-- type parameter has the value RMF. The data areas 603 contain a system list entry for the data gathered from each operating system image 20. The blocks in FIG. 6A have the following values: NAM 605 Four character acronym of the common header 601 as follows:
______________________________________
`DSQA` for the ERBDSQRY GUPI common header
`DSRA` for the ERBDSREC GUPI common header
`XDRH` for the ERB3XDRS GUPI common header
VER 608
Version of the common header 601 (initially set to 1).
LEN 610
Total length of the returned data.
TLN 612
Total length of the answer area 600 needed to contain all the
requested data.
PLX 615
Name of the operating system image 20 on which the calling
applications program 160 using the GUPI is running.
SOF 618
Offset from the header to the first system list entry SNM.
SLN 620
Length of one system list entry (i.e. length of SNM, SID,
RMF fields).
SNO 622
Number of system list entries (SNM, SID, RMF).
DOF 625
Offset from the header 601 to the first data section. For the
detailed layout, refer to the individual data section
explanations below.
DLN 628
Length of one data section. For a variable length data section,
this field is zero. In this case, the length is stored in an
individual data section header.
DNO 630
Number of returned data sections.
system list
contains one entry per operating system image 20 in the
sysplex 10:
SNMn 8-character system name for the operating system
image 20.
SIDn 4-character SMF system ID. If RMF is not active on
this system, this field contains hex zeros.
RMFn 32-bit RMF status indicator, in which:
Bit 1 indicates the status of the RMF address
space 30 on this system (`1`B = active)
Bit 2 indicates the status of the RMF Data Buffer
40 for SMF data on this system (`1`B = active)
Bit 3 indicates the status of the RMF Monitor III
address space 50 on this system (`1`B = active)
Bits 4 to 32 are reserved
______________________________________
The data section 603 returned when the ERBDSQRY GUPI is completed has a layout shown in FIG. 6B when the request.sub.-- type parameter's value is SMF. The blocks in FIG. 6B contain the following information: RECTOKn 650 Record token provided by the ERBDSQRY GUPI which is used by subsequent calls to the ERBDSREC GUPI. SMFHDRn 320, 652 SMF record header (24 bytes) as described in FIG. 3B. In FIG. 6C the data section 603 of the answer area 600 when the request.sub.-- type parameter has the value RMF. The fields RECTOKn 650 and SMFHDRn 320, 652 contain the same information as in FIG. 6B. The RMFINFO field 655 contains 32 bytes of additional information from the RMF product section of the SMF record 310. FIG. 6D shows the additional information which is contained in the RMF product section of the SMF record 310. It contains the following fields: SMFxxDAT which has a length of 4 bytes and give actual start time of the RMF interval. SMFxxIST which has a length of 4 bytes and gives the actual start time of the RMF interval. SMFxxINT which has a length of 4 bytes and gives the actual length of the RMF interval. SMFxxOIL which has a length of 2 bytes and gives the projected interval length in seconds. SMFxxSYN which has a length of 2 bytes and gives the RMF synchronization value in seconds. SMFxxLGO which has a length of 8 bytes and gives the offset time between Greenwich Mean Time (GMT) and local time. SMFxxGIE which has a length of 8 bytes and gives the projected end in GMT of the RMF interval end. The ERBDSREC GUPI is used to request SMF record data from the data sets 40 on each operating system image 20 in the sysplex 10. For each requested SMF record, the record token 650 included in the answer area 600, obtained from an earlier call of the ERBDSQRY GUPI, is included on the list of record tokens 650 passed as parameters to the ERBDSREC GUPI. The call for ERBDSREC GUPI is shown in FIG. 7. ANSWER.sub.-- AREA.sub.-- ADDR Specifies the address of an answer area 800 where the calling routines RMF returns the requested information. The area can be in the user address space 150 or in a public address and data space. The parameter is defined as a pointer variable of length 4. ANSWER.sub.-- AREA.sub.-- ALET Specifies the access list entry table (ALET) of the answer area specified by the answer.sub.-- area.sub.-- addr parameter. If the area resides in the user address space 150, the value of the answer.sub.-- area.sub.-- alet must be 0. The parameter answer.sub.-- area.sub.-- alet is defined as an unsigned integer variable of length 4. ANSWER.sub.-- AREA.sub.-- LENGTH Specifies the length of the answer area 800 whose address is given in the answer.sub.-- area.sub.-- addr parameter. If not enough space is provided, the sysplex data server 170 informs the calling program about how much space should have been provided as memory space addressed by the answer.sub.-- area.sub.-- addr parameter must contain the length needed for the complete data. The answer.sub.-- area.sub.-- length is defined as an unsigned integer variable of length 4. RMF.sub.-- RECORD.sub.-- TOKEN.sub.-- LIST Specifies the list of record tokens 650 for the SMF records that are requested using the ERBDSQRY GUPI. As shown in FIG. 7B it is defined unsigned integer variable of length 4 that specifies the number of array elements followed by an array of characters, each element of which has length 8. RETURN.sub.-- CODE When ERBDSQRY GUPI is completed, the return.sub.-- code parameter contains the return code for the GUPI. It is defined as an unsigned integer variable of length 4. REASON.sub.-- CODE When the ERBDSQRY GUPI is completed, the reason.sub.-- code contains the reason code why the operation was not carried out successfully. It is defined as an unsigned integer variable of length 4. When ERBDSREC returns control to the applications program 160 and the service was completed successfully, an answer area is created at the address in memory specified by the answer.sub.-- area.sub.-- addr parameter. The answer area consists of the common header 601 described in FIG. 6A and a data section 800. The structure of the data section 800 is shown in FIG. 8. The answer area 800 contains a data section header 810 plus a data section entry 850 for each requested SMF record. The entries 850 appear in the order of the request, i.e. the order of tokens specified in the rmf.sub.-- record.sub.-- token.sub.-- list parameter. The data entries 850 for each SMF record 310 contain a data section header 810 provided by the ERBDSREC GUPI and the SMF record (SMFRECORDn) 850 itself. The various fields in the data section 800 have the following values:
______________________________________
RLn Length of this SMF record 310 data entry (including the
data header 810)
RCn Return code for the request of this SMF record:
0 Data returned. SMF record data 850 follows the data
header 810.
4 Data not returned. Timeout occurred before the SMF
record was received from remote operating system
image 20.
8 Data not returned. Record token RMFTOKn does not
correspond to an existing SMF record on an operating
system image 20 in the sysplex 10.
RECTOKn
______________________________________
Record token for this SMF record 850. This token is copied from input parameter rmf.sub.-- record.sub.-- token.sub.-- list. SMFRECORDn This is the SMF record 850. The ERB3XDRS GUPI is used to request a set-of-samples of Monitor III data according to a specified date and time range. The call to ERB3XDRS GUPI is written as shown in FIG. 9. The parameters supplied to the ERB3XDRS have the following values: ANSWER.sub.-- AREA.sub.-- ADDR Specifies the address of an answer area in the memory where the sysplex data server 170 returns the requested information. The area can be either in the user address space 150 or in a public address and data space. The parameter answer.sub.-- area.sub.-- addr is defined as a pointer variable of length 4. ANSWER.sub.-- AREA.sub.-- ALET Specifies the access list entry table (ALET) of the answer area specified by the answer.sub.-- area.sub.-- addr parameter. If the area resides in the user address space 150, the value of the answer.sub.-- area.sub.-- alet must be 0. The parameter answer.sub.-- area.sub.-- alet is defined as an unsigned integer variable of length 4. ANSWER.sub.-- AREA.sub.-- LENGTH Specifies the length of the answer area whose address is given in the answer.sub.-- area.sub.-- addr parameter. If not space is provided the sysplex data server 170 informs the calling program about how much space should have been provided as memory space addressed by the answer.sub.-- area.sub.-- addr parameter must contain the length needed for the complete data. The answer.sub.-- area.sub.-- length is defined as an unsigned integer variable of length 4. START.sub.-- TIME This parameter specifies the date and time of the beginning of the time range information which is requested. The start.sub.-- time parameter is defined as a character variable of length 14 in the "sorted" format as explained above. END.sub.-- TIME This parameter specifies the date and time of the end of the time for which range information is requested. As with the start.sub.-- time parameter, the end.sub.-- time parameter is defined as character variable of length 14 in the same "sorted" format. SYSTEM.sub.-- NAME Specifies the name of the image 20 for which information is requested. This is the four character SMF system identification (SID). Should the request.sub.-- type parameter have the value `SCP`, the system name may be specified as four blanks (null value) and, as a result, information is collected from all operating system images 20 in the sysplex 10. The system.sub.-- name parameter is defined as a character variable of length 4. RETURN.sub.-- CODE When the ERB3XDRS GUPI call is completed, the return.sub.-- code parameter contains a return code which is defined as an unsigned integer variable of length 4. REASON.sub.-- CODE When the ERB3XDRS GUPI call is completed, the reason.sub.-- code parameter contains a reason code which is defined as an unsigned integer variable of length 4. ERB3XDRS Answer Area Layout: When the ERB3XDRS GUPI call returns control to the calling program and the service was completed successfully, the answer area at the address specified by the ANSWER.sub.-- AREA.sub.-- ADDR parameter contains the common header 601 as shown in FIG. 6A plus the requested Monitor III data section whose structure is shown in FIG. 10. The Monitor III data section comprises a data section header 1000 followed by the Monitor III actual data. The data section consists of one or more set-of-samples. The layout of the uncompressed set-of-samples is described in the incorporated by reference RMF User's Guide (IBM Manual No. GC28-1058). The fields in the data section header 1000 contain the following information:
______________________________________
DEL 1002
Length of this data section
RTN 1003
Data retrieval return code
RSN 1004
Data retrieval RSN
DGV 1005
Data gatherer version in the format `VRM`
DSG 1008
System name of the operating system image 20 where the
data gatherer is running
MNT 1010
Data gatherer MINTIME option
SAM 1012
Actual number of samples for the returned data
RNG 1015
Actual range length (in seconds)
BEG Actual range start time (in the sorted time format
YYYYMMDDHHMMSS)
END Actual range end time (in the sorted time format
YYYYMMDDHHMMSS)
DRC 1031
Data reducation exit completion code
Fields labelled with a "*" are reserved.
______________________________________
A typical embodiment of the invention for the use of the GUPIs will now be described with the help of FIG. 11. The following scenario will be assumed for the purposes of explanation. It will, however, be understood that other scenarios are possible. The applications program 160 running in the user address space 150 wishes to produce data about the resources of the sysplex 10. In the prior art, the applications program 160 would have interrogated the SMF data sets 40 or the monitor III data sets 60 running in the same operating system. However in the system of the described invention, there is now a plurality of operating system images 20 and the applications program 160 runs on only one of the operating system images--in the described embodiment of FIG. 4 only on operating system image 20b, although it could have been running on any other operating system image. The applications program 160 must therefore make use of the sysplex data server 170. As described earlier, the sysplex data server 170 is always running in the first measurement facility address space 30 when the resource measurement facility is running in the operating system image 20. In particular, a sysplex data server 170 must be running in the operating system image 20 in which the applications program 160 is running. In step 1100 on FIG. 11, the applications program 160 calls the ERBDSQRY service which is supplied by the sysplex data server 170 as a GUPI. The applications program 160 must provide to the GUPI the values of the parameters required (see above). The applications program 160 creates within the user address space 150 or in a public address and data space an answer area 600 for the data to be returned from ERBDSQRY service. The address of the created answer area 600 and its length are given in the ANSWER.sub.-- AREA.sub.-- ADDR, ANSWER.sub.-- AREA.sub.-- ALET and ANSWER.sub.-- AREA.sub.-- LENGTH parameters (step 1110). The applications program 160 must also supply a list of the names of the operating system images 20 from which it desires the data. This list is given in the SMF.sub.-- SYSTEM.sub.-- NAME.sub.-- LIST and the SMF.sub.-- SYSTEM.sub.-- NAME.sub.-- INFO parameters. The sysplex data server 170 must be operating on all of the named operating system images 20, otherwise an error message will be indicated by the RETURN.sub.-- CODE and REASON.sub.-- CODE parameters on return from the call. The applications program 160 must also specify the type of data that is to be collected. This is given by the REQUEST.sub.-- TYPE, START.sub.-- TIME, END.sub.-- TIME and SMF.sub.-- RECORD.sub.-- TYPE.sub.-- INFO parameters as described before. In step 1120, the sysplex data server 170 originating the called ERBDSQRY service sends requests for the data through the connections 410 to the sysplex data servers 170 running on the operating system images 20 specified by the SMF.sub.-- SYSTEM.sub.-- NAME.sub.-- LIST and SMF.sub.-- SYSTEM.sub.-- NAME.sub.-- INFO parameters. In step 1130, the sysplex data servers 170 interrogate the SMF data sets 40 and/or the monitor III data sets 60 running in the same operating system image 20. In those operating system images 20 in which a match with the search criteria is found, the sysplex data servers 170 will return (step 1140) to the originating sysplex data server 170 the SMF record headers 652 and, if requested, the RMF product section 655, from the SMF records 310. In step 1150, the originating sysplex data server 170 consolidates the information and assigns a record token 650 to each of the returned SMF record headers 652. The common header 601 (FIG. 6A) is created for the returned information and the header, together with the returned SMF record headers 652, RMF product section records 655 and record tokens 650 are stored (step 1160) in the answer area created in step 1110. The structure of the data section is shown in FIG. 6B and FIG. 6C. The RETURN.sub.-- CODE and REASON.sub.-- CODE parameters from the ERBDSQRY GUPI are used in order to signal errors or problems arising from the ERBDSQRY GUPI, e.g. when the length of the answer area 600 assigned by the ANSWER.sub.-- AREA.sub.-- LENGTH parameter is smaller than that required and indicated by the LEN block 610 of the common header shown in FIG. 6A. The applications program 160 can now process the information stored in the created answer area 600. A typical use of the information would be to request SMF record data from each of the data buffers 40 on each operating system image 20. For this purpose, the sysplex data server 170 is supplied with the ERBDSREC service which provides the ERBDSREC GUPI. The call of this service by the applications program 160 will now be described with the help of FIG. 12. In step 1200 the applications program 160 calls the ERBDSREC service of the sysplex data server 170. The format of the ERBDSREC call is described in FIG. 7. It includes parameters (ANSWER.sub.-- AREA.sub.-- ADDR, ANSWER.sub.-- AREA.sub.-- ALET, ANSWER.sub.-- AREA.sub.-- LENGTH) for describing the position and length of the ERBDSREC answer area 800 which is created wither within the user address space 150 or within a public address and data space. These parameters are used in step 1210 for creating the ERBDSREC answer area 800. With the ERBDSREC call is passed a list of record tokens 650 created by the ERBDSQRY call and stored in the ERBDSQRY answer area 600. These record tokens 650 indicate the SMF records which are requested by the applications program 160. In step 1220 the sysplex data server 170 passes to the sysplex data servers 170 of the operating system images 20 indicated by the record tokens 650 requests for the collection of data which is carried out in step 1230. The step 1230 of collection of data is carried out by the sysplex data servers 170 in the operating system images 20. The SMF data is obtained from the first plurality of data sets 40. The collected SMF data is returned to the requesting sysplex data server 170 where a header is created (FIG. 6A) and the data is consolidated (step 1250) and stored (step 1260) in the answer area 800 (FIG. 8). The data may be subsequently processed from the answer area 800 by the applications program 160 or by another program. The use of the ERB3XDRS GUPI is carried out in a similar manner to that of the ERBDSREC GUPI except that Monitor III data is requested and stored in an answer area 1000 as shown on FIG. 10. In a further embodiment of the invention the measurement facility processor 110 shown in FIG. 1 can run on the same operating system image 20 as the address spaces in which the answer area 800 from the ERBDSQRY call and the answer area 1000 from the ERB3XDRS call are to be found. The measurement facility processor 110 takes the available data and produces reports and figures based on the data thus allowing a system administrator to identify problems in the system. The measurement facility processor 110 produces reports about: Cross-system coupling facility delays: The delay report presents information about jobs in one operating system image 20 waiting for services from other operating system images 20. The tabular form of the report also lists explanations for the delay. Delay Report: The delay report (for all jobs) shows the activity of each job in the system and the hardware and software resources that are delaying each job. For all delays, the tabular form of the report also list the primary reason for the delay. Device Delays: The device delays report presents information about jobs contending for device volumes, such as direct access storage devices (DASD), tapes, or a mass storage controller (MSC) volume. Device Resource Delays: The resource-oriented device delays report presents information about the activity of input/output devices that are delaying jobs. Enqueue Delays: The enqueue delays report presents information about jobs that are waiting to use (enqueued on) serially reusable resources. The tabular display also lists the percentage of time that enqueue contention delayed the job over the report interval and the jobs that held the resource while the delayed job was waiting. Enqueue Resource Delays: The resource-oriented delays report presents information about serially reusable resources causing contention in the system. The tabular form of the report also lists the names of jobs that are delayed for (enqueued on) these resources, and the names of the jobs that are holding these resources. Hierarchical Storage Manager (HSM) Delays: The HSM delays report presents information about jobs waiting for services from HSM. The tabular form of the report also lists explanations for the delay. JES Delays: The JES delays report presents information about jobs waiting for services from JES2 or JES3. The tabular form of the report also lists explanations for the delay. Job Report: The job report presents information about why a job is delayed. The information in the report describes the primary or requested delay reason and provides possible causes leading to the job delay. Processor Delays: The processor delays report presents information about all jobs delayed for or using a processor during the report interval. Storage Delays: The storage delays report presents information about all jobs that used frames and the central and expanded storage working set sizes the jobs used during the report interval. If a job was delayed because of paging or swapping activity, the report also identifies the reason for the delay. Storage Delay Summary: The storage summary report provides information on storage usage for each domain and performance group. Storage Frames: The storage frames report provides information on frame counts for each address space. The report also provides information on the auxiliary slot count and page-in rate, including the rate of page-ins from expanded storage. Storage Resource Delays: The resource-oriented storage delays report presents information about system storage usage and paging space delay by volume serial. System Information Report: The system information report provides an overview of the sysplex 10, its workload, and the total number of jobs using resources or delayed for resources. The system information report can report measurements for the entire sysplex 10 and for the following group of jobs: TSO, batch, started tasks, domains, and performance groups. Workflow/Exceptions Report: The workflow/exceptions report presents information about system activity and system resources. The first part of report shows the speed at which jobs move through the sysplex. The second part of the report shows jobs that meet the specified exception criteria. A graphic report can be produced to represent the workflow in speedometers.
|
Same subclass Same class Consider this |
||||||||||
