Re: Outsmarting WLM
>I would never consider any of this except as a last resort. And even >then I wouldn't want to support it. Who would want to maintain all that >bloat-ware. >Barbara, can't you convince whomever needs to be convinced that >SYSSTC should be tried? At this point, no, not really. The problem is basically testing. The "test" system is already semi-production, and here we have several IMSs that have a higher priority than this product. (Different from real production). For the time being we're going with cpu critical, first in test. Currently I am the only one following up on this. Nobody is currently screaming, so everybody has forgotten about it. Setting it to sysstc wil be the measure to take when someone screams again. The 'little program' is a challenge to me. Did I mention I am unix illiterate? So I'll make this a foray into the shallows of unix, and should push come to shove, I have a joker to get out of my sleeve Best regards, Barbara -- GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS. Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail -- 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
Re: Outsmarting WLM
>Barbara, can't you convince whomever needs to be convinced that >SYSSTC should be tried? I'm not against SYSSTC, not at all, so please don't misunderstand the following. My point was that SYSSTC would not help too much if that workload (of which I do not know the design) is starting a bunch of new UNIX processes, say 100, when all BPXAS had ended before. There is a sudden need to create 100 BPXAS address spaces in support of that 100 processes. I'm not saying this takes endless time but it might just be too long to achieve the desired response time. Apart from that, I agree that this is not a nice solution and should be done as a last resort (maybe the second but last :-) Partly because of this I wrote in a previous post that an external interface to tell WLM how many BPXAS to keep around might be desirable. -- Peter Hunkeler Credit Suisse -- 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
Re: Outsmarting WLM
>> >> >> >You'd need to count the number of idle BPXASs and decide then >> >if and how many to "create". Idle ones are those which show >> >up as "BPXAS" in a D A,BPXAS. Haven't thought about how to >> >get that information in the keep-alive program, I admit. >> >> And Johns suggestion to use modify >> >> There goes the 'simple fork() program'! :-) >> >> All good points, I'll keep them in mind. >> >> Best regards, Barbara >> -- > >FSVO "simple". I consider using the STOP and MODIFY commands to be >simple. In a UNIX program, they are even simpler due to the use of the >__console2 (BPX1CCS) routines. > >-- I would never consider any of this except as a last resort. And even then I wouldn't want to support it. Who would want to maintain all that bloat-ware. Barbara, can't you convince whomever needs to be convinced that SYSSTC should be tried? Mark -- Mark Zelden Sr. Software and Systems Architect - z/OS Team Lead Zurich North America / Farmers Insurance Group - ZFUS G-ITO mailto:[EMAIL PROTECTED] z/OS Systems Programming expert at http://expertanswercenter.techtarget.com/ Mark's MVS Utilities: http://home.flash.net/~mzelden/mvsutil.html -- 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
Re: Outsmarting WLM
>FSVO "simple". I consider using the STOP and MODIFY commands to >be simple. In a UNIX program, they are even simpler due to the >use of the __console2 (BPX1CCS) routines. Except that for obscure reasons you need to start the data part of the modify command with "APPL=". But it still more than outvalues the need to cope with QEDIT and the CIB chanins :-) -- Peter Hunkeler Credit Suisse -- 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
Re: Outsmarting WLM
> -Original Message- > From: IBM Mainframe Discussion List > [mailto:[EMAIL PROTECTED] On Behalf Of Barbara Nitz > Sent: Thursday, October 25, 2007 1:27 AM > To: IBM-MAIN@BAMA.UA.EDU > Subject: Re: Outsmarting WLM > > > >You'd need to count the number of idle BPXASs and decide then > >if and how many to "create". Idle ones are those which show > >up as "BPXAS" in a D A,BPXAS. Haven't thought about how to > >get that information in the keep-alive program, I admit. > > And Johns suggestion to use modify > > There goes the 'simple fork() program'! :-) > > All good points, I'll keep them in mind. > > Best regards, Barbara > -- FSVO "simple". I consider using the STOP and MODIFY commands to be simple. In a UNIX program, they are even simpler due to the use of the __console2 (BPX1CCS) routines. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- 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
Re: Outsmarting WLM
>There goes the 'simple fork() program'! :-) Well, the fork() program is still quite simple, isn't it :-) I'd be interested in the what and how of your solution, once it is in place. And also, how much it helped to improve the responsiveness of that workload. -- Peter Hunkeler Credit Suisse -- 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
Re: Outsmarting WLM
>You'd need to count the number of idle BPXASs and decide then >if and how many to "create". Idle ones are those which show >up as "BPXAS" in a D A,BPXAS. Haven't thought about how to >get that information in the keep-alive program, I admit. And Johns suggestion to use modify There goes the 'simple fork() program'! :-) All good points, I'll keep them in mind. Best regards, Barbara -- Der GMX SmartSurfer hilft bis zu 70% Ihrer Onlinekosten zu sparen! Ideal für Modem und ISDN: http://www.gmx.net/de/go/smartsurfer -- 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
Re: Outsmarting WLM
> -Original Message- > From: IBM Mainframe Discussion List > [mailto:[EMAIL PROTECTED] On Behalf Of Hunkeler Peter (KIUK 3) > Sent: Wednesday, October 24, 2007 8:44 AM > To: IBM-MAIN@BAMA.UA.EDU > Subject: Re: Outsmarting WLM > > > >>Wouldn't is be sufficient to run the "keep BPXAS alive" > >>program periodically, say every 15 minutes? The new childs > >>would use idle BPXASs and WLM would create new ones if the > >>overall system load permits this. > > > >Well, I don't want to unnecessarily create new BPXASs when > >the system is already busy handling a spike in 'real > >workload' and that spike happens to coincide with expiration > >of a 15-minute interval (or however long that interval is). > > But when that "spike" is using all but one BPXAS and this last > one times out, the "BPXAS has ended" mechanism would trigger > as well and create a bunch of new ones, wouldn't it? > > You'd need to count the number of idle BPXASs and decide then > if and how many to "create". Idle ones are those which show > up as "BPXAS" in a D A,BPXAS. Haven't thought about how to > get that information in the keep-alive program, I admit. > > > -- > Peter Hunkeler If you are using CA-OPS/MVS, then you might be able to do something like: )MSG $HASP395 )PROC IF WORD(MSG.TEXT,2) = 'BPXAS' THEN DO RUNNING=OPSTATUS("A","A","BPXAS") IF RUNNING < 10 THEN DO ADDRESS OPER "F KEEPUP,"10-RUNNING END END RETURN The "keep alive" STC is called KEEPUP. It allows operator modify commands. The MODIFY command's argument is simply the number of times to fork() a child. The "10" in the rule is arbitrary. Of course, the above does have the possibility of issuing multiple MODIFY command quickly, possibly resulting in more than 10 fork()'s. But this can be minimized by having the code ignore and purge any queued MODIFY commands before waiting on the CIB again. -- John McKown Senior Systems Programmer HealthMarkets Keeping the Promise of Affordable Coverage Administrative Services Group Information Technology The information contained in this e-mail message may be privileged and/or confidential. It is for intended addressee(s) only. If you are not the intended recipient, you are hereby notified that any disclosure, reproduction, distribution or other use of this communication is strictly prohibited and could, in certain circumstances, be a criminal offense. If you have received this e-mail in error, please notify the sender by reply and delete this message without copying or disclosing it. -- 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
Re: Outsmarting WLM
>When I finally lost patience with the jes2 is stuck >messages I implemented the following: >f bpxoinit,shutdown=forkinit as one of the very first thing >- I think that disables new bpxas's from being created. No, this command only asks *idle* BPXASs to terminate immediately. You can happily start new ones thereafter (via fork() or spawn()). >F bpxoinit,shutdown=forks. This command denies further process creation. In the case of fork() and non-local-spawn() this imples that no new BPXASs will be started. (It also inhibits local-spawn()s to create new processes.) Not sure if it also lets idle BPXAS terminate immediately. -- Peter Hunkeler Credit Suisse -- 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
Re: Outsmarting WLM
>>Wouldn't is be sufficient to run the "keep BPXAS alive" >>program periodically, say every 15 minutes? The new childs >>would use idle BPXASs and WLM would create new ones if the >>overall system load permits this. > >Well, I don't want to unnecessarily create new BPXASs when >the system is already busy handling a spike in 'real >workload' and that spike happens to coincide with expiration >of a 15-minute interval (or however long that interval is). But when that "spike" is using all but one BPXAS and this last one times out, the "BPXAS has ended" mechanism would trigger as well and create a bunch of new ones, wouldn't it? You'd need to count the number of idle BPXASs and decide then if and how many to "create". Idle ones are those which show up as "BPXAS" in a D A,BPXAS. Haven't thought about how to get that information in the keep-alive program, I admit. -- Peter Hunkeler Credit Suisse -- 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
Re: Outsmarting WLM
> -Original Message- > From: IBM Mainframe Discussion List On Behalf Of Barbara Nitz > > [ snip ] > > >- Make sure you can stop the mechanism when sutting down z/OS for IPL. > >Part of the shutdown process is to stop all BPXASs to allow JES to come > >down. If you trigger by the "BPXAS has ended" message you might never > >get to the point where JES is dormant. > Good point and do I know what you're talking about! When I > finally lost patience with the jes2 is stuck messages I > implemented the following: > f bpxoinit,shutdown=forkinit as one of the very first thing - > I think that disables new bpxas's from being created. > And before I even attempt to $Pjes2, there is an > unconditional F bpxoinit,shutdown=forks. That usually gets > the last of the stragglers down. If not, next pass checks > which OMVS processes are still around and except for the two > allowed ones every one of those processes get a kill command. > Only *then* do I even attempt to terminate jes2 :-) When preparing to re-IPL, we just issue F OMVS,SHUTDOWN as the last command before $PJES2. So far, that has always caused OMVS to "pack up, clock out and go home", and allow JES2 to do likewise. z/OS 1.7... -jc- -- 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
Re: Outsmarting WLM
>Wouldn't is be sufficient to run the "keep BPXAS alive" program >periodically, say every 15 minutes? The new childs would use idle >BPXASs and WLM would create new ones if the ovefrall system load >permits this. Well, I don't want to unnecessarily create new BPXASs when the system is already busy handling a spike in 'real workload' and that spike happens to coincide with expiration of a 15-minute interval (or however long that interval is). >- Make sure you can stop the mechanism when sutting down z/OS for >IPL. Part of the shutdown process is to stop all BPXASs to allow >JES to come down. If you trigger by the "BPXAS has ended" message >you might never get to the point where JES is dormant. Good point and do I know what you're talking about! When I finally lost patience with the jes2 is stuck messages I implemented the following: f bpxoinit,shutdown=forkinit as one of the very first thing - I think that disables new bpxas's from being created. And before I even attempt to $Pjes2, there is an unconditional F bpxoinit,shutdown=forks. That usually gets the last of the stragglers down. If not, next pass checks which OMVS processes are still around and except for the two allowed ones every one of those processes get a kill command. Only *then* do I even attempt to terminate jes2 :-) The points you mentioned regarding WLMs behaviour and how many bpxas's can be started, that would need to be subject to intense testing before we ever go into production with that. And it will need to be a concerted effort of more than just me on my own But I really appreciate the input... Best regards, Barbara -- GMX FreeMail: 1 GB Postfach, 5 E-Mail-Adressen, 10 Free SMS. Alle Infos und kostenlose Anmeldung: http://www.gmx.net/de/go/freemail -- 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
Re: Outsmarting WLM (was: Re: Are there tasks that don't play by WLM's rules)
"Hunkeler Peter , KIUK 3" <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>. ... > >Be careful: it was some time ago when I had my USS course, but I > >remember that there are fork()'s that can remain within the same > >address space and fork()'s that require a new (BPXAS) address space. > > There are *processes* that can share an address space. If a new > process is create with fork() it will run in a separate address space > by definition. If it is created with spawn(), it may run in the same > address space as the parent or it may run in a separete AS. > (To complete the list: There is also the non-UNIX attach_mvs asm service > > which starts a new process in the parents AS. attach_mvs predates > spawn()) > > > -- > Peter Hunkeler > Credit Suisse Thanks for the clarification. I remembered there was something, so I thought it useful to mention, expecting that someone would come up with the correct details. Kees. ** For information, services and offers, please visit our web site: http://www.klm.com. This e-mail and any attachment may contain confidential and privileged material intended for the addressee only. If you are not the addressee, you are notified that no part of the e-mail or any attachment may be disclosed, copied or distributed, and that any other action related to this e-mail or attachment is strictly prohibited, and may be unlawful. If you have received this e-mail by error, please notify the sender immediately by return e-mail, and delete this message. Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be liable for the incorrect or incomplete transmission of this e-mail or any attachments, nor responsible for any delay in receipt. Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch Airlines) is registered in Amstelveen, The Netherlands, with registered number 33014286 ** -- 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
Re: Outsmarting WLM (was: Re: Are there tasks that don't play by WLM's rules)
>Be careful: it was some time ago when I had my USS course, but I >remember that there are fork()'s that can remain within the same >address space and fork()'s that require a new (BPXAS) address space. There are *processes* that can share an address space. If a new process is create with fork() it will run in a separate address space by definition. If it is created with spawn(), it may run in the same address space as the parent or it may run in a separete AS. (To complete the list: There is also the non-UNIX attach_mvs asm service which starts a new process in the parents AS. attach_mvs predates spawn()) -- Peter Hunkeler Credit Suisse -- 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
Re: Outsmarting WLM (was: Re: Are there tasks that don't play by WLM's rules)
"Barbara Nitz" <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>... > First of all, my apologies to the original poster that I had appropriated his thread! I am finally changing the name > > > I have checked with our resident unix people - a little program to do fork() will be easy to write. The trick will be to pick the point when to kick it off - I had the idea of getting automation to listen to Be careful: it was some time ago when I had my USS course, but I remember that there are fork()'s that can remain within the same address space and fork()'s that require a new (BPXAS) address space. Kees. ** For information, services and offers, please visit our web site: http://www.klm.com. This e-mail and any attachment may contain confidential and privileged material intended for the addressee only. If you are not the addressee, you are notified that no part of the e-mail or any attachment may be disclosed, copied or distributed, and that any other action related to this e-mail or attachment is strictly prohibited, and may be unlawful. If you have received this e-mail by error, please notify the sender immediately by return e-mail, and delete this message. Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be liable for the incorrect or incomplete transmission of this e-mail or any attachments, nor responsible for any delay in receipt. Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch Airlines) is registered in Amstelveen, The Netherlands, with registered number 33014286 ** -- 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
Re: Outsmarting WLM (was: Re: Are there tasks that don't play by WLM's rules)
>I had the idea of getting automation to listen >to IEF404I BPXAS - ENDED - TIME=00.31.51 >$HASP395 BPXASENDED >(one of the two), and whenever it happens do the forks under the >assumption that that will not hinder the *actual* work that needs it. Wouldn't is be sufficient to run the "keep BPXAS alive" program periodically, say every 15 minutes? The new childs would use idle BPXASs and WLM would create new ones if the ovefrall system load permits this. Two important things to consider no matter what method you choose: - Make sure you can stop the mechanism when sutting down z/OS for IPL. Part of the shutdown process is to stop all BPXASs to allow JES to come down. If you trigger by the "BPXAS has ended" message you might never get to the point where JES is dormant. - As I have never played with this, I cannot tell from experience, so you'd need to do some experiments. It is my understanding, that WLM decides if the system can cope with another BPXAS, and that WLM might refuse to start another one. I do not know the measures WLM uses to make that decision. fork() can return an error, saying that no child has been created. I don't know how fork() will behave when WLM decides not to allow another BPXAS. Will the kernel keep the reques outstanding until a BPXAS becomes available (unlikely) or will fork() return EAGAIN (likely) which tells the parent to try again. The possible problem I can see with the design of the "keep BPXAS alive" program is it might deadlock: To make sure it is using yx BPXASs it needs to create xy-1 children, which in turn need to wait for a terminate signal from the parent. The parent does not send the terminate signal before it could start all xy-1 children but further fork()s are failing due to WLM not allowing more BPXASs... Maybe its time to ask IBM to implement a way to tell WLM how many BPXASs shall be kept ready at all time. -- Peter Hunkeler Credit Suisse -- 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
Re: Outsmarting WLM (was: Re: Are there tasks that don't play by WLM's rules)
Barbara, Here's one trick I've used in the past when working in this area is this: go into SDSF, do a DA ALL, and SORT it by ASID. You should then see some number of idle address spaces, named BPXAS. Then when a process forks and needs to do something, you'll see that BPXAS change it's name to the requstor's name while it's busy, then when it's idle it will change back to BPXAS. Dana -- 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
Re: Outsmarting WLM (was: Re: Are there tasks that don't play by WLM's rules)
Or are we really now talking about outSTUPIDing WLM? :-) :-) Cheers, Martin Martin Packer Performance Consultant IBM United Kingdom Ltd +44-20-8832-5167 +44-7802-245-584 [EMAIL PROTECTED] Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU -- 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
Outsmarting WLM (was: Re: Are there tasks that don't play by WLM's rules)
First of all, my apologies to the original poster that I had appropriated his thread! I am finally changing the name I did check into syslog. In general, we have quite a few BPXASs around, so when a burst of work comes in (messages uji001 written whenever a bpxas is selected out of iefuji), I see lots of these messages, a few of them using the same asid number. But then there are also the mentioned bpxas started: UJI001 CST2EIM9 - STARTED - DATE=22/10/07 - ASID=0295 UJI001 BPXAS- STARTED - DATE=22/10/07 - ASID=0298 IEF403I BPXAS - STARTED - TIME=10.37.10 BPXP024I BPXAS INITIATOR STARTED ON BEHALF OF JOB CST2EIM4 RUNNING IN ASID 0296 I have checked with our resident unix people - a little program to do fork() will be easy to write. The trick will be to pick the point when to kick it off - I had the idea of getting automation to listen to IEF404I BPXAS - ENDED - TIME=00.31.51 $HASP395 BPXASENDED (one of the two), and whenever it happens do the forks under the assumption that that will not hinder the *actual* work that needs it. - As for he messages from the SMF exits: UJI001 is written once per init selection (mostly to see which asid number we're running in), and the message out of iefactrt (trt002) is not written when the jobname is one of 'them' (I had changed that with 1.8...) As expected, setting these things into sysstc meets resistance of my colleague, more on general grounds. So, I am still waiting on what our SMF99 records are showing - IBM is not answering despite explicit question in my ETR... Best regards, Barbara -- Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten Browser-Versionen downloaden: http://www.gmx.net/de/go/browser -- 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