[
https://issues.apache.org/jira/browse/HADOOP-15124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16325929#comment-16325929
]
Igor Dvorzhak edited comment on HADOOP-15124 at 1/15/18 7:39 AM:
-----------------------------------------------------------------
To simplify and improve PR I have:
- removed flag stubbing that disables per-thread stats (would be better to
implement this flag as a separate PR);
- re-implemented FileSystemStorageStatistics using EnumMap as a backend
(similar to S3 statistics implementations);
- re-implemented FileSystem.Statistics using FileSystemStorageStatistics as a
backend (preserving all functionality and backward compatability).
It decreased performance a little (compared to non-EnumMap based
implementation), but it's still faster than current implementation.
Please, take a look at PR and advise how to move this change forward.
was (Author: medb):
To simplify and improve PR I have:
- removed flag stubbing to disable per-thread stats (would be better to
implement it as a separate change);
- re-implemented FileSystemStorageStatistics using EnumMap as a backend
(similar to S3 statistics implementations);
- re-implemented FileSystem.Statistics using FileSystemStorageStatistics as a
backend (preserving all functionality and backward compatability).
It decreased performance a little (compared to non-EnumMap based
implementation), but it's still faster than current implementation.
Please, take a look at PR and advise how to move this change forward.
> Slow FileSystem.Statistics counters implementation
> --------------------------------------------------
>
> Key: HADOOP-15124
> URL: https://issues.apache.org/jira/browse/HADOOP-15124
> Project: Hadoop Common
> Issue Type: Sub-task
> Components: common
> Affects Versions: 2.9.0, 2.8.3, 2.7.5, 3.0.0
> Reporter: Igor Dvorzhak
> Assignee: Igor Dvorzhak
> Priority: Major
> Labels: common, filesystem, statistics
>
> While profiling 1TB TeraGen job on Hadoop 2.8.2 cluster (Google Dataproc, 2
> workers, GCS connector) I saw that FileSystem.Statistics code paths Wall time
> is 5.58% and CPU time is 26.5% of total execution time.
> After switching FileSystem.Statistics implementation to LongAdder, consumed
> Wall time decreased to 0.006% and CPU time to 0.104% of total execution time.
> Total job runtime decreased from 66 mins to 61 mins.
> These results are not conclusive, because I didn't benchmark multiple times
> to average results, but regardless of performance gains switching to
> LongAdder simplifies code and reduces its complexity.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]