uima-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mario Gazzo <mario.ga...@gmail.com>
Subject Re: UIMA CPE appears not to utilise more than a single thread
Date Tue, 14 Apr 2015 11:53:27 GMT
Thanks guys.

Both suggestions gav me some key points to work with in order to solve the problem. It turned
out that the analysis engines in question oddly inherited from JCasConsumer_ImplBase and not
JCasAnnotator_ImplBase. Couldn’t see the forrest for the trees :)

Anyway, this suddenly caused a new problem to appear. Parameters set in the analysis engine
descriptions generated by UIMA FIT no longer gets loaded and injected. Switching back to JCasConsumer_ImplBase
gets them injected again but then its single-threaded. Are there any additional annotations
(descriptors) or some other configuration parameters I need to set?

> On 13 Apr 2015, at 18:19 , Jaroslaw Cwiklik <uimaee@gmail.com> wrote:
> Not sure if this is the cause but check if your AE descriptor has this
> <multipleDeploymentAllowed>true</multipleDeploymentAllowed>
> Jerry
> On Mon, Apr 13, 2015 at 12:07 PM, Eddie Epstein <eaepstein@gmail.com> wrote:
>> The CPE runs pipeline threads in parallel, not necessarily CAS processors.
>> In a CPE descriptor, generally all non-CasConsumer components make up the
>> pipeline.
>> Change the following line to indicate how many pipeline threads to run, and
>> make sure the casPoolSize is number of threads +2.
>> <casProcessors casPoolSize="2" processingUnitThreadCount="1">
>> Eddie
>> On Mon, Apr 13, 2015 at 7:44 AM, Mario Gazzo <mario.gazzo@gmail.com>
>> wrote:
>>> It appears that I can only utilise a single CAS processor even if I
>>> specify many more. I am not sure what I am doing wrong but I think I must
>>> be missing something important in my configuration.
>>> We only need multithreading and not the distributed features of UIMA CPE
>>> or similar. I copied and modified the UIMA FIT CpePipeline and CpeBuilder
>>> to do this and I only altered thread counts and error handling since I
>> want
>>> the CAS just to be dropped on exceptions. I have verified that the
>> accurate
>>> number of CAS processors are created using the debugger and I can in
>>> JConsole see that an equivalent amount of active threads are created but
>>> only one thread seems to be fed from my simple custom collection reader,
>>> which in the simple test setup only reads input entries from a file. I
>> can
>>> see this because I log the thread id inside the AEs, which is always the
>>> same. I have also verified that the CAS pool size equals the number of
>>> processors + 2.
>>> Is there some additional collection reader configuration required to feed
>>> all the other CAS processors?

View raw message