Benedict updated CASSANDRA-15213:
         Severity: Low
       Complexity: Normal
    Discovered By: Adhoc Test
     Bug Category: Parent values: Degradation(12984)Level 1 values: Performance 
      Component/s: Observability/Metrics
           Status: Open  (was: Triage Needed)

* {{LongAdder}} introduced to trunk consumes 9MiB of heap without user schemas, 
and this will grow significantly under contention and user schemas with many 
tables.  This is because {{LongAdder}} is a very heavy class designed for 
single contended values.  
 ** This can likely be improved significantly, without significant loss of 
performance in the contended case, by simply increasing the size of our 
primitive backing array and providing multiple buckets, with each thread 
picking a bucket to increment, or simply multiple backing arrays.  Probably a 
better way still to do this would be to introduce some competition detection to 
the update, much like {{LongAdder}} utilises, that increases the number of 
backing arrays under competition.
 ** To save memory this approach could partition the space into chunks that are 
likely to be updated together, so that we do not need to duplicate the entire 
array under competition.
 * Similarly, binary search is costly and a measurable cost as a share of the 
new networking work (without filtering it was > 10% of the CPU used overall).  
We can compute an approximation floor(log2 n / log2 1.2) extremely cheaply, to 
save the random memory access costs.

> DecayingEstimatedHistogramReservoir Inefficiencies
> --------------------------------------------------
>                 Key: CASSANDRA-15213
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15213
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Observability/Metrics
>            Reporter: Benedict
>            Priority: Normal

This message was sent by Atlassian JIRA

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

Reply via email to