uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "RYAN C. CORNIA" <ryan.cor...@utah.edu>
Subject Re: UIMA AS Asynchronous = true not behaving as expected.
Date Wed, 07 Aug 2013 18:47:20 GMT
I removed:

<analysisEngine async="true">
                <scaleout numberOfInstances="1"/> <== at the top level
analysis Engine removed.

>From the deployment descriptor, but with the same results. (There was not
a warning before.)

I am calling the engine programmatically:

mUAEngine.setCollectionReader(collectionReader);
		mUAEngine.initialize(mAppCtx);
		
		log.info("SerializationStrategy: " +
mUAEngine.getSerializationStrategy());
		
		/**
		 * Catch exceptions that are thrown during processing, output the
exception to the log,
		 * then make sure the engine is stopped.
		 */
		try {
			mUAEngine.process();
Š
}

Scaling via async=false and the number of instances = 6 DOES speed the
pipeline up by 6x, so I think the client is working correctly. It seems to
just be an issue when the async=true. I checked in the JMX console with
async=true and slow annotator = 6 instances and inside JMX UIMA reports
there are 6 instances of slow annotator configured. So it appears the
configuration is getting set right inside of UIMA.

Other thoughts?
Ryan



		




On 8/7/13 12:08 PM, "Eddie Epstein" <eaepstein@gmail.com> wrote:

>What client program are you using to drive the uima-as service? Anything
>using sendAndReceiveCAS will only send one at a time.
>
>Please use the runRemoteAsyncAE.sh program and specify the number of
>outstanding CASes with -p. With no specification the number is 2.
>
>Eddie
>
>
>On Wed, Aug 7, 2013 at 12:30 PM, RYAN C. CORNIA
><ryan.cornia@utah.edu>wrote:
>
>> I'm using UIMA AS 2.4.0, and have an example pipeline with 3 annotators.
>> The third annotator is coded to just sleep for 3 seconds per document to
>> simulate a slow annotator.
>>
>> If I change the pipeline to async=true and set the number of scale out
>> instances on the slow annotator to be 6, I expected the pipeline to be
>> about 6 times faster. What I see, however, is exactly the same
>>performance.
>>
>> A bit of debugging shows UIMA AS is creating 6 different copies of the
>> slow annotator, because each one is being called alternately per CAS,
>>but
>> it is waiting for the entire pipeline to be complete before getting
>>another
>> cas off the queue.
>>
>> Any ideas what may be misconfigured? Or what to look at?
>>
>> My deployment descriptor is:
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <analysisEngineDeploymentDescription xmlns="
>> http://uima.apache.org/resourceSpecifier">
>>     <name>defaultFlapDeployDescriptor20130807.095936</name>
>>     <description/>
>>     <version>1.0</version>
>>     <vendor/>
>>     <deployment protocol="jms" provider="activemq">
>>         <casPool numberOfCASes="6" initialFsHeapSize="2000000"/>
>>         <service>
>>             <inputQueue endpoint="exampleQueue"
>> brokerURL="tcp://localhost:61616" prefetch="0"/>
>>             <topDescriptor>
>>                 <import
>> 
>>location="file:/var/folders/vl/7p2qch6j4kx_kv5chvd093l80000gn/T/flapAggre
>>gate311122232121092424.xml"/>
>>             </topDescriptor>
>>             <analysisEngine async="true">
>>                 <scaleout numberOfInstances="1"/>
>>                 <delegates>
>>                     <analysisEngine
>> 
>>key="aeWhitespaceTokenizerDescriptor211289c8cf04-b67c-45e2-a1eb-e90a85f39
>>006"
>> async="false">
>>                         <scaleout numberOfInstances="1"/>
>>                         <asyncAggregateErrorConfiguration>
>>                             <getMetadataErrors maxRetries="0"
>>timeout="0"
>> errorAction="terminate"/>
>>                             <processCasErrors thresholdCount="0"
>> thresholdWindow="0" thresholdAction="terminate"/>
>>                             <collectionProcessCompleteErrors timeout="0"
>> additionalErrorAction="terminate"/>
>>                         </asyncAggregateErrorConfiguration>
>>                     </analysisEngine>
>>                     <analysisEngine
>> key="aeWordTokenizerDescriptor21126d2902a3-e6ca-4834-89cb-ec1a6c29f281"
>> async="false">
>>                         <scaleout numberOfInstances="1"/>
>>                         <asyncAggregateErrorConfiguration>
>>                             <getMetadataErrors maxRetries="0"
>>timeout="0"
>> errorAction="terminate"/>
>>                             <processCasErrors thresholdCount="0"
>> thresholdWindow="0" thresholdAction="terminate"/>
>>                             <collectionProcessCompleteErrors timeout="0"
>> additionalErrorAction="terminate"/>
>>                         </asyncAggregateErrorConfiguration>
>>                     </analysisEngine>
>>                     <analysisEngine
>> 
>>key="gov.va.vinci.flap.examples.ae.MySlowAnnotator2112fc3e83f1-f535-40c2-
>>a860-895207bfff1a"
>> async="false">
>>                         <scaleout numberOfInstances="6"/>
>>                         <asyncAggregateErrorConfiguration>
>>                             <getMetadataErrors maxRetries="0"
>>timeout="0"
>> errorAction="terminate"/>
>>                             <processCasErrors thresholdCount="0"
>> thresholdWindow="0" thresholdAction="terminate"/>
>>                             <collectionProcessCompleteErrors timeout="0"
>> additionalErrorAction="terminate"/>
>>                         </asyncAggregateErrorConfiguration>
>>                     </analysisEngine>
>>                 </delegates>
>>                 <asyncPrimitiveErrorConfiguration>
>>                     <processCasErrors thresholdCount="0"
>> thresholdWindow="0" thresholdAction="terminate"/>
>>                     <collectionProcessCompleteErrors timeout="0"
>> additionalErrorAction="terminate"/>
>>                 </asyncPrimitiveErrorConfiguration>
>>             </analysisEngine>
>>         </service>
>>     </deployment>
>> </analysisEngineDeploymentDescription>
>>
>> Thanks!
>> Ryan
>>
>>
>>


Mime
View raw message