uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jaroslaw Cwiklik <uim...@gmail.com>
Subject Re: UimaAsynchronousEngine client poor performance when the pipeline is slow processing the CAS
Date Wed, 01 Feb 2012 14:52:04 GMT
Florin from you description I cant figure out the cause of the slowness
that you see. Are you saying that your application thread is stuck in
sendCAS() method as if it was waiting for a reply? This is certainly not
intent behind this API. It is an asynchronous call and should not wait for
a reply when the request is dispatched. How are you getting CASes? Do you
have your own CAS pool or use the one the UimaAsynchronousEngine provides.
How big is the CAS pool? Are you getting any replies via a
entityProcessComplete() callback? Which version of uima-as are you using:
2.3.1 or recent build from svn?

To your questions:

1) What do you mean by "..disable the response feature"? The sendCAS() is
asynch method which should not block. If it is blocking, than this is a bug
in UIMA AS client. To debug this problem, you can
2) The UimaAsynchronousEngine can be called from multiple threads and use
of ThreadPoolExecutor seems fine.
3) Have you tried to scale the pipeline to allow multiple CASes to be
processed at the same time? .


On Wed, Feb 1, 2012 at 5:11 AM, Spico Florin <spicoflorin@gmail.com> wrote:

> Hello!
> I have application client that is receiving messages from a Queue via JMS.
> The message is then packed in a JCas and sent to the UIMA AS pipeline via
> UimaAsynchronousEngine.
> If the UIMA AS pipeline processing is slow then it impacts the client in
> the way that the received messages from the
> Queue will not be sent as they arrived. I'm using sendCAS(CAS) method of
> UimaAsynchronousEngine, thus the call to pipeline should be asynchronous
> (as specfied in the spec).
>  In my opinion the described behavior is not as expected (i.e. the client
> should not be affected by the UIMA pipeline performance and
> it should send the received messages for processing right away, without
> waiting some responses).
>  My questions are:
> 1. I suspect, that my client is somehow waiting the response from the
> pipeline. Is there any way to disable the response feature?
> 2. I'm using a thread pool executor that is sending the messages to UIMA
> pipeline. Is this a good approach?
> 3. How to design my client in order to send the messages to the pipeline
> without concerning the pipeline performance?
> I look forward for your answers and advices.
>  Thank you.
>   Best regards,
>    Florin

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message