Hi
We noticed that UIMA AS does not scale with multiple threads as expected.
Digging further into the problem we noticed two places which are
executed by at most one thread at a time:
- BaseUIMAAsynchronousEngineCommon_impl.sendCAS()
- BaseMessageSender.run()
We are using one UimaAsynchronousEngine per endpointName, thus
serializing and sending a message will only be done one at a time,
no matter how many instances of this analysisEngines we have running
under this endpointName.
How can we improve on this?
Can we just pool the UimaAsynchronousEngines?
Can we do better than just calling
UimaAsynchronousEngine.sendAndReceiveCAS()?
Sincerely,
Matthias
--
Matthias Koch
Averbis GmbH
Tennenbacher Str. 11
79106 Freiburg
Germany
Fon: +49 761 708 394 0
Fax: +49 761 708 394 10
Email: [email protected]
Web: https://averbis.com
Headquarters: Freiburg im Breisgau
Register Court: Amtsgericht Freiburg im Breisgau, HRB 701080
Managing Directors: Dr. med. Philipp Daumke, Dr. Kornél Markó