On Tue, 29 Oct 2024 22:31:28 GMT, Vladimir Ivanov <vaiva...@openjdk.org> wrote:

>> This patch remove access to the shared variable to fix scalability issue in 
>> the multithread environment. According to testing by the 
>> specjvm2008::crypto.rsa the one thread performance reduced for less than 1% 
>> while the score for the multithread run increased in ~2x. For the 2 socket 
>> system with Xeon 8480+ numbers looks as:
>> •    1 thread: 643.15 for original version vs 642.54 for patched one;
>> •    224 threads: 22446.19 for original vs 46147.41 for patched.
>> The RSABench microbenchmark reports no score changes for the 1 thread 
>> (average for all testcases) and 2.4% improvement for the 224 threads.
>
> Vladimir Ivanov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   8317538: Potential bottleneck in Provider::getService: 
> specjvm2008::crypto.rsa have scalability issue for high vCPU numbers

The ServiceKey is not serializable type and without 'transient' modifier the 
build failed with warning: "[serial] non-transient instance field of a 
serializable class declared with a non-serializable type".
I believe it is better to skip serialization for the cached value than annotate 
it as expected warning.

-------------

PR Comment: https://git.openjdk.org/jdk/pull/21719#issuecomment-2452730322

Reply via email to