Chris, Just to illustrate your point about being a waste of time, I want to relate a story from a long time ago when I worked at the State of California, CALTRANs. At the time, memory was very expensive, and we were running a S360/60 I believe with one megabyte of real storage under OS/MVT. It was deemed important to accurately determine the amount of memory each job step was going to use, and formulas were provided by many programs for doing just that, both our own programs and IBM utilities. Sizes and numbers of buffers had to be considered, and a lot of desk time was spent determining this number before going to keypunch with our JCL changes.
Each week, installation management would run a series of reports which listed how much core memory each job step requested, how much it used, and if your requested more than 6K more than you actually used, you ended up on the "Excess Core Report" which was distributed to your supervisor. Your supervisor then used this report as a basis for your weekly meeting and in your performance reviews. In addition, the number of JCL errors you received and abends were also listed. Programmers soon found out a new implementation of the law of unintended consequences...to avoid abends, programmers stopped testing. No testing...no abends! Fed up with this nit-witted approach to data center management (I was the young kid on the block at this time), I wrote a program which ATTACHed the program I was running, using a PARM. When the ATTACHed program completed, I did a conditional GETMAIN for the remaining storage and always issued a return code zero. Needless to say, my weekly reviews started looking pretty good, and my programs actually worked in production, since they had been tested. I was soon "loaning" my program out to others in our group, and then surreptiously to almost the entire programming staff. All was laid bare, however, when one of the supervisors asked a young woman programmer who was having a problem with her program what this program and PARM was, and she just said, "Oh, everyone uses that!". I did manage to keep my job, and the reports were dropped, but the story serves to illustrate how different thinking was in that era. Managing any computer resource, be it memory, DASD, CPU, JES Spool space, etc., has always been a difficult issue to get a handle on, and one I think deserves a lot of discussion before any action is taken. The constraints and governors we have in place have served us fairly well over forty years, but many of them are becoming quaint. Whole products have been written around some (STOPX37, for example). It's definitely time to re-visit each one of these, and I believe each one should be addressed separately, since they are so different. After a lot of ideas are presented (and this list will provide a lot of great ideas), maybe someone whose area this is at SHARE can meld this into a requirement or white paper and submit it to IBM. Since we've been discussing virtual memory, that may be a good place to start. It might be interesting to approach this logically, by providing a comprehensive set of what this function is to do, and when it is to do it. And what should be the result if a limit is exceeded? Abend? Allow extensions a number of times with warnings? After its function is defined, we should allow IBM to implement the function in the manner they choose to be consistent with their architectural goals. Additionally, if IBM is able to implement these objectives, it will go a long ways toward simplifying a needlessly archaic and hard-to-understand impediment to zNextGenners use of the system we have come to know and love, without compromising its rich functionality and robustness. Tom Harper NEON Enterprise Software, Inc. -----Original Message----- From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf Of Craddock, Chris Sent: Friday, December 14, 2007 7:15 PM To: [email protected] Subject: Re: REGION=0M and LSQA Jim says > Well, I type too slowly to do much flaming. And of course, I am > willing to discuss this in great detail any time you come to > Poughkeepsie and take me out for a beer. You're so shallow :-) But I'll buy you a beer anyway. > However, I am at somewhat > of a loss to figure out how an operating system would distinguish > between a program which intentionally uses a lot of storage, and a > "runaway" program which unintentionally uses a lot of storage, without > someone telling the operating system how much storage the program > is intended to use. The mind-set behind IEFUSI (and its ancestors) and the REGION keyword is to simply deny access to the computing resource in the first place (S822) if the ambit claim expressed in REGION is larger than the IEFUSI imposed limit, -OR- (and this is the worst case) to crash the job (S878 or S80A) after some period of presumably productive execution, if it had the temerity to use more than the number "guessed" ahead of time by the system programmer or application programmer. In the former case it is just a frustrating waste of people time. In the latter case, all of the resources used by the job up until that point are -wasted- and as I've often said here in the past, there's no mail-in rebate. REGION related problems and job reruns are incredibly common in the wild. Arguably the current design drives up your hw/sw bill because you're wasting resources that could otherwise have been used productively. Obviously that is a knuckle headed concept. Particularly if we accept the notion that the computer's job is to run the work presented to it by the user. Surely the system ought to be able to manage its own resources (including real and AUX) and protect itself from ill-behaved programs, but that is something MVS has steadfastly refused to do for 40 years. "OH WELL" Just (change the REGION and) play it again Sam. There are plenty of ways the system could solve this problem in ways that don't rely on the user making a nebulous guess about something they really can't predict with any reliability in all but the most trivial of cases. Because at the end of the day, the tools we are supposed to use don't actually address the root problem at all. We have way too many knobs in MVS and most of them ought to be disconnected for the customer's own safety. CC ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

