Page 1 of 1

Limiting CPU Usage...

PostPosted: Fri Oct 12, 2012 12:39 am
by jkusb
My team runs Jobs that delete massive amounts of records… we have been told that these jobs are impacting production jobs (something like ‘your job is sucking 80% CPU’)… to which I thought… well, that shouldn’t be possible… aren’t there ‘controls’ in place so that things like that can’t happen. We were told to cut our files into smaller files and process them ‘over time’ and to run the jobs off hours. Something isn’t set up right with our system. I know there are things to manage a jobs (the systems) recourses (I’m just a programmer so I have no idea what these things are or do, but I ran across them browsing the internet). I saw things like WLM, SCHEMV, SeviceClass, Thruput Manager, Performance Goals, Execution Bach Monitor, Scheduling Priority, JES 2 PERFORM & JOBPRTY & /*PRIORTY, Priorty Level, and settings for JOBCLASS and setup settings for initiators. So, really… something in all of that should make it possible for me to put something in my JCL… or for the system to somehow know to run these jobs as “take more time and use less CPU” so that I can run these big delete files during the day without impacting PRODuction.

Re: Limiting CPU Usage...

PostPosted: Fri Oct 12, 2012 12:45 am
by jkusb
Oh... forgot to say... THANK YOU for your time... any help will be very much appreciated.
Jeff

Re: Limiting CPU Usage...

PostPosted: Fri Oct 12, 2012 12:54 am
by Akatsukami
Your shop ought to have a performance management workgroup that is responsible for such things. You must talk to them; although many of us here have some experience in these things, most or all of the tools that you mention will be inaccessible to you, a "mere" ;) programmer. Incidentally, the complainers should have done likewise; your team's response can justifiably be, "Nothing we can do about it; talk to the performance management workgroup".

Re: Limiting CPU Usage...

PostPosted: Fri Oct 12, 2012 12:56 am
by dick scherrer
Hello and welcome to the forum,

Well, mostly a batch job will use any cpu cycles available. This is not a problem, but a feature.

Talk with your scheduling and performance monitoring people and determine the best way to get this run. There are different ways to "control things"and they will know how this is managed on your system (if it is).

Why does someone believe these need to run during the day? Over a weekend sounds like a good time. . :?

Re: Limiting CPU Usage...

PostPosted: Fri Oct 12, 2012 12:57 am
by Robert Sample
Workload Manager (WLM) is typically used on z/OS machines these days to control workloads. One possibility that could make a big difference would be to request that your job be classified as DISCRETIONARY work by WLM. Discretionary work to WLM is work (jobs, started tasks, CICS transactions or whatever) that only get CPU time when nothing else is asking for it. Hence, if your job is DISCRETIONARY and still getting 80% of the CPU, then it is because no other job needs that CPU time. The job might run MUCH longer, of course, if other jobs are eating up most of the CPU time but that's why they call 'em "trade-offs". if the impact is too great by doing this, you can work with your site support group to validate what the workload mix is when your job runs and make sure the execution velocity and importance of your job is appropriately low enough to let other jobs get their needed CPU time while still giving your job the CPU time it needs to complete in a reasonable amount of time.

However, if your site is attempting to use more than 100% of the CPU, then your only recourse might be to change the job start time so it is not running at a time when it competes with production for resources. Performance management can be extremely complex, and you really have to work closely with your site support group to be able to get a handle on the various issues.

Re: Limiting CPU Usage...

PostPosted: Fri Oct 12, 2012 6:20 pm
by jkusb
Thank you all for your VERY HELPFUL thoughts. Just what I was hoping for. I am the bottom of the totem pole and am just getting a glimps of the issue. I am wanting to understand at least a little bit what the options might be before talking to others about 'possiblities'. I knew there must be a group that deals with this stuff and that 'something' could be done to manage resources in a 'good way'. I felt I needed my thinking to be validated (which you did :-))... and to have at least a little 'concrete knowledge' (which you provided :-)) before I try to talk my way 'up the chain'. Oh, I am wanting to run these day-light so that all the appropriate support staff (like myself) are here to make sure all is good and that there is no negative impact (and heaven forbid there is, to fix it instantly)... of course if there is no other option I will continue to 'split it into smaller files and run off hours', but it would sure be a lot better to use the system 'intellegently' and run them day-light. So... again, thanks.

Re: Limiting CPU Usage...

PostPosted: Sat Oct 13, 2012 7:06 am
by steve-myers
You haven't told us if this is VSAM, or DB2, or IMS.

Perhaps a more reasonable approach might be to unload the data, run a batch process to delete the data from the unloaded data, and then reload what's left.

Others have pointed out ideas you can run by the performance people in your shop, but it might be a good idea to rethink your approach.

The z/OS workload manager is designed to make it difficult - perhaps impossible - to identify a workload and then control its resource usage. I think the reasoning behind this is the users got it wrong most of the time using the old system, and even if they got it right it defined static relationships that did not stand up well in a dynamic environment. I think the theory is IBM knows best, which might actually be the "right" answer here, though I mistrust this idea most of the time.

Re: Limiting CPU Usage...

PostPosted: Mon Oct 15, 2012 8:18 pm
by jkusb
Steve... that all makes sense. This is all great information. I did ask a question or two here and it seems there are more 'behind the scenes' things going on than I was aware of (like channel traffic and where things are processing). It seems they do have reasonable reasons for what they are asking (so I'll keep splitting and off hour submitting). Anyway, I'm glad I asked, it's good general information to know... you all have been very very helpful and kind. Thank you.