uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Eddie Epstein <eaepst...@gmail.com>
Subject Re: Multi-threaded UIMA ParallelStep
Date Wed, 20 May 2015 13:01:10 GMT
Right about the flow controller. That's where UIMA-AS comes in. Assuming
that the CM has a casPool with enough CASes, and the aggregate is deployed
asynchronously, then each delegate will be running in its own thread and
can be processing CASes in parallel.

The ASB is a single-theaded controller used for deployment of synchronous

Is the intention here to use parallel processing to reduce latency for a
interactive application or to increase throughput for batch processing? For
throughput, why not just deploy the entire pipeline single-threaded and
then run multiple pipeline instances in separate threads? UIMA-AS would do
this by specifying N instances of a synchronous top-level aggregate.


On Wed, May 20, 2015 at 8:49 AM, Petr Baudis <pasky@ucw.cz> wrote:

>   Hi!
> On Wed, May 20, 2015 at 07:56:33AM -0400, Eddie Epstein wrote:
> > Parallel-step currently only works with remote delegates. The other
> > approach, using CasMultipliers, allows an arbitrarily amount of parallel
> > processing in-process. A CM would create a separate CAS for each delegate
> > intended to run in parallel, and use a feature structure to hold a unique
> > identifier in each child CAS which a custom flow controller would use to
> > direct these CASes to the desired delegates. Results for the parallel
> flows
> > could be merged in a CasConsumer back into the parent CAS or to some
> other
> > output.
>   Thanks for that hint.  However, I'm not sure how a flow controller
> could direct CASes to delegates?  As far as I understand it, the flow
> controller decides which AE processes the CAS next, but cannot control
> the actual parallel execution of the flow, which would need to be taken
> care by the ASB (Analysis Structure Broker), and that would be the thing
> to hack in this case.  Am I missing something?
>   Thanks,
>                                 Petr Baudis

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message