Hello!
  Thank you for your advices. I've found that one of my tasks (Tokenizer,
the first one from the flow) was responsible for the strange behavior ( one
very busy thread when the other were free).
By the way, how I can upgrade to the version 2.4.0 mentioned
https://issues.apache.org/jira/browse/UIMA-2354? Do you have release
package or maven repository version?

Thank you.
 Regards,
 Florin

 On Wed, Feb 22, 2012 at 8:24 PM, Jaroslaw Cwiklik <[email protected]> wrote:

> I am not certain, but perhaps you are running into a similar bug reported
> and fixed recently under
>
> https://issues.apache.org/jira/browse/UIMA-2354
>
> Maybe the UIMA AS primitive service suffers from a similar problem than the
> UIMA AS aggregate as described in the JIRA. I will verify this soon.
>
> Another possibility is that the producer (UIMA AS Aggregate) is just
> sending enough work to keep a single thread busy in the remote. Do you have
> a CM and large enough cas pool to keep the service busy? You can use
> jConsole to check the service queue. Look at queue depth and dequeue counts
> while the service is processing. When you colocate the consumer with the
> rest of the pipeline perhaps the other components contribute to the higher
>  CPU utilization.
>
> Jerry C
>
> On Wed, Feb 22, 2012 at 10:54 AM, Spico Florin <[email protected]
> >wrote:
>
> > Hello!
> >   I have an UIMA pipeline that it is using the
> > ParallelFlowController(PFC). In ths flow I'm declaring some delegates AE
> > will run  in parallel and serial one(consumer) that that will consume the
> > messages from the first one.
> >  In the deployment descriptor the consumer is declared as a remote AE.
> I've
> > set CASPoolSize of the AAE to 10 and the scaleout parameter to 10.
> > Profiling the application threads,I've observed that from the 10 threads
> > just one of them is very busy doing the job(running mode) and the others
> > most of them time are in the wait mode. Therefore, the bunch of the
> threads
> > are unused most of the time. Thus the process time is increasing and the
> > hardware remains unused ( 5% from 2 quad core processors). If I set up
> the
> > consumer to be in the same JVM like the other annotators then I have the
> > desired behavior (my processors will be used at 70% and all of the
> threads
> > from the pool will process the message). Can you please advice how to
> > achieve the same behavior with the remote consumer  as having the
> consumer
> > locally?
> > I look forward for your answers and suggestions.
> >
> > Thank you.
> >  Regards,
> >  Florin
> >
> > PFC descriptor descriptor:
> >
> > <delegateAnalysisEngine key="OAnnotator">
> >      <import location="ODesc.xml" />
> >    </delegateAnalysisEngine>
> >
> >    <delegateAnalysisEngine key="GAnnotator">
> >      <import location="GDesc.xml" />
> >    </delegateAnalysisEngine>
> >
> >    <delegateAnalysisEngine key="RConsumer">
> >      <import location="RConsumer.xml" />
> >    </delegateAnalysisEngine>
> >
> > <nameValuePair>
> >        <name>Flow</name>
> >        <value>
> >          <array>
> >            <string>Tokenizer</string>
> >            <string>OAnnotator,GAnnotator
> >            </string>
> >            <string>RConsumer</string>
> >          </array>
> >        </value>
> >      </nameValuePair>
> >
>

Reply via email to