uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benjamin Sznajder <benj...@il.ibm.com>
Subject Re: Multi-threading with a CAS Multiplier.
Date Wed, 18 Jul 2007 08:08:49 GMT
Hi Eddie,

Thank you for your so rapid answer.

Indeed, my CASMultiplier is hidden in an Aggregated Engine  named AE1.
This AE1 contains
      - a CASMultiplier
      - a second AggregateEngine2 controlled by a FlowController composed
of different pipelines.
      - a CAS Merger
      - a CAS Consumer

The whole CPM is composed by a CollectionReader, and the AE1

If I define the AggregateEngine2 (i.e the AE that does not contain the
CASMultiplier) with multipleDeploymentAllowed=true, with each Analysis
Engine in it, defined also with multipleDeploymentAllowed=true (including
the FlowController)
And if, in addition, I set <casProcessors casPoolSize="5"

In such configuration, do I run in parallel on the pipelines contained in


             "Eddie Epstein"                                               
             com>                                                       To 
             17/07/2007 23:24                                           cc 
             Please respond to         Re: Multi-threading with a CAS      
             uima-user@incubat         Multiplier.                         

Hi Benjamin,

The basic UIMA aggregate analysis engine is single threaded, resulting
in the behavior you describe. Multi-threading must be provided by a layer
above a UIMA analysis engine, for example, the CPM.

The parameter multipleDeploymentAllowed is used by the CPM;
when multiple parallel processing pipelines are specified, any components
with multipleDeploymentAllowed=false will not be replicated.

The CPM only supports a single type of Cas multiplier: the collection
The CPM does not understand Cas multipliers; such components can exist
within an aggregate AE but only the same Cas sent in to an AE from the CPM
can come out of the AE.


On 7/17/07, Benjamin Sznajder <benjams@il.ibm.com> wrote:
> Hello,
> I built a CPE including a CAS Multiplier with two pipelines of AE:
> A CAS enters the CAS Multiplier and is splitted to two different CASes
> that, according to their type, are directed to one or the other pipeline.
> Currently, one CAS enters the CAS Multiplier, and then one CAS exits the
> CAS Mult and passes the whole relevant pipeline, before the second CAS
> Multiplier is outputted by the CAS Multiplier and psases the second
> pipeline.
> I would be interested by parallelism :
> I mean that I would like that when the first CAS outputted by the CAS
> Multiplier is passing through its relevant pipeline, the second CAS
> in parallel by its second relevant pipeline.
> Is the section 3.7 in the Developper's guide the answer to my question?
> Is there any connection (if yes, which one?) with the parameter:
> multipleDeploymentAllowed
> Regards,
> Benjamin

View raw message