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

Jeff Jirsa commented on CASSANDRA-13896:
----------------------------------------

Another vote for having it in 4.x (trunk) only. [~PrinceNana] - it'd be 
*+great+* to see such an improvement, but please do target the trunk branch, 
and not cassandra-3.11 or cassandra-3.0



> Improving Cassandra write performance  
> ---------------------------------------
>
>                 Key: CASSANDRA-13896
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13896
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Local Write-Read Paths
>         Environment: Skylake server with 2 sockets, 192GB RAM, 3xPCIe SSDs
> OS: Centos 7.3 
> Java: Oracle JDK1.8.0_121
>            Reporter: Prince Nana Owusu Boateng
>             Fix For: 4.x
>
>         Attachments: Screen Shot 2017-09-22 at 11.22.43 AM.png
>
>
> During our Cassandra performance testing, we see high percentage of the CPU 
> spent in *org.apache.cassandra.utils.memory.SlabAllocator.allocate(int, 
> OpOrder Group) * method.  Appears to be high contention of the 
> *<nextFreeOffset>* atomic Integer in write workloads.   This structure is 
> used by the threads for keeping track of the region bytebuffer allocation.  
> When the contention appears, adding more clients, modifications of write 
> specific parameters does not change write throughput performance.  Attached 
> are the details of Java Flight Recorder (JFR), showing hot functions.   When 
> we see this contention, we still have plenty of CPU and throughput left ( 
> *<20%*  Total average CPU utilization and * <11%* of the storage write total 
> throughput).   This occurs on Cassandra 3.10.0-src version using the 
> Cassandra-Stress.
> Proposal:
> We will like to introduce a solution which eliminates the atomic operations 
> on the *<nextFreeOffset>* atomic Integer. This implementation will allow 
> concurrent allocation of bytebuffers without an atomic compareAndSet and 
> incrementAndGet operations. The solution is expected to increase overall 
> write performance while improving CPU utilization.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to