View previous topic :: View next topic
|
Author |
Message |
harsh singh
New User
Joined: 11 Dec 2007 Posts: 26 Location: INDIA
|
|
|
|
hi,
I have been assigned Cost saving Task for the batch progs.
I have been ask to analyise all the areas where we can think of for saving cost.
Some of the oints which i have thought are:
1.Deleting uncessary files.
2. To Check that we need to process all the tepororary files during a batch process.
Can anyone helpme with some new ideas ???
Thanks for the support |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
In addition to your ideas -
01) If program files are defined as "ACCESS IS DYNAMIC" and they're only being accessed sequentially, change them to "ACCESS IS SEQUENTIAL". Same holds true for files defined as "ACCESS IS DYNAMIC" and the access is purely random, change them to "ACCESS IS RANDOM".
02) Use "Batch LSR" (BLSR) in the JCL.
03) Use BUFNI/BUFND (AMORG) in the JCL.
03) Ensure that table-subscripts are binary halfwords or fullwords or even better yet, indices. Many programs use display-numeric subscripts, which are a "dog with fleas".
04) Check whether the programs can be compiled with OPTIMIZE turned-on (IE: Reduced paging and calculations done at compile time) as well as TRUNC(OPT), which is for binary-data optimization.
05) Unless a given main-program has a very good reason to issue a CANCEL after calling a sub-program, then avoid using this like the plague. If you desire to invoke VALUE clauses in sub-programs upon each call (IE: Override "Last Used State"), then check the PROGRAM-ID "INITIAL" keyword, rather than using individual clearing of WS.
06) Pre-load heavily used dynamic sub-programs, by establishing addressability via a PROCEDURE-POINTER in program housekeeping, using the first 4-bytes of the PP in your subsequent CALL statements instead of the sub-program name.
The above should get you on your way.
HTH....
Regards,
Bill |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Hi Bill,
I got some queris to ask...
Bill O'Boyle wrote: |
02) Use "Batch LSR" (BLSR) in the JCL. |
What is BLSR?
Bill O'Boyle wrote: |
05) Unless a given main-program has a very good reason to issue a CANCEL after calling a sub-program, then avoid using this like the plague. If you desire to invoke VALUE clauses in sub-programs upon each call (IE: Override "Last Used State"), then check the PROGRAM-ID "INITIAL" keyword, rather than using individual clearing of WS. |
I didn't get the exact idea here, can You please convert it in bit more easy explanation...(layman language is preferred.. ) |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
good luck
what is the real meaning of cost saving ?
maybe what I am saying has been already reviewed but ...
I would start from
- the service level agreement with your customers
--- yes all the people using it facilities should be seen as customers with virtual billing
- analyze the current status of the applications
--- usually remnants of decommissioned applications tend to stick around for a loong time
--- plan to decommission unused applications
- analyze the need of harcopy output
---- plan for a paperless environment
- analyze the reruns due to abends
--- due to programming errors, bad data, scheduling conflicts, data set contention
- analyze the manual tape mount operations
---- very costly in terms of delays and device contentions
- I will add more as something comes to my mind
but sincerely I do not feel that getting rid of a few temporary dataset will
result in a big saving
usually big savings come from an in depth analysis of the applications
identifying the resource hoggers and rengineering the whole thing |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Hello,
Quote: |
I have been ask to analyise all the areas where we can think of for saving cost. |
Before looking at changes to individual jobs, i'd suggest ranking the jobs by those that use the most resources (cpu, local i/o, database i/o, etc). |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
In my first quote I wanted to ask...what is (BLSR) option in JCL? How can we use it to save CPU cost? |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
singh,
I had worked on a similar dollar savings initiative and found the one mentioned below
- Just check if you create dqtasets on tape. Creating and maintaining tape datasets are costly and see if those can be created and maintained on DASD. |
|
Back to top |
|
|
Anuj Dhawan
Superior Member
Joined: 22 Apr 2006 Posts: 6250 Location: Mumbai, India
|
|
|
|
Thanks for the documents Bill, actually, these types of suggestion (which You provided above) usually excites me a lot & I put a query on the fly, in expecatation of that I'll get an imediate response, I just realised that we work in different time zones. Yesterday my office-net didn't allow me to open the documents online..might be a more strong firewall again, so could surf for BLSR & QW didn't show helpful information.
Again thanks for Your patience. |
|
Back to top |
|
|
harsh singh
New User
Joined: 11 Dec 2007 Posts: 26 Location: INDIA
|
|
|
|
Thanks for such wonderful ideas but can u explain me in layman lang.
Quote: |
Ensure that table-subscripts are binary halfwords or fullwords or even better yet, indices. Many programs use display-numeric subscripts, which are a "dog with fleas".
|
|
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
harsh singh wrote: |
Thanks for such wonderful ideas but can u explain me in layman lang.
Quote: |
Ensure that table-subscripts are binary halfwords or fullwords or even better yet, indices. Many programs use display-numeric subscripts, which are a "dog with fleas".
|
|
What I'm saying here is that display-numeric defined subscripts are the last (and worst) choice.
Halfwords and Fullwords ( 9(04) and 9(08) COMP, respectively ) should be used instead or INDICES (INDEXES) are even a better choice.
If you needed to address a table-element and you're using display-numeric subscripts, the number of Assembler instructions would be (at least) a dozen or sometimes, closer to two dozen.
Bill |
|
Back to top |
|
|
|