You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Erik Krogen (JIRA)" <ji...@apache.org> on 2016/11/01 21:10:58 UTC

[jira] [Created] (HADOOP-13782) Make MutableRates metrics thread-local write, aggregate-on-read

Erik Krogen created HADOOP-13782:
------------------------------------

             Summary: Make MutableRates metrics thread-local write, aggregate-on-read
                 Key: HADOOP-13782
                 URL: https://issues.apache.org/jira/browse/HADOOP-13782
             Project: Hadoop Common
          Issue Type: Improvement
          Components: metrics
            Reporter: Erik Krogen
            Assignee: Erik Krogen


Currently the {{MutableRates}} metrics class serializes all writes to metrics it contains because of its use of {{MetricsRegistry.add()}} (i.e., even two increments of unrelated metrics contained within the same {{MutableRates}} object will serialize w.r.t. each other). This class is used by {{RpcDetailedMetrics}}, which may have many hundreds of threads contending to modify these metrics. Instead we should allow updates to unrelated metrics objects to happen concurrently. To do so we can let each thread locally collect metrics, and on a {{snapshot}}, aggregate the metrics from all of the threads. 

I have collected some benchmark performance numbers in HADOOP-13747 (https://issues.apache.org/jira/secure/attachment/12835043/benchmark_results) which indicate that this can bring significantly higher performance in high contention situations. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-dev-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-dev-help@hadoop.apache.org