gtpm3m0uMulti-Processor Interconnect Facility Reference

Examining Generated Reports

Since a user may wish to activate this post-processing application several times, having different search criteria for each execution, each report will identify user-defined search criteria on its first report page.

A sample report has been provided for PRINT (or DEFAULT) commands (refer to Sample Print/Default Report). As can be seen in this sample, all fields in the 4K header have been printed at the top of each page. For each traced MPIF activity, all traced fields defined in DCTTRC DSECT have been formatted in an "easy-to-read" char display. The I/O flag and MSRB function code have been translated, reporting both their hexadecimal contents and their definition.

FUNCTION X'nn', = 'UNDEFINED TO PGM'

When this message appears, the function code identified as X'nn' (in hexadecimal notation) must be added to the table of function codes labeled FUNCTBLE (MPIF Function Codes) and the maximum code must be revised to reflect a new maximum (labeled MAX#FUNC).

A portion of the transmitted message is also printed in hexadecimal and character format. If the MSRB function code is zero or if the message length is zero, the message area in this report will contain:

SIZE =  000   (MSG = NONE)

Each traced MPIF activity will generate a five or six line report entry if the PRINT or DEFAULT command is issued with a one line variation depending on the absence or presence of a transmitted message. If a message is not present, only the line above will be printed. Otherwise, the line above will be printed (with the transmitted message size displayed) preceded by a line containing a portion of the transmitted message in hexadecimal and character notation (as shown in the report sample).

It should be pointed out that if the user-transmitted message contains a greater than or less than mathematical sign, some printer-supported software packages are designed to recognize these mathematical signs as "character shift then print", if carriage control characters (CC) are imbedded in the report. As a result, the right-most bar (|) that should otherwise enclose report contents may be shifted left or right by 6 characters, depending on the greater than or less than sign incurred within the message.

The COMPARE command generates a more compressed report version, with one report line per logged MPIF message entry.

As shown in the CPU-to-CPU report sample (see Sample CPU-to-CPU Report), the report heading identifies the primary CPU and its connected CPU. Each reported line then identifies another message transmission. If a given message was sent from the primary CPU and received by the connected CPU or vice versa, transmission (lag) time is derived by subtracting the sending CPU time stamp (DCTMMSSC) from the receiving CPU time stamp (DCTMMSSC). The result is printed in a column labeled "Transmit". At the end of this report, a statistical summary provides the average transmission time derived from the sum of transmission (lag) time divided by the number of transmitted messages.

If a message cannot be found on both (to-from) CPU log tapes, the column labeled "Transmit" will have the words "Not Found" in it for that message. Furthermore, an attempt was made to identify the CPU containing the unmatched message by placing an asterisk (*) in front of the I/O activity code if a "Not Found" (unable to match messages) condition occurred on the log tape referenced by CPU2= parameter. See the report sample below:

Sample CPU-to-CPU Analysis Report

                  MPIF Tape-to-Tape Trace Analysis
              TPFXX1   Sent To or Received from TPFXX2
 
 
   I/O     Dest.      Origin      Path      Size    Time    Transmit
   Sent   TPF01      TPF02      C/U-3088     059    2-24   Not Found
  *Sent   TPF03      TPF04      Dev-3088     059    2-24   Not Found

In this example, TPFXX1 (primary CPU) sent one message to TPFXX2 that was not found on TPFXX2's log tape. TPFXX2 sent one message to TPFXX1 that was not found on TPFXX1's log tape. An asterisk (*) before the word Sent above denotes that a message on the connected CPU's log tape that could not be found on the primary CPU log tape.

For each "Not Found" condition, you could also obtain a portion of the transmitted message and its path send sequence number (for further investigation). Keep in mind that a "Not Found" condition can occur from several possibilities:

  1. Trace was turned ON with logging in one CPU but not within the connected CPU.
  2. The START-TIME; STOP-TIME range for extracting MPIF logged messages is based on a time stamp in the 4K header. This time stamp is placed there when the 4K block is dumped to tape.

    If message traffic differs between CPUs causing the 4K blocks to be dumped at different time intervals, a "Not Found" condition (outside time range) may result.

  3. A clock synchronization error may occur between two MPIF-connected CPUs causing a difference in time stamps.

In other words, a "Not Found" condition may result, as opposed to losing a message. The user would have to further research the cause.

In addition to reporting one line per transmitted message on log tapes, these post-processing programs will also generate the following statistics:


        Minimum Transmission Time ..................     :00  (MIN:SEC)
        Maximum Transmission Time ..................     :01  (MIN:SEC)
        Average Transmission Time ..................    01.87 (SEC.%SEC)
 
 
        Number of Messages Matched .................      02
        Number of Msg. Not Found ...................      00
        Number of Clock Sync. Errors ...............      01
 

A Minimum Transmission Time of zero indicates that a message was transmitted from one CPU and received at another CPU within the same second (or zero elapsed time). This should be viewed as an optimum condition, since the phase "transmission time" equates to user response time (elapsed time between sending and receiving). Maximum Transmission Time indicates the largest lag time between sending and receiving a given message. Average Transmission Time is the sum of transmission lag time (among all match messages) divided by the volume of matched messages. An Average Transmission Time = 0 and Number of Messages Matched = 300 is equivalent to:

        300 messages were transmitted between these CPUs within the same second.

The Number of Messages Matched and the Number Msg. Not Found are self-explanatory. Lastly, a Clock Sync. Error is reported if the time stamp of a sending (WRITE) CPU exceeds the time stamp of the receiving (READ) CPU for a given message.

With Clock Sync. Errors, each message is counted and discarded. To trace messages causing this error, the user can revise the program to write these messages to an error file.