Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

Job taking too much of CPU Time

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
asimkp

New User


Joined: 24 Aug 2008
Posts: 4
Location: Bangalore,India

PostPosted: Wed May 26, 2010 9:03 pm    Post subject: Job taking too much of CPU Time
Reply with quote

My job is running a SAS Program and Macros and is taking too much of time.
The SAS-Datasets which we are creating are pretty huge(30 Gigs of Data/500,000 Tracks), and using the same Datasets in the subsequent jobs, which in-turn is taking 3+ hours of processeing time.
The LRECL of the Dataset is 27648 and we are using BLKSIZE=0.

I have tried following options to tune my JCL, but no change in the EXCP COUNT or the Elasped time.-
1. Added BUFFNO=15 to the input datasets.
2. Incresed the Region Parameter.

Can you please help me to tune-in my JCL icon_cry.gif
Back to top
View user's profile Send private message

enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 10275
Location: italy

PostPosted: Wed May 26, 2010 9:10 pm    Post subject: Reply to: Job taking too much of CPU Time
Reply with quote

telling that something ... is taking too much of time...
is just useless whining

come back when You have data not impressions
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8120
Location: East Dubuque, Illinois, USA

PostPosted: Wed May 26, 2010 9:10 pm    Post subject:
Reply with quote

Quote:
I have tried following options to tune my JCL, but no change in the EXCP COUNT or the Elasped time.-
1. Added BUFFNO=15 to the input datasets.
2. Incresed the Region Parameter.
This indicates the job is CPU-bound, not I/O-bound. SAS is quite efficient at handling I/O already, so you're not likely to find many ways to improve it. Increasing the region parameter won't actually do anything to improve performance in 99.99% of cases -- CPU-bound processes aren't usually waiting for memory, they are waiting to do work on the processor. About your only choice is to analyze the SAS code and make improvements in it (indexing instead of sorts, minimizing SAS work files, and so forth).
Back to top
View user's profile Send private message
Ronald Burr

Active User


Joined: 22 Oct 2009
Posts: 293
Location: U.S.A.

PostPosted: Wed May 26, 2010 9:15 pm    Post subject: Re: Job taking too much of CPU Time
Reply with quote

asimkp wrote:
and using the same Datasets in the subsequent jobs, which in-turn is taking 3+ hours of processeing time.


If you are processing the same 30 gigabyte dataset multiple times for different processes, try extracting ALL of the fields needed by ANY/ALL of the processes in a SINGLE pass of the 30 gig dataset, then work on that extract for each of the individual processes.
Back to top
View user's profile Send private message
asimkp

New User


Joined: 24 Aug 2008
Posts: 4
Location: Bangalore,India

PostPosted: Wed May 26, 2010 10:08 pm    Post subject:
Reply with quote

Enrico - Apologies for the generalisation..here are the numbers -

STEPNAME PROCSTEP RC EXCP CPU SRB CLOCK SERV PG
SAS003 SAS 00 2015K 13.34 .54 186.36 152M 0

EXCP = 2015K
CPU = 13.34 Minutes
Elap Times = 186.36 mins

Robert - Thanks for th suggestion, we indeed are using 12 SORTWK files, though in OPTIONS we specified it as 6. But again, touching the SAS code would be like re-doing the code, which wil demand time.

Ronald - We have the same logic in place of extracting the required fields in SAS Programs for every job.

Thanks for your help..Any more suggestions are welcome..
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8120
Location: East Dubuque, Illinois, USA

PostPosted: Wed May 26, 2010 10:58 pm    Post subject:
Reply with quote

Given your reluctance to tune the code, contact your site support group for assistance. They may be able to place the job in another service class to give it more CPU and get it done quicker. However, the ratio of CPU time to elapsed time doesn't seem wildly out of line based on what I've seen of modern mainframes, so I suspect the only way you could possibly make substantial improvements (which may not be possible of course) in the elapsed time would be to rewrite the SAS code more efficiently.
Back to top
View user's profile Send private message
Ronald Burr

Active User


Joined: 22 Oct 2009
Posts: 293
Location: U.S.A.

PostPosted: Wed May 26, 2010 11:34 pm    Post subject:
Reply with quote

asimkp wrote:
Ronald - We have the same logic in place of extracting the required fields in SAS Programs for every job.


Just because it's the SAME logic doesn't mean that it is the most EFFICIENT logic.

I once tuned an application that generated 9 different reports from a 7-reel master file that had a 4K LRECL. EACH job took an hour and a half to run ( there were no tape silos in those days ) - making a total of 13.5 hours of elapsed time for the 9 reports. I found that most of the reports used many of the same fields with some unique fields depending on the report - and COMBINED, all of the fields being used by the 9 reports totaled only 165 bytes. SO, I reworked the application to extract ALL referenced fields in ONE pass ( 1.5 hours ), and then redefined the "Master File" in each of the individual report programs to be the 165-byte extract file instead of the "real" master file. Afterward, each of the report programs took only 5 minutes to run instead of 1.5 hours. So, the total elapsed time for the 9 reports went from 13.5 hours to 2.25 hours.
Did it take a little work - yes. I had to change the JCL in one job to add a SORT step to build the extract, change the JCL for the 9 report steps to point to the new extract file, create a copybook for the new "master file", and change the copybook name and re-compile 9 modules. But saving 11.25 hours of elapsed time per day seemed to be worth the effort ( and it allowed OTHER applications to use that 11.25 hours of initiator time ).
Back to top
View user's profile Send private message
dick scherrer

Site Director


Joined: 23 Nov 2006
Posts: 19270
Location: Inside the Matrix

PostPosted: Thu May 27, 2010 12:13 am    Post subject:
Reply with quote

Hello,

Quote:
But again, touching the SAS code would be like re-doing the code, which wil demand time.
If you really want to improve the process(es), invest the time. . .

Basically what i read is that you have something that runs poorly and you want some magic bullet to fix it (with no thought or effort required). Not very realistic.

Just because somone implemented a "thing" and then it was cloned to make several other "things" is no reason that all should continue as is. . .
Back to top
View user's profile Send private message
enrico-sorichetti

Global Moderator


Joined: 14 Mar 2007
Posts: 10275
Location: italy

PostPosted: Thu May 27, 2010 12:24 am    Post subject: Reply to: Job taking too much of CPU Time
Reply with quote

worse than that...
they do not even know what would be the reasonable time
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts DSNACCOX (can it be run on 1 db/ts, t... SRICOBSAS DB2 5 Sat May 06, 2017 12:59 am
No new posts LISTIDR compiled date/time jerryte IBM Tools 3 Thu Apr 20, 2017 7:37 pm
No new posts Application not run by time HH:MM tri... jzhardy IBM Tools 1 Sun Apr 09, 2017 3:22 pm
No new posts Date and time format in CICS Chandru3183 CICS 2 Sat Mar 18, 2017 12:46 pm
No new posts How to get current date -1 and curren... murali.andaluri DFSORT/ICETOOL 3 Wed Mar 08, 2017 2:09 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us