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: [email protected]
For additional commands, e-mail: [email protected]