IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

REGION= parameter


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Mistermind

New User


Joined: 08 Feb 2008
Posts: 46
Location: Dublin

PostPosted: Sat May 02, 2009 6:16 pm
Reply with quote

Why did IBM bring out the REGION= parameter?

As the number of files increases and GETMAINS increase (often without tidying FREEMAIN) the requirement for storage increases. In old JCL often a low REGION= is specified, resulting in an S878 dump even when the modern installation is no longer short of real storage.

If an rmode24 executable loadmodule switches to amode31 and is loaded above 16M, any attempt to execute JCL with REGION=16M or lower will abend S822. In a modern installation REGION=0M would seem to be the sensible default choice.

What would be the pros and cons of basically removing all REGION= parms or replacing them with REGION=0M?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Sat May 02, 2009 8:34 pm
Reply with quote

If you look at the history of IBM mainframes, REGION= has been around as long as JCL has. The first mainframes came with 32 or 64 K (not M) IIRC, and there were a number of facilities to deal with limited memory (for example, the REGION= in JCL as well as overlays in the linkage editor).

Quote:
when the modern installation is no longer short of real storage.
Terminology point -- your job uses virtual (central) storage, not real storage. There are differences.

Quote:
If an rmode24 executable loadmodule switches to amode31 and is loaded above 16M, any attempt to execute JCL with REGION=16M or lower will abend S822.
This is site dependent. Our site has approximately 9.2 M of free memory below the 16M line once z/OS is loaded, so asking for 12M is guaranteed to fail. Furthermore, had you read the JCL Reference manual (link at the top of the page), you would know that by default IBM allocates 32M of above the line storage to jobs that ask for 16M or less of memory.

Quote:
What would be the pros and cons of basically removing all REGION= parms or replacing them with REGION=0M?
The JCL Reference manual specifically warns that system problems may result if every job uses REGION=0M and suggests do not do this. When IBM says something like this, wise people listen.

Further, removing REGION= may have unexpected results. There are two site installatiion exits, IEFUSI and IEALIMIT, that control how much memory a batch job really gets (REGION= only works as long as it is within the values specified by these exits -- ask for more and the exit cuts the request to the limit).

Summary: talk to your site support group to find out what the IEFUSI and IEALIMIT values are. They may need adjusting but they can help. Do not code REGION=0M on everything unless you like system problems.
Back to top
View user's profile Send private message
Mistermind

New User


Joined: 08 Feb 2008
Posts: 46
Location: Dublin

PostPosted: Sat May 02, 2009 10:02 pm
Reply with quote

Quote:
you look at the history of IBM mainframes, REGION= has been around as long as JCL has.?


Was REGION= available in DOS JCL ? Did DOS use JCL? Was MVS born with IBM?

Quote:
Terminology point -- your job uses virtual (central) storage, not real storage. There are differences.


There is no point in allocating vast storage when an installation has tiny real storage, it would only end in thrashing. Do you understand the difference?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Sat May 02, 2009 10:07 pm
Reply with quote

Hello,

Quote:
Was MVS born with IBM?
Yes
Quote:
Did DOS use JCL?
Yes, but not the same as os/1, os/2, mft, mvt, and mvs. * These used the DD statement for dasd dataset definitions, DOS used an ASSGN, DLBL, and an EXTENT statement.
* Added later for clarity. . . d
Quote:
Was REGION= available in DOS JCL?
I don't remember, but probably not. DOS partitions/initiators were fixed size and you used the amount of memory allocated to that partition.

Quote:
Do you understand the difference?
Rhetorical question? icon_confused.gif
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


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

PostPosted: Sat May 02, 2009 10:09 pm
Reply with quote

Also, keep in mind that there are major differences between the DOS that predated mvs and the current dos/vse. . .

And no, we'll not try to list the differences here.

d
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Sat May 02, 2009 10:25 pm
Reply with quote

Quote:
There is no point in allocating vast storage when an installation has tiny real storage, it would only end in thrashing. Do you understand the difference?
The current terminology is that REAL storage is non-pageable while VIRTUAL storage is pageable. Thrashing, by definition, cannot happen in REAL storage because it won't page out. So, yes, I understand the difference -- I also set up the memory allocations for each LPAR as part of the system definition process, install the IEFUSI and IEALIMIT exits where required, and work with programmers having memory issues. And z10 machines come with 4 GB minimum memory so "tiny real storage" isn't much of an issue these days.
Back to top
View user's profile Send private message
Mistermind

New User


Joined: 08 Feb 2008
Posts: 46
Location: Dublin

PostPosted: Sat May 02, 2009 11:45 pm
Reply with quote

Was MVS born with IBM?
Yes


And where did MFT and MVT come?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Sun May 03, 2009 12:42 am
Reply with quote

MFT and MVT were both from IBM as well.
Back to top
View user's profile Send private message
Bill Dennis

Active Member


Joined: 17 Aug 2007
Posts: 562
Location: Iowa, USA

PostPosted: Sun May 03, 2009 6:42 am
Reply with quote

In the context of the discussion, I took the reference to "real memory" by Mistermind to be the installed on the processor type not the VIRT=REAL type.

He is correct that over-allocating virtual memory when the processor has limited installed memory can cause "thrashing" in the form of PAGE dataset activity. Of course, just coding REGION=0M impacts nothing unless the program tries to obtain it.
Back to top
View user's profile Send private message
Mistermind

New User


Joined: 08 Feb 2008
Posts: 46
Location: Dublin

PostPosted: Sun May 03, 2009 3:55 pm
Reply with quote

Thank you Bill icon_smile.gif grasping the point intelligenty.

Of practical relevance is the introduction of greatly increased I/O buffers. For sequential read/write such buffer areas would be not only allocated but referenced repeatedly. If an installation was short on real core and already with a high paging rate, then the convenience of buffers could be negated by repeated pageout and pagein to the page dataset in between references.

REGION=0M would remain OK if JCL had been proven executing a 24-bit program below the line, then the same program is converted to 31-bit above the line. But REGION=2M which previously suited 24-bit will need to be changed to suit 31-bit.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Sun May 03, 2009 6:55 pm
Reply with quote

Quote:
REGION=0M would remain OK if JCL had been proven executing a 24-bit program below the line, then the same program is converted to 31-bit above the line. But REGION=2M which previously suited 24-bit will need to be changed to suit 31-bit.
Sigh ... did you not read my earlier post? IBM by default for REGION=2M automatically acquires 32M of above the line storage (which you are, incorrectly, referring to as 31-bit) so changing a 24-bit program to run 31-bit would not require any REGION= change unless your site has implemented something other than the IBM standard.

As far as your other point, system programmers do monitor system paging rate. We are aware of the potential impact. We are also aware of how many gigabytes of memory are assigned to each LPAR, so excessive paging is investigated both from the system as well as application viewpoint. We are also aware that buffers are high-activity memory pages so it is rare for them to be paged out since system paging works on LRU (least recently used) principles.

If you have any questions about your system performance, you need to contact your site support group. It is very likely that they are already aware of the issue and have plans for dealing with it, or can explain why some higher-priority function prevents them from addressing your concerns.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts How to 'Ping' a CICS region in JCL CICS 2
No new posts Using the Jobname parameter in a Qual... ABENDS & Debugging 1
No new posts Open VSAM File in IMS DC Region - DFS... IMS DB/DC 0
No new posts Demand with DEADLINE TIME parameter CA Products 4
No new posts Option DYNALLOC second parameter. DFSORT/ICETOOL 11
Search our Forums:

Back to Top