Re: Rexx Concurrency (was: Sorting CSV data ...)

2014-04-28 Thread John Abell
Ok.  Thanks.

John T. Abell
President
International Software Products
Tel:  800-295-7608  Ext: 224
International:  1-416-593-5578  Ext: 224
Fax:  800-295-7609
International:  1-416-593-5579

E-mail:  john.ab...@intnlsoftwareproducts.com
Web: www.ispinfo.com

This email may contain confidential and privileged material for the sole use
of the intended recipient(s). Any review, use, retention, distribution or
disclosure by others is strictly prohibited. If you are not the intended 
recipient (or authorized to receive on behalf of the named recipient),
please contact the sender by reply email and delete all copies of this
message. Also,email is susceptible to data corruption, interception, 
tampering, unauthorized amendment and viruses. We only send and receive
emails on the basis that we are not liable for any such corruption,
interception, tampering, amendment or viruses or any consequence thereof.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Sankaranarayanan, Vignesh
Sent: Monday, April 28, 2014 10:31 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx Concurrency (was: Sorting CSV data ...)

> In your case, you estimated 5000 pings and SNMP GET's. If you spawn that
many process under Netview could be detrimental. Can SNMP become CPU
intensive? Will there be a situation where you need to cancel 5000 processes
(or worse - restart Netview because of the overload).
Well, 5000 printers but if I hadn't mentioned before, apologies - of the
5000, I'm interested in only around 700. Whenever I encounter a printer that
belongs to the 4300 pool, I just ITERATE in REXX. And even for the 700, I
don't SNMP it all. I ping them first; if the ping fails, nothing else. If
ping is okay, get more info via SNMP. So the true number maybe near 550. I
haven't bothered checking how many pings fail (yet).
NetView does run with higher priority, so I do understand the risks
involved.

> Will the number increase from 5000 to a much larger number?
Not likely. Maybe 7000, but that's assuming the worst case where we just
need those printers.
> Will someone decide running this every 10 minutes is a great idea?
I'm the only one who runs it. No one is going to automate it without my
knowledge.

- Vignesh
Mainframe Admin

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Jon Perryman
Sent: 27 April 2014 22:27
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx Concurrency (was: Sorting CSV data ...)

There is often a reason why z/OS makes simple UNIX tasks difficult or makes
good people do bad things. In your case, you estimated 5000 pings and SNMP
GET's. If you spawn that many process under Netview could be detrimental.
Can SNMP become CPU intensive? Will there be a situation where you need to
cancel 5000 processes (or worse - restart Netview because of the overload).
Will the number increase from 5000 to a much larger number? Will someone
decide running this every 10 minutes is a great idea?

Automation products run at a high dispatching priority and run mission
critical commands. You can potentially take away valuable CPU from much more
important workload or even worse, cause a critical command to be delayed.

Submitting JCL is the best solution but submitting 1000 jobs to be a bit
much.Submitting 3 or 4 is more reasonable but you will need to use a queue
to pull the next IP address. For the queue, you could install / use the REXX
interface to MQ or DB2. Alternatively you could install / use RXVSAM from
CBT and use a VSAM file as a queue.


If you do this in Netview, I suggest scheduling multiple Netview commands
that are processed by a set of specific Netview command tasks. You can stop
/ start these tasks if Netview get's overwhelmed and Netview cancel command
is available to cancel the commands.

Jon Perryman.


- Original Message -
> From: "Sankaranarayanan, Vignesh"
> 
>
> Continuing dream mode, is it possible to SNMP GET and PING from inside 
> OMVS, whilst maintaining the NetView REXX as parent?
> That would allow me to spin up threads I hope ...
>
> -Original Message-
> Of Paul Gilmartin
>
> On Thu, 17 Apr 2014 17:41:12 -0500, Norbert Friemel wrote:
>
>> On Thu, 17 Apr 2014 19:26:17 +, Sankaranarayanan, Vignesh wrote:
>>
>>> Ok.. Is it possible to fire off other REXXes repetitively (let's say
> 2 or 3, each doing one function) that will not RETURN to the main, but 
> write their output to a dataset once done?
>>
>> Submit batch jobs (PGM=IKJEFT01,PARM='%rxsub?? p1 p2 p3) from the main?
>>
> Neither DDLIST nor Google gives me relevant hits for RXSUB.
>
> (But it really shouldn't be that hard.  For each job:
>
> RC = BPXWDYN( 'alloc rtddn(RDR) sysout writer(INTRDR) m

Re: Rexx Concurrency (was: Sorting CSV data ...)

2014-04-28 Thread Sankaranarayanan, Vignesh
> In your case, you estimated 5000 pings and SNMP GET's. If you spawn that many 
> process under Netview could be detrimental. Can SNMP become CPU intensive? 
> Will there be a situation where you need to cancel 5000 processes (or worse - 
> restart Netview because of the overload).
Well, 5000 printers but if I hadn't mentioned before, apologies - of the 5000, 
I'm interested in only around 700. Whenever I encounter a printer that belongs 
to the 4300 pool, I just ITERATE in REXX. And even for the 700, I don't SNMP it 
all. I ping them first; if the ping fails, nothing else. If ping is okay, get 
more info via SNMP. So the true number maybe near 550. I haven't bothered 
checking how many pings fail (yet).
NetView does run with higher priority, so I do understand the risks involved.

> Will the number increase from 5000 to a much larger number?
Not likely. Maybe 7000, but that's assuming the worst case where we just need 
those printers.
> Will someone decide running this every 10 minutes is a great idea?
I'm the only one who runs it. No one is going to automate it without my 
knowledge.

- Vignesh
Mainframe Admin

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Jon Perryman
Sent: 27 April 2014 22:27
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Rexx Concurrency (was: Sorting CSV data ...)

There is often a reason why z/OS makes simple UNIX tasks difficult or makes 
good people do bad things. In your case, you estimated 5000 pings and SNMP 
GET's. If you spawn that many process under Netview could be detrimental. Can 
SNMP become CPU intensive? Will there be a situation where you need to cancel 
5000 processes (or worse - restart Netview because of the overload). Will the 
number increase from 5000 to a much larger number? Will someone decide running 
this every 10 minutes is a great idea?

Automation products run at a high dispatching priority and run mission critical 
commands. You can potentially take away valuable CPU from much more important 
workload or even worse, cause a critical command to be delayed.

Submitting JCL is the best solution but submitting 1000 jobs to be a bit 
much.Submitting 3 or 4 is more reasonable but you will need to use a queue to 
pull the next IP address. For the queue, you could install / use the REXX 
interface to MQ or DB2. Alternatively you could install / use RXVSAM from CBT 
and use a VSAM file as a queue.


If you do this in Netview, I suggest scheduling multiple Netview commands that 
are processed by a set of specific Netview command tasks. You can stop / start 
these tasks if Netview get's overwhelmed and Netview cancel command is 
available to cancel the commands.

Jon Perryman.


- Original Message -
> From: "Sankaranarayanan, Vignesh"
> 
>
> Continuing dream mode, is it possible to SNMP GET and PING from inside
> OMVS, whilst maintaining the NetView REXX as parent?
> That would allow me to spin up threads I hope ...
>
> -Original Message-
> Of Paul Gilmartin
>
> On Thu, 17 Apr 2014 17:41:12 -0500, Norbert Friemel wrote:
>
>> On Thu, 17 Apr 2014 19:26:17 +, Sankaranarayanan, Vignesh wrote:
>>
>>> Ok.. Is it possible to fire off other REXXes repetitively (let's say
> 2 or 3, each doing one function) that will not RETURN to the main, but
> write their output to a dataset once done?
>>
>> Submit batch jobs (PGM=IKJEFT01,PARM='%rxsub?? p1 p2 p3) from the main?
>>
> Neither DDLIST nor Google gives me relevant hits for RXSUB.
>
> (But it really shouldn't be that hard.  For each job:
>
> RC = BPXWDYN( 'alloc rtddn(RDR) sysout writer(INTRDR) msg(WTP)' )
> /* write JCL to RDR with EXECIO.  */
> RC = BPXWDYN( 'free dd('RDR') msg(WTP)' )
>
> The hard part is detecting completion and getting status back.)
>
> -- gil


--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

MARKSANDSPENCER.COM

 Unless otherwise stated above:
Marks and Spencer plc
Registered Office:
Waterside House
35 North Wharf Road
London
W2 1NW

Registered No. 214436 in England and Wales.

Telephone (020) 7935 4422
Facsimile (020) 7487 2670

www.marksandspencer.com

Please note that electronic mail may be monitored.

This e-mail is confidential. If you received it by mistake, please let us know 
and then delete it from your system; you should not copy, disclose, or 
distribute its contents to anyone nor act in reliance on this e-mail, as this 
is prohibited and may be unlawful.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx Concurrency (was: Sorting CSV data ...)

2014-04-27 Thread Paul Gilmartin
On Sun, 27 Apr 2014 14:26:51 -0700, Jon Perryman wrote:
>
>Submitting JCL is the best solution but submitting 1000 jobs to be a bit 
>much.Submitting 3 or 4 is more reasonable but you will need to use a queue to 
>pull the next IP address. For the queue, you could install / use the REXX 
>interface to MQ or DB2. Alternatively you could install / use RXVSAM from CBT 
>and use a VSAM file as a queue.
>
I have used POSIX pipes to control a queue in a POSIX shell script.  Shell is
more suited to concurrent operations than Rexx; simply it has the "&" construct.
In my case I wanted concurrency but conservatively (arbitrarily) limited to 5
concurrent processes.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx Concurrency (was: Sorting CSV data ...)

2014-04-27 Thread Jon Perryman
There is often a reason why z/OS makes simple UNIX tasks difficult or makes 
good people do bad things. In your case, you estimated 5000 pings and SNMP 
GET's. If you spawn that many process under Netview could be detrimental. Can 
SNMP become CPU intensive? Will there be a situation where you need to cancel 
5000 processes (or worse - restart Netview because of the overload). Will the 
number increase from 5000 to a much larger number? Will someone decide running 
this every 10 minutes is a great idea?

Automation products run at a high dispatching priority and run mission critical 
commands. You can potentially take away valuable CPU from much more important 
workload or even worse, cause a critical command to be delayed.

Submitting JCL is the best solution but submitting 1000 jobs to be a bit 
much.Submitting 3 or 4 is more reasonable but you will need to use a queue to 
pull the next IP address. For the queue, you could install / use the REXX 
interface to MQ or DB2. Alternatively you could install / use RXVSAM from CBT 
and use a VSAM file as a queue.


If you do this in Netview, I suggest scheduling multiple Netview commands that 
are processed by a set of specific Netview command tasks. You can stop / start 
these tasks if Netview get's overwhelmed and Netview cancel command is 
available to cancel the commands.

Jon Perryman.  


- Original Message -
> From: "Sankaranarayanan, Vignesh" 
> 
> 
> Continuing dream mode, is it possible to SNMP GET and PING from inside OMVS, 
> whilst maintaining the NetView REXX as parent?
> That would allow me to spin up threads I hope ...
> 
> -Original Message-
> Of Paul Gilmartin
> 
> On Thu, 17 Apr 2014 17:41:12 -0500, Norbert Friemel wrote:
> 
>> On Thu, 17 Apr 2014 19:26:17 +, Sankaranarayanan, Vignesh wrote:
>> 
>>> Ok.. Is it possible to fire off other REXXes repetitively (let's say 
> 2 or 3, each doing one function) that will not RETURN to the main, but write 
> their output to a dataset once done?
>> 
>> Submit batch jobs (PGM=IKJEFT01,PARM='%rxsub?? p1 p2 p3) from the main?
>> 
> Neither DDLIST nor Google gives me relevant hits for RXSUB.
> 
> (But it really shouldn't be that hard.  For each job:
> 
>     RC = BPXWDYN( 'alloc rtddn(RDR) sysout writer(INTRDR) msg(WTP)' )
>     /* write JCL to RDR with EXECIO.  */
>     RC = BPXWDYN( 'free dd('RDR') msg(WTP)' )
> 
> The hard part is detecting completion and getting status back.)
> 
> -- gil


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx Concurrency (was: Sorting CSV data ...)

2014-04-17 Thread Ed Jaffe

On 4/17/2014 4:09 PM, Sankaranarayanan, Vignesh wrote:

Continuing dream mode, is it possible to SNMP GET and PING from inside OMVS, 
whilst maintaining the NetView REXX as parent?
That would allow me to spin up threads I hope ...


You can do a lot of neat z/OS UNIX-ish things in REXX using bpxwunix() 
which should work under Netview.


--
Edward E Jaffe
Phoenix Software International, Inc
831 Parkview Drive North
El Segundo, CA 90245
http://www.phoenixsoftware.com/

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Rexx Concurrency (was: Sorting CSV data ...)

2014-04-17 Thread Sankaranarayanan, Vignesh
Continuing dream mode, is it possible to SNMP GET and PING from inside OMVS, 
whilst maintaining the NetView REXX as parent?
That would allow me to spin up threads I hope ...

- Vignesh
Mainframe Admin

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: 18 April 2014 00:02
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Sorting CSV data that begins with an IP address

On Thu, 17 Apr 2014 17:41:12 -0500, Norbert Friemel wrote:

>On Thu, 17 Apr 2014 19:26:17 +, Sankaranarayanan, Vignesh wrote:
>
>>Ok.. Is it possible to fire off other REXXes repetitively (let's say 2 or 3, 
>>each doing one function) that will not RETURN to the main, but write their 
>>output to a dataset once done?
>
>Submit batch jobs (PGM=IKJEFT01,PARM='%rxsub?? p1 p2 p3) from the main?
>
Neither DDLIST nor Google gives me relevant hits for RXSUB.

(But it really shouldn't be that hard.  For each job:

RC = BPXWDYN( 'alloc rtddn(RDR) sysout writer(INTRDR) msg(WTP)' )
/* write JCL to RDR with EXECIO.  */
RC = BPXWDYN( 'free dd('RDR') msg(WTP)' )

The hard part is detecting completion and getting status back.)

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

MARKSANDSPENCER.COM

 Unless otherwise stated above:
Marks and Spencer plc
Registered Office:
Waterside House
35 North Wharf Road
London
W2 1NW

Registered No. 214436 in England and Wales.

Telephone (020) 7935 4422
Facsimile (020) 7487 2670

www.marksandspencer.com

Please note that electronic mail may be monitored.

This e-mail is confidential. If you received it by mistake, please let us know 
and then delete it from your system; you should not copy, disclose, or 
distribute its contents to anyone nor act in reliance on this e-mail, as this 
is prohibited and may be unlawful.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Rexx Concurrency (was: Sorting CSV data ...)

2014-04-17 Thread Sankaranarayanan, Vignesh
Thanks. I haven't used it before. Let me look it up ..

- Vignesh
Mainframe Admin

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Paul Gilmartin
Sent: 17 April 2014 20:55
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Rexx Concurrency (was: Sorting CSV data ...)

On Thu, 17 Apr 2014 18:58:10 +, Sankaranarayanan, Vignesh wrote:
>
>I'm looping some  5000 times in REXX and doing functions (NetView ping, SNMP 
>walk, etc) sequentially. They don't necessarily need to be sequential. I'm 
>just going through a list of printers and I want to test them.
>
>So.. Is it possible that I make the first run a data run - reading parameters 
>from files for each printer (reading PDS member) - and the second run as a 
>thread creator of sorts. Each thread going off to test one printer.
>
>The first run should be almost instantaneous. My thinking is.. Is it possible 
>to parallelly do the pinging and SNMP connection bits. It would cut 20 minutes 
>runtime to just a couple.
>
I suggested elsewhere in this thread, "SYSCALL spawn".  The only z/OS-supported 
Rexx facility that provides concurrency (AFAIK).  Considerable coding; much to 
learn if you haven't used it before; but it's effective.  Each child (I don't 
believe you can do 5000 at once), could write its report to a separate file, 
and when all complete the master could merge, catenate, or summarize them.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

MARKSANDSPENCER.COM

 Unless otherwise stated above:
Marks and Spencer plc
Registered Office:
Waterside House
35 North Wharf Road
London
W2 1NW

Registered No. 214436 in England and Wales.

Telephone (020) 7935 4422
Facsimile (020) 7487 2670

www.marksandspencer.com

Please note that electronic mail may be monitored.

This e-mail is confidential. If you received it by mistake, please let us know 
and then delete it from your system; you should not copy, disclose, or 
distribute its contents to anyone nor act in reliance on this e-mail, as this 
is prohibited and may be unlawful.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Rexx Concurrency (was: Sorting CSV data ...)

2014-04-17 Thread Paul Gilmartin
On Thu, 17 Apr 2014 18:58:10 +, Sankaranarayanan, Vignesh wrote:
>
>I'm looping some  5000 times in REXX and doing functions (NetView ping, SNMP 
>walk, etc) sequentially. They don't necessarily need to be sequential. I'm 
>just going through a list of printers and I want to test them.
>
>So.. Is it possible that I make the first run a data run - reading parameters 
>from files for each printer (reading PDS member) - and the second run as a 
>thread creator of sorts. Each thread going off to test one printer.
>
>The first run should be almost instantaneous. My thinking is.. Is it possible 
>to parallelly do the pinging and SNMP connection bits. It would cut 20 minutes 
>runtime to just a couple.
>
I suggested elsewhere in this thread, "SYSCALL spawn".  The only z/OS-supported
Rexx facility that provides concurrency (AFAIK).  Considerable coding; much to 
learn
if you haven't used it before; but it's effective.  Each child (I don't believe 
you can
do 5000 at once), could write its report to a separate file, and when all 
complete
the master could merge, catenate, or summarize them.

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN