Q1) We've built a Sysview rexx exec that will display all the jobs defined via a Sysview logical group and then adds either the MIPS values or CPUTIME values for each job displayed.
We then want to calculate an MSU value to display the total MSUs consumed by this group.
What's the best way to do this or what formula can be used to calculate MSU values based on the info in the ACTSUM display?
Q2) How does Sysview calculate the MIPS values in the ACTSUM display?
A1) Please reference the the following SHARE slide presentation:
On slide 11, a calculation is given for MSU.
The ACTSUM display shows values averaged over the given interval. The default mode is CURRENT, which displays the values of the last data collection interval (the last minute). So, the CPTime column from ACTSUM could be used in the calculation in place of "TCB seconds + SRB Seconds" since our CPTime column is the sum of SRBTime and TCBTime.
A2) Calculating an accurate value for MIPS is quite a challenge since nowadays, instructions can be simple or complex meaning that each instruction does not take the same amount of time to run.
Since instructions don't take the same amount of time, it's difficult to measure how many million instructions are issued per second.
The calculation we use is based off of the values we store for hourly MSU usage.
This equation looks like:
MIPS = ((msu_1hour_value * 1,000,000) / 48.5) / 3600
The 48.5 is a 'magic' number that was agreed upon outside of the SYSVIEW team that should be used to calculate MIPS from MSU