[ 
https://issues.apache.org/jira/browse/GEODE-8213?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17123934#comment-17123934
 ] 

Jacob Barrett edited comment on GEODE-8213 at 6/2/20, 3:34 PM:
---------------------------------------------------------------

[~alberto.gomez] I am not at all surprised by this. The original code used spin 
locks in a few places and the implantation was very platform specific, some was 
assembly, inline assembly, or platform specific APIs. When converting over to 
C\+\+11 standards we felt it best to just implement a C\+\+11 based spin_lock 
with the same traits as the other C\+\+11 locks. The goal to was to later 
profile and optimize locking throughout. Most of what goes on in the registry 
here could be lock free or at worst shared lock both of which should be 
available in Boost, which is already a dependency.


was (Author: jbarrett):
[~alberto.gomez] I am not at all surprised by this. The original code used spin 
locks in a few places and the implantation was very platform specific, some was 
assembly, inline assembly, or platform specific APIs. When converting over to 
C++ standards we felt it best to just implement a C++ based spin_lock with the 
same traits as the other C++11 locks. The goal to was to later profile and 
optimize locking throughout. Most of what goes on in the registry here could be 
lock free or at worst shared lock both of which should be available in Boost, 
which is already a dependency.

> C++ native client performance bottleneck in access to serialization registry
> ----------------------------------------------------------------------------
>
>                 Key: GEODE-8213
>                 URL: https://issues.apache.org/jira/browse/GEODE-8213
>             Project: Geode
>          Issue Type: Improvement
>          Components: native client
>            Reporter: Alberto Gomez
>            Assignee: Alberto Gomez
>            Priority: Major
>             Fix For: 1.14.0
>
>
> It's been observed that when the number of threads used in a Geode client 
> using PdxSerialization is greater than 8, there is an important drop in 
> performance.
> Analysing the client process behavior with perf, it has been observed a very 
> high CPU consumption by a spinlock 
> (apache::geode::util::concurrent::spinlock_mutex::lock) used when accessing 
> the serialization registry .



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to