On Tue, Apr 15, 2025 at 11:22 PM Kirk Wolf <[email protected]> wrote:

> I wouldn't think that there would be much of a performance issue between
> using:
>
> - the "java" shell command launcher
> - the JZOS batch launcher
> - a custom Java JVM launcher.
>
> They would all use the JVM launcher API to start the JVM and kick off a
> class method.   The choice comes down to the features and interface that
> your product wants.
>
> I had not considered that messages written by the JVM to it's stdout would
> be piped through another process (BPXBATCH) that would not run on zIIP.
>  Seems like minor stuff to me, but I guess that it might not always be.
> I'm actually surprised to hear that the JZOS batch launcher load module is
> itself zIIP enabled.   I know that the JVM and the JZOS toolkit native
> library DLLs are.
>

There is a small amount of CPU used to start the JZOS launcher, but after
that it runs entirely on zIIP. We have a Java program that tails the SMF
logstream, formats the CMF records into JSON, and writes to STDOUT, either
to the spool or to a data set. There can be a LOT of data.

Previously, when using other batch launchers, we noticed significant
general purpose CPU usage. I profiled the behavior using IBM APA, and the
histogram showed that 90 percent of the time was spent in pause element
pause and resume. I assume this reflects frequent context switching between
a zIIP and a general purpose processor.

After switching to JZOS, that issue disappeared, which suggests that the
zIIP bit is set for the entire process.

With Python, we have observed that whenever native code is called, Python
does not re-dispatch back to a zIIP. We reported this to IBM.


> BTW:   The JZOS Console support is not actually part of the JZOS Batch
> Launcher.   There is a com.ibm.jzos.MvsConsole class in the JZOS Toolkit.
>  If you invoke the startMvsCommandListener() static method, you can have
> console support in any z/OS Java application.   The JZOS Batch launcher
> just starts this after initializing the JVM, although that can be disabled
> with an environment variable.    The MvsConsole class also allows you to
> customize a callback so that you can have whatever command language you
> want.
>

That is interesting. When I run a batch Java program using COZBATCH that
listens for events with com.ibm.jzos.MvsConsole, and I issue a STOP
command, I get the message IEE341I <jobname> NOT ACTIVE. I must be missing
something or doing it wrong?


>
> Kirk Wolf
> Dovetailed Technologies
> https://coztoolkit.com
>
> On Tue, Apr 15, 2025, at 9:09 AM, David Crayford wrote:
> > We use JZOS. There are some advantages. For example, everything is
> offloaded to a zIIP. If you use BPXBATCH every time you write a log message
> to STDOUT it will context switch back to a GP. There are also important
> features for started tasks such as STOP and MODIFY commands.
> >
> > > On 15 Apr 2025, at 17:40, Colin Paice <
> [email protected]> wrote:
> > >
> > > Does anyone have any experience of using jzos over Unix Services?
> > >
> > > I've used it in the past and it worked fine.  I wonder why it is not
> more
> > > generally used (eg by Liberty, zOSMF, Zowe etc).
> > >
> > > Does it have better performance?
> > >
> > > Colin
> > >
> > > ----------------------------------------------------------------------
> > > For IBM-MAIN subscribe / signoff / archive access instructions,
> > > send email to [email protected] with the message: INFO IBM-MAIN
> >
> > ----------------------------------------------------------------------
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to [email protected] with the message: INFO IBM-MAIN
> >
>
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to [email protected] with the message: INFO IBM-MAIN
>

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to