Limiting CPU Usage...



Ask about System customization & performance, Workload management, I/O device configuration etc.

Limiting CPU Usage...

Postby jkusb » Fri Oct 12, 2012 12:39 am

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.
jkusb
 
Posts: 10
Joined: Wed Oct 12, 2011 11:19 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Limiting CPU Usage...

Postby jkusb » Fri Oct 12, 2012 12:45 am

Oh... forgot to say... THANK YOU for your time... any help will be very much appreciated.
Jeff
jkusb
 
Posts: 10
Joined: Wed Oct 12, 2011 11:19 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Limiting CPU Usage...

Postby Akatsukami » Fri Oct 12, 2012 12:54 am

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".
"You have sat too long for any good you have been doing lately ... Depart, I say; and let us have done with you. In the name of God, go!" -- what I say to a junior programmer at least once a day
User avatar
Akatsukami
Global moderator
 
Posts: 1058
Joined: Sat Oct 16, 2010 2:31 am
Location: Bloomington, IL
Has thanked: 6 times
Been thanked: 51 times

Re: Limiting CPU Usage...

Postby dick scherrer » Fri Oct 12, 2012 12:56 am

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. . :?
Hope this helps,
d.sch.
User avatar
dick scherrer
Global moderator
 
Posts: 6268
Joined: Sat Jun 09, 2007 8:58 am
Has thanked: 3 times
Been thanked: 93 times

Re: Limiting CPU Usage...

Postby Robert Sample » Fri Oct 12, 2012 12:57 am

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.
Robert Sample
Global moderator
 
Posts: 3719
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 279 times

Re: Limiting CPU Usage...

Postby jkusb » Fri Oct 12, 2012 6:20 pm

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.
jkusb
 
Posts: 10
Joined: Wed Oct 12, 2011 11:19 pm
Has thanked: 0 time
Been thanked: 0 time

Re: Limiting CPU Usage...

Postby steve-myers » Sat Oct 13, 2012 7:06 am

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.
steve-myers
Global moderator
 
Posts: 2105
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 243 times

Re: Limiting CPU Usage...

Postby jkusb » Mon Oct 15, 2012 8:18 pm

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.
jkusb
 
Posts: 10
Joined: Wed Oct 12, 2011 11:19 pm
Has thanked: 0 time
Been thanked: 0 time


Return to System programming

 


  • Related topics
    Replies
    Views
    Last post