You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by feixiang <fe...@gmail.com> on 2010/05/25 04:26:10 UTC

Also the performance of UIMA AS

Hello,
   I am very interested in testting the performance of UIMA AS architecture.For 
exemple, I want to find the AE which is the bottleneck of the system.
   Fortunately, UIMA provides us some tools evalute the performance,such as 
jconsole,cpe.They make me know the time spend in AE and how many CASes it 
analyzes,but I can't use it in my code.So Is there some class to record 
the time just like cpe.I want to record the performance of every 1000 CASes 
the AE analyzes. Can you give me an example in AE.Thank you.
   At the same time,I am very confused about the time spend in multiplier.In the 
"next" method of multiplier, I build a new cas and add some annotation in it.I 
test the time spend in "next" in two ways.First in cpe,second in UIMA 
AS.Surprisedly,they are in sharp contrast.The time in UIMA AS are hundreds of 
times longer than the time in cpe.I also test the time spend in multiplier,the 
time in cpe and UIMA AS are high.So why multipler consumes so much time?
   By the way,are there any reports about performance of UIMA AS architecture?
Thank you so much if somebody could help me!


Re: Also the performance of UIMA AS

Posted by Jörn Kottmann <ko...@gmail.com>.
Hello,

you can use a profiler to measure where the CPU time
is spent.

Jörn

feixiang wrote:
> Hello,
>    I am very interested in testting the performance of UIMA AS architecture.For 
> exemple, I want to find the AE which is the bottleneck of the system.
>    Fortunately, UIMA provides us some tools evalute the performance,such as 
> jconsole,cpe.They make me know the time spend in AE and how many CASes it 
> analyzes,but I can't use it in my code.So Is there some class to record 
> the time just like cpe.I want to record the performance of every 1000 CASes 
> the AE analyzes. Can you give me an example in AE.Thank you.
>    At the same time,I am very confused about the time spend in multiplier.In the 
> "next" method of multiplier, I build a new cas and add some annotation in it.I 
> test the time spend in "next" in two ways.First in cpe,second in UIMA 
> AS.Surprisedly,they are in sharp contrast.The time in UIMA AS are hundreds of 
> times longer than the time in cpe.I also test the time spend in multiplier,the 
> time in cpe and UIMA AS are high.So why multipler consumes so much time?
>    By the way,are there any reports about performance of UIMA AS architecture?
> Thank you so much if somebody could help me!
>
>   


Re: Also the performance of UIMA AS

Posted by feixiang <fe...@gmail.com>.
Eddie Epstein <ea...@...> writes:

> 
> getEmptyCas() will block until a free CAS is available in the CasPool
> to which the request is made. Generally the CasPool for a CasMutiplier
> is created with as many CASes as are needed to keep downstream
> components busy.
> 
> If remote JMX access is enabled for UIMA AS service processes, there
> are MBeans for the service giving similar performance statistics to
> that in CPE.
> 
> Hope this helps,
> Eddie
> 
> On Tue, May 25, 2010 at 3:23 AM, feixiang <fe...@...> wrote:
> > I do the experiment again.And  I find out that the code
> > "newseg = getEmptyJCas();"
> > consumes so much time.Does getEmptyJCas() consume so much time in UIMA AS?
> >  But I test it in CPE,it consumes little time. I am confused about the 
result.Can
> > anyone help me? Thank you.
> >
> >
> 
> 

Thank you,Eddie Epstein.I think the method "getEmptyCas()" did blocked
 in my multiplier that consumed so much time.Now I introduce my system.
The aggregate AE(assumed as A) contains 3 AEes.The second part assumed
 as B is a multiplier which contains a flow controller.B produce a new
 cas and drop the original cas.The casPool and casMultiplier poolsize
 are:

in A:
   casPool=30
   casMultiplier = 20
in B(There is one instance):
   casPool=5
   casMultiplier = 2
Other parts in A: casPool<10
   I find the bottleneck is B.The getEmptyCas is always blocked.But 
the poolsize is bigger enough that a free CAS is always available. 
   So what's wrong the B?And how can I avoid the method is blocked
 to get high performance?
   Thank you very much.



Re: Also the performance of UIMA AS

Posted by Eddie Epstein <ea...@gmail.com>.
getEmptyCas() will block until a free CAS is available in the CasPool
to which the request is made. Generally the CasPool for a CasMutiplier
is created with as many CASes as are needed to keep downstream
components busy.

If remote JMX access is enabled for UIMA AS service processes, there
are MBeans for the service giving similar performance statistics to
that in CPE.

Hope this helps,
Eddie

On Tue, May 25, 2010 at 3:23 AM, feixiang <fe...@gmail.com> wrote:
> I do the experiment again.And  I find out that the code
> "newseg = getEmptyJCas();"
> consumes so much time.Does getEmptyJCas() consume so much time in UIMA AS?
>  But I test it in CPE,it consumes little time. I am confused about the result.Can
> anyone help me? Thank you.
>
>

Re: Also the performance of UIMA AS

Posted by feixiang <fe...@gmail.com>.
I do the experiment again.And  I find out that the code 
"newseg = getEmptyJCas();" 
consumes so much time.Does getEmptyJCas() consume so much time in UIMA AS?
 But I test it in CPE,it consumes little time. I am confused about the result.Can 
anyone help me? Thank you.