Portal | IBM Manuals | Downloads | Products | Refer | Info | Programs | JCLs | Forum Rules*| Site Map | Mainframe CD 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index
 
Register
 
IBMMAINFRAMES.com - IBM Mainframe Support Forums Index FAQ Search Memberlist Usergroups Profile Log in to check your private messages Log in
 
BLKSIZE is ZERO in JCL
Goto page Previous  1, 2
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL
Author Message
Anuj D.

Global Moderator


Joined: 22 Apr 2006
Posts: 2156
Location: Phoenix, AZ

PostPosted: Thu Jul 10, 2008 12:44 pm    Post subject: Re: Reply to: BLKSIZE is ZERO in JCL
Reply with quote

revathitcs wrote:
BLKSIZE =0

And you win the smallest answer of the month award...
Back to top
View user's profile Send private message
References
Guru Bob

New User


Joined: 31 Jan 2008
Posts: 21
Location: Malaysia

PostPosted: Mon Jul 28, 2008 2:18 pm    Post subject:
Reply with quote

My understanding is that 240K (old channel data xfer size if not FICON or ESCON) is the optimum BUFFEr size required to cause no delay in READ/WRITEs for QSAM files.

240K is for a 3390 is 9 buffers at the maximum optimum BLKSize of 27998. Hence coding BUFNO=10 for any files with >24,000 bytes for a BLKSIZE will be cool. I believe that hence allocating twice the number of buffers from the 240K size will allocate you two sets of buffers one seat being read/written and the other still haveing records read or written to them simultaneoulsy.

WIth FICON and SANs etc I am not sure how tru this is now.

DATA (QSAM ) buffers reside for COBOL program where ever you have specified your DATA(31) above the line or DATA(24) below the line (hence a severe limit on the number of BUFNO values (S80A,S878 abends) ). AMODE and RMODE of the program also influence this.
Back to top
View user's profile Send private message
Terry Heinze

Active User


Joined: 14 Jul 2008
Posts: 159
Location: Richfield, MN, USA

PostPosted: Mon Jul 28, 2008 9:00 pm    Post subject:
Reply with quote

Agree with expat. I also thought increasing BUFNO would be beneficial, but notso according to a performance analyst I once talked to. Increasing BUFNO will not decrease EXCPs which is the elapsed-time-hogger. BLKSIZE has much more of an impact on reducing EXCPs, and therefore elapsed time, than BUFNO. You can see this for yourself by testing with various combinations of both. Also, half-track blocking is usually what SDB picks, but not always. The bigger the LRECL, the better the chances are that something like 1/3-track blocking might be chosen.
Back to top
View user's profile Send private message
Suresh Shankarakrishnan

New User


Joined: 11 Jul 2008
Posts: 22
Location: USA

PostPosted: Mon Jul 28, 2008 10:13 pm    Post subject:
Reply with quote

http://www.ibmmainframes.com/about22889.html

Although the above link states 27998, we use 27997 to get the block size of a dataset.

Example , lrecl = 133.

27997/133 = 210 (get the integer value by truncating the decimal point, not rounding off)

210 * 133 = 27930

This relates specifically to creating blocksize, not sure if this helps though.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 651

PostPosted: Tue Jul 29, 2008 4:41 am    Post subject:
Reply with quote

Hi,

may I ask why you are using 27997 and not 27998.

If you have a file with LRECL=13999 RECFM=FB you would be wasting a fair bit of space.

Blocksize of 27997 would give you 3 records per track
Blocksize of 27998 would give you 4 records per track.


I picked LRECL of 13999 as an example as it is half of 27998.


Gerry
Back to top
View user's profile Send private message
Guru Bob

New User


Joined: 31 Jan 2008
Posts: 21
Location: Malaysia

PostPosted: Tue Jul 29, 2008 9:18 am    Post subject:
Reply with quote

Terry

I have been playing with BUFNO and being a fan of 1/2 track blocking and knowing the benefit I was playing with BUFNO to see if it does or does not improve throughput. Previuosly I thought also that BUFNO had no effect but I am finally proven wrong.

Setting BUFNO to 5, 30 and 15 showed remarkedly different results in the ELAPSED time with 1 minute 35 secs and then 28 seconds and then 44 seconds for BUFNO=15 respectively. There is no difference in the number of EXCPS which is exactly what I expect. BUFNO 30 show me the best decrease in execution time being some 30% of the BUFNO=5 settings and BUFNO=15 was only 40% reduction in BUFNO execution times. I ran this 5+ times to prove thhe results.

I used IDCAMS 2 SEQUENTIAL FILES of 600+ cylinders) for my testing and will today use a COBOL program and a EASYTRIEVE Program also just to confirm.

Using 27997 for the BLKSIaze is frought with danger as pointed out. WHy not use the BLK3390 command instead? I also assume that that site does not use SMS else you would not even have to specify BLKSIZE parameter in the JCL. COding the BLKSIZE makes it difficult to change to a new device later or even CART usage.
Back to top
View user's profile Send private message
Terry Heinze

Active User


Joined: 14 Jul 2008
Posts: 159
Location: Richfield, MN, USA

PostPosted: Tue Jul 29, 2008 9:31 am    Post subject:
Reply with quote

Although you ran 5+ tests, the job mix was most likely different in each case. Improved elapsed time is tough to measure because of job mix. I'd like to see what EXCP results you get with varying block sizes. I'd test it myself if I had access to a mainframe. I'm not surprised that you found no difference in EXCPs with varying BUFNO parameters. That was my experience also.
Back to top
View user's profile Send private message
Guru Bob

New User


Joined: 31 Jan 2008
Posts: 21
Location: Malaysia

PostPosted: Tue Jul 29, 2008 11:26 am    Post subject:
Reply with quote

Terry

I know from previous tests that we run during training classes smaller blksizes (and production fixes) dramatically increase the EXCP count. I only recommend 1/2 track blocking or for large LRECL 1/3 track blocking.

Basically any BLKSIZE between 19K-25K on a 3390 is a waste of DASD.
Back to top
View user's profile Send private message
Guru Bob

New User


Joined: 31 Jan 2008
Posts: 21
Location: Malaysia

PostPosted: Tue Jul 29, 2008 11:39 am    Post subject:
Reply with quote

To go back to the original post and the requirement.

Thre is n=more to tuning than just changing the BLKSIZE parameter - IMS DB/DC tuning if you run it?

VSAM tuning if you run it?
DB2 tuning if you run it?

More benfit can be achieved by tuning VSAM than BLKSIZE usually unless the BLKSIZE is really bad.

COBOL ensure that BLOCK CONTAINS 0 RECORDS is coded

BACKUPS and RESTORES using SORT or ADRDSSU or IDCAMS all parmaterised correctly (including BUFND,BUFNI,BUFNO etc were permitteed) will assist greatly. SOunds like a small patch to a big problem.

Have you confirmed with your SYSPROG/DASD administrarot if SMS is running for all QSAM files or only some. Do you still code VOL=???? or omit this parameter?
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 651

PostPosted: Tue Jul 29, 2008 4:54 pm    Post subject:
Reply with quote

Hi Guru Bob,

Quote:
WHy not use the BLK3390 command instead?


The above command is only site specific.


Gerry
Back to top
View user's profile Send private message
Suresh Shankarakrishnan

New User


Joined: 11 Jul 2008
Posts: 22
Location: USA

PostPosted: Tue Jul 29, 2008 9:01 pm    Post subject:
Reply with quote

I believe for datasets with a smaller lrecl ( for example even as high as 4000 ) using 27997 or 27998 does not matter. Having said that, I honestly do not know why we use 27997 and not 27998. Will have to ask a systems person at my site.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL All times are GMT + 6 HoursGoto page Previous  1, 2
Page 2 of 2