- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - OpenVMS
- >
- Re: COBOL RESERVE CLAUSE QUESTION
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Discussions
Discussions
Forums
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-13-2008 11:55 AM
тАО03-13-2008 11:55 AM
FILE-CONTROL.
SELECT OPTIONAL INVBRK
ASSIGN TO INVBRK
RESERVE 4 AREAS
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS INVBRK-KEY
FILE STATUS IS FILE-STAT.
I-O-CONTROL.
APPLY
EXTENSION 50
CONTIGUOUS-BEST-TRY PREALLOCATION 100
ON INVBRK.
What I think I know:
I'm creating buffers (using RAM)for RMS to store and manipulate data that was pulled off the disk so that RMS can access records that might have been in the last disk read without requiring another disk read.
What I haven't figured out:
1) What's an AREA?
2) And how do I know I need 4 of them?
3) Does the system not use any 'AREAs' when the RMS defaults are as in the attachment?
note: I hope the attachment made it.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-13-2008 12:11 PM
тАО03-13-2008 12:11 PM
Re: COBOL RESERVE CLAUSE QUESTION
For an indexed file, if you are doing keyed reads or reading sequentially on an alternate key, then in my opinion four is not enough. Perhaps 127.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-13-2008 01:22 PM
тАО03-13-2008 01:22 PM
Re: COBOL RESERVE CLAUSE QUESTION
Thanks for the response. I'll use the larger number for the new file.
This raises another issue for me. As I stated, I'm cloning a standard I/O sub-program that we use alot. This is a 'mature', i.e. 'old' application and the most used files are ALL accessed by sub-programs which reserve only 3, 4, or 5 AREAS. (Some of these were written back when 16K of RAM came on a circuit board the size of my desktop and cost as much as a small car. Maybe that's why the original programmer used such a small number.)
And we do have Direct I/O based performance issues during periods of heavy use. Now I'm thinking that I could improve performance by changing some of these sub-programs.
Does this make sense to you? And if so, what criteria did you use to come up with the number 127?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-13-2008 02:30 PM
тАО03-13-2008 02:30 PM
SolutionBAD... in general.
>> EXTENSION 50
>> CONTIGUOUS-BEST-TRY PREALLOCATION 100
BAD... in general.
>> I'm creating buffers (using RAM)for RMS to store and manipulate data that was pulled off the disk so that RMS can access records that might have been in the last disk read without requiring another disk read.
Close enoug. You are telling RMS to use just 4 IO buffers no matter how many it really needs. Those buffers will hold BUCKETS which might hols RECORDS or INDEX information.
>> What I haven't figured out:
>> 1) What's an AREA?
In COBOL terms it is an *LOCAL* RMS file buffer.
In RMS terms, confusingly, it is pool of equal sized buckets to make allocations from.
2) And how do I know I need 4 of them?
You don't. It depends.
You probably need just 2, IF AND ONLY IF, the file also uses GLOBAL BUFFERS
Rule of thumb
1) simple sequential access by primary key: 2
2) single keyed lookup: 1
3) repeated key lookups : as many as the used index is deep + 1. This is the RMS default. It may well be more than 4
4) Inserting 1 record? 2
4) Repeatedly inserting record?
The deepest index time the number of indexed + 50%.
Come to my BOOT CAMP sessions, or find an old presenation, and learn all about it!
>> 3) Does the system not use any 'AREAs' when the RMS defaults are as in the attachment?
No, on the contrary. The AREA clause will over-rule the default. Which is great IF you know exactly what you are doing.
WHEN IN DOUBT, LEAVE IT OUT!
Garry>> For an indexed file, if you are doing keyed reads or reading sequentially on an alternate key, then in my opinion four is not enough.
Correct!
>> Perhaps 127.
Probably not. better give that kind of memory to GLOBAL buffers where all concurrent users can benefit.
RMS does serial cache searches for local buffers (hashed for global) which may sloow down beyond 50 or so.
Try 20 or 40 first.
>> This is a 'mature', i.e. 'old' application and the most used files are ALL accessed by sub-programs which reserve only 3, 4, or 5 AREAS.
That NEVER was a good idea.
It suggest teh developpers where thinking in the right direction, but not thinking far enough ahead.
A LITTLE KNOWLEDGE IS A DANGEROUS THING.
>>> And we do have Direct I/O based performance issues during periods of heavy use. Now I'm thinking that I could improve performance by changing some of these sub-programs.
Sure sounds like it!
Sounds like the customer could benefit froma comprehensive performance review. Several participants in this forum, including myself, will be happy to provide that... for fee.
>>> And if so, what criteria did you use to come up with the number 127?
It's the max for certain ways to set it.
It is likely to help well, but might not help better than say 20.
It MAY even be worse than 4 in unlikely, low CPU power, cases.
Hope this helps some,
Hein van den Heuvel (at gmail dot com)
HvdH Performance Consulting
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-14-2008 05:53 AM
тАО03-14-2008 05:53 AM
Re: COBOL RESERVE CLAUSE QUESTION
Thanks. I'll do some more reading.
These buffers hold RMS buckets which hold records or index information. Got it. Thanks.
"In COBOL terms it is a *LOCAL* RMS file buffer. In RMS terms, confusingly, it is pool of equal sized buckets to make allocations from."
Aha!
"Come to my BOOT CAMP sessions, or find an old presenation, and learn all about it!"
If you're talking about Nashua, I already have my request in to management. My fingers are crossed. And I'll be looking for the old presentation right after I post this.
If afterwards, I still have questions (which I do at this point) about:
1) how to determine whether a file is using GLOBAL BUFFERS
2) what exactly you mean by how deep an index is
3) what (hashed for global) means
then I may be back. In the mean time, THANK YOU BOTH, VERY MUCH.
Note to self:
WHEN IN DOUBT, LEAVE IT OUT!
A LITTLE KNOWLEDGE IS A DANGEROUS THING.
:o)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-14-2008 06:33 AM
тАО03-14-2008 06:33 AM
Re: COBOL RESERVE CLAUSE QUESTION
I did presenations on HP Tech Forums and bootcaps and such. Most of those are in a 'attendees' only areas.
There is a relatively comprehensive version online here:
http://gerritwoertman.eu/NL-VMSTUD2006/NL-VMSTUD-2006-ppt/2006_RMS_Utrecht_Dutchworld.ppt
There is an older, shorter, version on your OpenVMS freeware CD's in [RMS_tools]
http://h71000.www7.hp.com/freeware/freeware60/rms_tools/rms_tuning.ppt
Enjoy!
Hein.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
тАО03-17-2008 12:34 PM
тАО03-17-2008 12:34 PM