You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@uima.apache.org by Augusto Ribeiro Silva <au...@cactusglobal.com> on 2020/06/29 11:15:40 UTC

Performance degradation in UIMA3

Hi all,

I am writing because I noticed that our pipelines got considerably slower after updating to UIMA3. The cause of the slowdown seems to be the fact that the method getJCasRegisteredType located in TypeSystemImpl uses a synchronised block. We haven't noticed it before but when I was running a pipeline in a large machine (48 cores with 80 worker threads) many of the threads were blocked in this specific method.

I just wanted to point that this is a big problem for us and I am not sure if you are aware or if there is some workaround. I am at this point considering packaging our own version of UIMA without the synchronised block since our types are not dynamic and should be loaded when the pipeline starts so it is unlikely that we need the synchronised access to the type registry.

Best regards,
Augusto


________________________________
Disclaimer:
This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.


Re: Performance degradation in UIMA3

Posted by Augusto Ribeiro Silva <au...@cactusglobal.com>.
Hi Marshall,

I'm just giving the latest on master a run with a 48 core machine and the performance is much better. Thanks for the help.

Best regards,
Augusto

> On 30 Jun 2020, at 07:29, Augusto Ribeiro Silva <au...@cactusglobal.com> wrote:
>
> Hi Marshall,
>
> thanks for the quick reply, I'll give it a try and get back to you.
>
> Best regards,
> Augusto
>
>> On 29 Jun 2020, at 16:47, Marshall Schor <ms...@schor.com> wrote:
>>
>> External email – Do not click links or open attachments unless you recognize the sender and know that the content is safe.
>>
>>
>> Hi,
>>
>> I've made a possible fix for this in the uimaj-master (the uimaj-core project)
>>
>> It would be great if you could test this on your big system.
>>
>> Thanks.
>>
>> -Marshall
>>
>> P.S., it's quite possible this issue was the "first one", and there may be
>> others which will now surface (assuming this one is now fixed), for this level
>> of multi-threading.  We would love to hear of other issues if they arise :-)
>>
>> On 6/29/2020 6:15 AM, Augusto Ribeiro Silva wrote:
>>> Hi all,
>>>
>>> I am writing because I noticed that our pipelines got considerably slower after updating to UIMA3. The cause of the slowdown seems to be the fact that the method getJCasRegisteredType located in TypeSystemImpl uses a synchronised block. We haven't noticed it before but when I was running a pipeline in a large machine (48 cores with 80 worker threads) many of the threads were blocked in this specific method.
>>>
>>> I just wanted to point that this is a big problem for us and I am not sure if you are aware or if there is some workaround. I am at this point considering packaging our own version of UIMA without the synchronised block since our types are not dynamic and should be loaded when the pipeline starts so it is unlikely that we need the synchronised access to the type registry.
>>>
>>> Best regards,
>>> Augusto
>>>
>>>
>>> ________________________________
>>> Disclaimer:
>>> This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.
>>>
>>>
>
>
> ________________________________
> Disclaimer:
> This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.
>


________________________________
Disclaimer:
This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.


Re: Performance degradation in UIMA3

Posted by Augusto Ribeiro Silva <au...@cactusglobal.com>.
Hi Marshall,

thanks for the quick reply, I'll give it a try and get back to you.

Best regards,
Augusto

> On 29 Jun 2020, at 16:47, Marshall Schor <ms...@schor.com> wrote:
>
> External email – Do not click links or open attachments unless you recognize the sender and know that the content is safe.
>
>
> Hi,
>
> I've made a possible fix for this in the uimaj-master (the uimaj-core project)
>
> It would be great if you could test this on your big system.
>
> Thanks.
>
> -Marshall
>
> P.S., it's quite possible this issue was the "first one", and there may be
> others which will now surface (assuming this one is now fixed), for this level
> of multi-threading.  We would love to hear of other issues if they arise :-)
>
> On 6/29/2020 6:15 AM, Augusto Ribeiro Silva wrote:
>> Hi all,
>>
>> I am writing because I noticed that our pipelines got considerably slower after updating to UIMA3. The cause of the slowdown seems to be the fact that the method getJCasRegisteredType located in TypeSystemImpl uses a synchronised block. We haven't noticed it before but when I was running a pipeline in a large machine (48 cores with 80 worker threads) many of the threads were blocked in this specific method.
>>
>> I just wanted to point that this is a big problem for us and I am not sure if you are aware or if there is some workaround. I am at this point considering packaging our own version of UIMA without the synchronised block since our types are not dynamic and should be loaded when the pipeline starts so it is unlikely that we need the synchronised access to the type registry.
>>
>> Best regards,
>> Augusto
>>
>>
>> ________________________________
>> Disclaimer:
>> This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.
>>
>>


________________________________
Disclaimer:
This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.


Re: Performance degradation in UIMA3

Posted by Marshall Schor <ms...@schor.com>.
Hi,

I've made a possible fix for this in the uimaj-master (the uimaj-core project)

It would be great if you could test this on your big system.

Thanks.

-Marshall

P.S., it's quite possible this issue was the "first one", and there may be
others which will now surface (assuming this one is now fixed), for this level
of multi-threading.  We would love to hear of other issues if they arise :-)

On 6/29/2020 6:15 AM, Augusto Ribeiro Silva wrote:
> Hi all,
>
> I am writing because I noticed that our pipelines got considerably slower after updating to UIMA3. The cause of the slowdown seems to be the fact that the method getJCasRegisteredType located in TypeSystemImpl uses a synchronised block. We haven't noticed it before but when I was running a pipeline in a large machine (48 cores with 80 worker threads) many of the threads were blocked in this specific method.
>
> I just wanted to point that this is a big problem for us and I am not sure if you are aware or if there is some workaround. I am at this point considering packaging our own version of UIMA without the synchronised block since our types are not dynamic and should be loaded when the pipeline starts so it is unlikely that we need the synchronised access to the type registry.
>
> Best regards,
> Augusto
>
>
> ________________________________
> Disclaimer:
> This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.
>
>

Re: Performance degradation in UIMA3

Posted by Marshall Schor <ms...@schor.com>.
https://issues.apache.org/jira/browse/UIMA-6249

On 6/29/2020 8:32 AM, Marshall Schor wrote:
> Hi,
>
> Thanks for this. Investigating... -Marshall
>
>
> On 6/29/2020 6:15 AM, Augusto Ribeiro Silva wrote:
>> Hi all,
>>
>> I am writing because I noticed that our pipelines got considerably slower after updating to UIMA3. The cause of the slowdown seems to be the fact that the method getJCasRegisteredType located in TypeSystemImpl uses a synchronised block. We haven't noticed it before but when I was running a pipeline in a large machine (48 cores with 80 worker threads) many of the threads were blocked in this specific method.
>>
>> I just wanted to point that this is a big problem for us and I am not sure if you are aware or if there is some workaround. I am at this point considering packaging our own version of UIMA without the synchronised block since our types are not dynamic and should be loaded when the pipeline starts so it is unlikely that we need the synchronised access to the type registry.
>>
>> Best regards,
>> Augusto
>>
>>
>> ________________________________
>> Disclaimer:
>> This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.
>>
>>

Re: Performance degradation in UIMA3

Posted by Marshall Schor <ms...@schor.com>.
Hi,

Thanks for this. Investigating... -Marshall


On 6/29/2020 6:15 AM, Augusto Ribeiro Silva wrote:
> Hi all,
>
> I am writing because I noticed that our pipelines got considerably slower after updating to UIMA3. The cause of the slowdown seems to be the fact that the method getJCasRegisteredType located in TypeSystemImpl uses a synchronised block. We haven't noticed it before but when I was running a pipeline in a large machine (48 cores with 80 worker threads) many of the threads were blocked in this specific method.
>
> I just wanted to point that this is a big problem for us and I am not sure if you are aware or if there is some workaround. I am at this point considering packaging our own version of UIMA without the synchronised block since our types are not dynamic and should be loaded when the pipeline starts so it is unlikely that we need the synchronised access to the type registry.
>
> Best regards,
> Augusto
>
>
> ________________________________
> Disclaimer:
> This email and any files transmitted with it are confidential and directed solely for the use of the intended addressee or addressees and may contain information that is legally privileged, confidential, and exempt from disclosure. If you have received this email in error, please notify the sender by telephone, fax, or return email and immediately delete this email and any files transmitted along with it. Unintended recipients are not authorized to disclose, disseminate, distribute, copy or take any action in reliance on information contained in this email and/or any files attached thereto, in any manner other than to notify the sender; any unauthorized use is subject to legal prosecution.
>
>