× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



In regard to the single-threaded RPG process being a bottleneck, the same
would be true if you rewrote the RPG code in Java. You'd have to implement
some form of serialization in your Java code, which is normal.

Multi-threaded processes have bottlenecks. For example, in one benchmark
study developers kept increasing the number of threads in Websphere
Application Server, thinking that would increase CPU utilization across a
multi-CPU server. But that didn't work. The threads were bottle-necked.
They ended up launching a number of WAS instances, equal to the number of
CPUs on the server as the means of maxing out CPU consumption.

As Mark and I suggested, you might pair a pool of Java threads with a pool
of RPG jobs and implement some form of inter-process communication to
remove the bottleneck.


On Fri, Mar 6, 2020 at 11:58 AM Justin Taylor <JUSTIN@xxxxxxxxxxxxx> wrote:

Multiple JVM threads would be calling the same RPG procedure concurrently,
which would cause a bottleneck since the RPG would be single-threaded.

The RPG code is already available as a webservice, it just seems silly for
a native IBMi job to have to call a local webservice to run an RPG
program. Que sera, sera!

Thanks guys :)



-----Original Message-----
From: Nathan Andelin [mailto:nandelin@xxxxxxxxx]
Sent: Friday, March 06, 2020 12:26 PM
To: RPG programming on IBM i <rpg400-l@xxxxxxxxxxxxxxxxxx>
Subject: Re: Java->RPG, *SERIALIZE required?


Because it's multi-threaded, and a single-threaded bottleneck would be
undesirable.


Now I'm curious about what you might be comparing thread(*serialize) to?
I assume you understand that calling Java methods must also be serialized
in muti-threaded Java processes. That's just normal practice within
multi-threaded Jobs. The fact that RPG code might be single-threaded has
nothing to do with it.

An alternative would be to communication between a pool of Java threads
and a pool of RPG servers via data queues or some other form of
inter-process communication.

--
This is the RPG programming on IBM i (RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxxxxxxxx
Before posting, please take a moment to review the archives
at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our affiliate
link: https://amazon.midrange.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.