View previous topic :: View next topic |
Author |
Message |
rgb Beginner
Joined: 25 Nov 2003 Posts: 6 Topics: 2
|
Posted: Thu Jan 29, 2004 6:12 am Post subject: Converting Service Units to Cpu Time |
|
|
I need to convert CPU + SRB service units to CPU seconds in a Workload Manager (goal mode) report.
In SMF record type 72 (WM Control Section) I can extract R723MADJ to get the adjustment factor, R723MCPU and R723MSRB to get the coefficients. Then for each service class or report class I can get R723CCPU and R723CSRB from the Service/Report Class Period Data Section.
Now to get the cpu seconds I need to do the following computation.
coeff= 1600/R723MADJ*10000
cpusec= ((R723CCPU/R723MCPU)+(R723CSRB/R723MSRB))/coeff
This is my question: where does the 1600 from the coeff calculation comes from ? I got this figure by using the R723MADJ from SMF and the figures reported in the CPU Capacity Table in MVS Planning Workload Manager Manual. Still I don't understand what this 1600 means. _________________ RGB |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
|
Back to top |
|
 |
rgb Beginner
Joined: 25 Nov 2003 Posts: 6 Topics: 2
|
Posted: Thu Jan 29, 2004 8:27 am Post subject: |
|
|
kolusu
Thank you for your answer. I already managed to get the calculation right. So this is not really an information that I need, but only a sort of a nice to know thing. In the Cpu Adjustment Field I get the following figures:
3112 for a 9672-R26
2523 for a 2066-0A2
1863 for a 2066-002
and I get the following figures from the table you gave as a link:
http://www-1.ibm.com/servers/eserver/zseries/srm/ - SRM constants for IBM Processors
5141.3882 for a 9672-R26
6341.6568 for a 2066-0A2
8588.2984 for a 2066-002
Now if you do 1600/3112*10000 you get 5141.3882
if you do 1600/2523*10000 you get 6341.6568
if you do 1600/1862*10000 you get 8588.2984
So I figured out that the formula to get the SU/sec is
1600/R723MADJ*10000 but I do not understand why 1600. It's just a made up constant that one should figure out or it does have a meaningful sense ?
Also in the REXX procedure that you gave in the mentioned post there is the following formula:
Quote: |
/* REXX */
CVT = STORAGE(10,4)
RMCT = STORAGE(D2X(C2D(CVT)+604),4)
SU = STORAGE(D2X(C2D(RMCT)+64),4)
SU = 16000000/C2D(SU))
SAY 'SU/SEC FACTOR IS' SU ,
'(1 CPU SECOND EQUALS' SU 'SERVICE UNITS)'
CVTPCCAT = STORAGE(D2X(C2D(CVT)+764),4)
SAY 'PCCA VECTOR TABLE AT' C2X(CVTPCCAT) |
As you can see this also does 1600*10000/madj... _________________ RGB |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
Posted: Thu Jan 29, 2004 9:24 am Post subject: |
|
|
Rgb,
I did some digging and found the reason for using the number 16000000 in calculation.
Code: | SU = STORAGE(D2X(C2D(RMCT)+64),4) |
gives in fact RMCTADJC, "CPU RATE ADJUSTMENT" . RMCTADJC is the number of sixteenths of one CPU microsecond per CPU service unit. This explains the computation: SU = 16000000/C2D(SU)
Here is some more if you are interested .
One MSU = 6 Mips (here MSU and Mips represent a consumption speed, not an accumulated consumption). So a job that constantly uses 10 MSU (as displayed by monitors) uses 60 Mips. To convert CPU seconds (accumulated consumption) to Mips (average consumption speed): Mips = (CPU seconds)*EUM/(Elapsed seconds) where EUM=EQUIVALENT UNIPROCESSOR MIPS. Example: a job has used 100 CPU seconds during 1 minute (it is a multi-task job). The system is a 2064-1C5 (1085 MIPS, EUM=217 MIPS). The average consumption speed of this job is 100*217/60=362 MIPS.
Hope this helps...
Cheers
Kolusu _________________ Kolusu
www.linkedin.com/in/kolusu |
|
Back to top |
|
 |
rgb Beginner
Joined: 25 Nov 2003 Posts: 6 Topics: 2
|
Posted: Fri Jan 30, 2004 8:45 am Post subject: |
|
|
Thank you very much !  _________________ RGB |
|
Back to top |
|
 |
|
|