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.