geode-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jacob S. Barrett (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (GEODE-6446) Optimize gauge type stats
Date Sat, 23 Feb 2019 14:45:00 GMT

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

Jacob S. Barrett edited comment on GEODE-6446 at 2/23/19 2:44 PM:
------------------------------------------------------------------

  !Screen Shot 2019-02-23 at 6.43.39 AM.png!  

{{FastStatisticsImpl}} uses {{AtomicLong}} to optimize gauge stats. In the attached graph
you are looking at an asymmetric work load of X number threads are updating and 1 thread is
reading the gauge in ops/second. It is somewhat unrealistic given that reads won't be occurring
this frequently but it shows what impact the data structure has on the overall performance.
The previous two implementations did not optimize for gauge. The {{LocalStatisticsImpl}} is
optimized for gauge but is not threads safe so it is left off this graph because it cheats.


was (Author: jbarrett):
 !Screen Shot 2019-02-23 at 6.35.24 AM.png! 

{{FastStatisticsImpl}} uses {{AtomicLong}} to optimize gauge stats. In the attached graph
you are looking at an asymmetric work load of X number threads are updating and 1 thread is
reading the gauge in ops/second. It is somewhat unrealistic given that reads won't be occurring
this frequently but it shows what impact the data structure has on the overall performance.
The previous two implementations did not optimize for gauge. The {{LocalStatisticsImpl}} is
optimized for gauge but is not threads safe so it is left off this graph because it cheats.

> Optimize gauge type stats
> -------------------------
>
>                 Key: GEODE-6446
>                 URL: https://issues.apache.org/jira/browse/GEODE-6446
>             Project: Geode
>          Issue Type: Improvement
>          Components: statistics
>            Reporter: Jacob S. Barrett
>            Priority: Major
>         Attachments: Screen Shot 2019-02-23 at 6.43.39 AM.png
>
>
> The new {{StripedStatisticsImpl}} uses {{LongAdder}} and {{DoubleAdder}}, which are not
optimized for setting specific values like one would with a gauge type statistic. As such,
{{StripedStatisticsImpl}} has to synchronize set and get operations to avoid races. Consider
optimization that uses {{AtomicLong}} or well suited structure.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message