View previous topic :: View next topic
|
Author |
Message |
Ketan Varhade
Active User
Joined: 29 Jun 2009 Posts: 197 Location: Mumbai
|
|
|
|
Hi,
I have strobe report for a job at my shop, it has a section SUPERVISOR CONTROL in it and in which PROGRAM MANAGER/LOAD
is taking the max CPU time, I would like to know what does this parameter signify.
I tried searching the forum as well as manual which I have, but could not find any thing on this.
Please help
Thanks |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Program Manager is the crust (of zOS) -- just the name of the process, unless I misunderstood about what you asked for. |
|
Back to top |
|
|
Ketan Varhade
Active User
Joined: 29 Jun 2009 Posts: 197 Location: Mumbai
|
|
|
|
Hi,
Code: |
- .SYSTEM SYSTEM SERVICES .SVC SUPERVISOR CONTROL
0MODULE SECTION FUNCTION INTERVAL % CPU TIME CPU TIME HISTOGRAM MARGIN OF ERROR: 9.02%
NAME NAME LENGTH SOLO TOTAL .00 14.00 28.00 42.00 56.00
SVC 000 EXCP .00 2.54 .+
SVC 006 PROGRAM MANAGER/LINK 1.69 1.69 .*
SVC 008 PROGRAM MANAGER/LOAD 54.24 54.24 .**************************************
SVC 010 GETMAIN/FREEMAIN 1.69 1.69 .*
SVC 013 TERMINATION .85 .85 .
SVC 017 IOS/PURGE RESTORE .85 .85 .
SVC 019 OPEN 2.54 2.54 .*
SVC 022 OPEN (TYPE = J) .85 .85 .
SVC 026 CATALOG MANAGEMENT 1.69 1.69 .*
SVC 035 WTO/WTOR 4.24 4.24 .***
SVC 048 RESOURCE MANAGER/DEQUEUE .85 .85 .
SVC 099 DYNAMIC ALLOCATION 1.69 1.69 .*
SVC 120 GETMAIN/FREEMAIN 4.24 4.24 .***
SVC 122 EXT.SVC ROUTER-TYPE 2 4.24 4.24 .***
SVC 248 USER SVC .85 .85 .
----- -----
.SVC TOTALS 80.51 83.05
|
I have this in the SUPERVISOR CONTROL and I would like to know what does this term 'PROGRAM MANAGER/LOAD' mean in this report, I am not getting for what purpose its taking max CPU time. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
Quote: |
SVC 008 PROGRAM MANAGER/LOAD |
svc 008 is the load svc ( the part of the operating systems which takes care of loading programs in virtual storage for execution )
it is reasonable that it might be one of the most resource consuming tasks |
|
Back to top |
|
|
Ketan Varhade
Active User
Joined: 29 Jun 2009 Posts: 197 Location: Mumbai
|
|
|
|
Hi Enrico,
Is there any possiblity of reducing this timing, as we are focusing on reducing the MIPS or should we target something else in the report |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
Quote: |
as we are focusing on reducing the MIPS or should we target something else in the report |
You cannot reduce MIPS, is a number which improperly defines the <power> of a cpu,
the only way to reduce MIPS is to buy/downgrade to a smaller CPU
anyway the issue is not something that is apt to be discussed on forum
( too many questions to be asked, too much data to be provided/examined )
consider speaking to Your support |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Hi Ketan,
MIPS was an IBM measurement (no longer supported by IBM though) of the entire processing workload of a machine and that includes for example -- I/O to disk, I/O to tape, channel usage, memory usage, paging, cycle consumption, and so on ... so forth. And this concept can never be applied to individual jobs. It is wrong to talk about MIPS for a job.
MIPS is a measure of hardware. Your MIPS rating changes only when a new machine is installed; it is otherwise a constant value. You cannot measure jobs in terms of MIPS because you are comparing apples to oranges. You can state that a given job uses X amount of CPU time but the MIPS rating of the box is not affected in any way.
Just forget about the "posters" they stick all over there at "your shop" - they're sheer nonsense. |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
search www.redbooks.ibm.com/ for
ABC of System Programming zOS
vol01 sg246981.pdf
vol02 sg246982.pdf
vol03 sg246983.pdf
vol05 sg246985.pdf
vol06 sg246986.pdf
vol07 sg246987.pdf
vol08 sg246988.pdf
vol09 sg246989.pdf
vol10 sg246990.pdf
vol11 sg246327.pdf
zOS_basics sg246366.pdf
and do a bit of reading |
|
Back to top |
|
|
Ketan Varhade
Active User
Joined: 29 Jun 2009 Posts: 197 Location: Mumbai
|
|
|
|
Hi,
I want to reduce the time for the loading, there are many module which this program is calling so I would like to know by reducing the number of call can have some effect on the CPU usage,
All the call done in the program are Dynamic call, would there be any saving if I convert all dynamic call to static call if storage is not a concern,
Please also let me know what measure that need to take care in doing this, |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
The only way to reduce the CPU for loading is to change from dynamic calls to static calls. Once you've linked all the subprograms into a single load module, that load module will be loaded one time and that'll be that. Since you're not having to go out to disk repeatedly, that should cut the percent of time spent in Program Manager/Loader -- not by a lot since the load module being loaded will be much larger, but it should reduce the percent some.
However, if your application tuning is at the point where you are actually concerned about the amount of time required by the loader, you either have tuned everything reasonable, or the application is doing something really bizarre (such as loading subprograms and then canceling them, then loading them again). |
|
Back to top |
|
|
Terry Heinze
JCL Moderator
Joined: 14 Jul 2008 Posts: 1249 Location: Richfield, MN, USA
|
|
|
|
Keep in mind that changing dynamic calls to static ones will require you to recompile all programs that do that static call any time the called program changes. Depending on how many calling programs there are and how often the called program changes can be a significant downside to this. |
|
Back to top |
|
|
MBabu
Active User
Joined: 03 Aug 2008 Posts: 400 Location: Mumbai
|
|
|
|
There are many considerations.
If your program is loading othjer programs, you need to know where they are being loaded from. If they are being loaded from STEPLIB or JOBLIB or maybe even link list for example, and then being immediately unloaded, that means that contents supervisor has to read the disk for the program each time(*). You can improve that significantly by putting the program in LPA so that it is always in storage. Another trick is to load the program at the beginning of the execution so that it resides in the job pack area of storage. Then subsequent loads will use the already loaded copy (assuming it is reentrant, reusable, whatever). Which also leads to the point, make sure that the program is reusable (check the manuals - I may have the terms wrong).
If the program is already in LPA, the problem might just be the sheer number of calls. In that case, you are seeing normal contents supervisor activity but instead, you can load the program and store the address and use that instead of LOADing each time (not sure if COBOL can do that but you didn't say it is COBOL).
You can also make the program a static call as others have said but that means changing code and maybe incurring maintenance overhead.
* - that was an oversimplification - I think contents supervisor might reuse a previously loaded/unloaded module in some cases but I would not rely in that. |
|
Back to top |
|
|
Ketan Varhade
Active User
Joined: 29 Jun 2009 Posts: 197 Location: Mumbai
|
|
|
|
Thanks Babu, Terry and Robert for your valuable comments,
@ Robert,
We have tried each and every method to reduce the CPU timing but we did nto achived much while runing the strobe for the job found that me timing is mainly consumed in the loading the called program, the called program are C and some are REXX routine, COBOL also. The main problem is that we have to reduce the CPU timing.
@Terry
The calling program are kind of doing a fix work there wont be much changes in the called routine, we will take care when we have to change the called routine, we will again recompile the main prog.
@Babu,
The prgram is been loaded form a joblib in my procedure. I didnt get how to put the program in the LPA and even do not know to check in which LPA is currently in? can u also tell me how to lead the program in the bebining of the job ?
We doing this in a COBOL-DB2 program.
Thanks every one for there input will update you on the saving the CPU timing
Thanks |
|
Back to top |
|
|
mike duff
New User
Joined: 05 Mar 2009 Posts: 4 Location: halifax
|
|
|
|
I am curious are your rexx and c programs compiled? |
|
Back to top |
|
|
|