Re: UIMA CPE appears not to utilise more than a single thread
Yep, that was it :) Still struggling with getting the overview of all these details and it can feel kinda uphill at times so I really appreciate the quick response from the community. Thanks a lot. Cheers Mario > On 14 Apr 2015, at 15:58 , Richard Eckart de Castilho wrote: > > Hi, > > you have to inherit from the uimaFIT version of JCasAnnotator_ImplBase, not > from the UIMA core version. Please make sure that your import is: > > import org.apache.uima.fit.component.JCasAnnotator_ImplBase > > Cf. > http://uima.apache.org/d/uimafit-2.1.0/api/org/apache/uima/fit/component/JCasAnnotator_ImplBase.html > > Cheers, > > -- Richard > > On 14.04.2015, at 13:53, Mario Gazzo wrote: > >> 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? >
Re: UIMA CPE appears not to utilise more than a single thread
Hi, you have to inherit from the uimaFIT version of JCasAnnotator_ImplBase, not from the UIMA core version. Please make sure that your import is: import org.apache.uima.fit.component.JCasAnnotator_ImplBase Cf. http://uima.apache.org/d/uimafit-2.1.0/api/org/apache/uima/fit/component/JCasAnnotator_ImplBase.html Cheers, -- Richard On 14.04.2015, at 13:53, Mario Gazzo wrote: > 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?
Re: UIMA CPE appears not to utilise more than a single thread
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 wrote: > > Not sure if this is the cause but check if your AE descriptor has this > true > > Jerry > > On Mon, Apr 13, 2015 at 12:07 PM, Eddie Epstein 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. >> >> >> >> Eddie >> >> On Mon, Apr 13, 2015 at 7:44 AM, Mario Gazzo >> 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? >>> >>> >>> >>> >>> >>> >>
Re: UIMA CPE appears not to utilise more than a single thread
Not sure if this is the cause but check if your AE descriptor has this true Jerry On Mon, Apr 13, 2015 at 12:07 PM, Eddie Epstein 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. > > > > Eddie > > On Mon, Apr 13, 2015 at 7:44 AM, Mario Gazzo > 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? > > > > > > > > > > > > >
Re: UIMA CPE appears not to utilise more than a single thread
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. Eddie On Mon, Apr 13, 2015 at 7:44 AM, Mario Gazzo 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? > > > > > >
UIMA CPE appears not to utilise more than a single thread
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?