hadoop-mapreduce-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "sam liu (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (MAPREDUCE-5026) For shortening the time of TaskTracker heartbeat, decouple the statics collection operations
Date Sun, 17 Mar 2013 10:02:13 GMT

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

sam liu commented on MAPREDUCE-5026:
------------------------------------

Hi Andrew,

Sorry for replying late. 

In a simplest test: in one node cluster, the average time of executing 'HeartbeatResponse
heartbeatResponse = transmitHeartBeat(now)' will spend 4.3 ms using the original TaskTracker.java,
and the average time is from 1000 heartbeats. But, using the new TaskTracker.java, the time
will be 2.1 ms in average. The efficiency improves a little more than 100%.
                
> For shortening the time of TaskTracker heartbeat, decouple the statics collection operations
> --------------------------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-5026
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-5026
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: performance, tasktracker
>    Affects Versions: 1.1.1
>            Reporter: sam liu
>              Labels: patch
>             Fix For: 1.1.1
>
>         Attachments: HDFS-4527.patch, HDFS-4527.patch
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> In each heartbeat of TaskTracker, it will calculate some system statics, like the free
disk space, available virtual/physical memory, cpu usage, etc. However, it's not necessary
to calculate all the statics in every heartbeat, and this will consume many system resource
and impace the performance of TaskTracker heartbeat. Furthermore, the characteristics of system
properties(disk, memory, cpu) are different and it's better to collect their statics in different
intervals.
> To reduce the latency of TaskTracker heartbeat, one solution is to decouple all the system
statics collection operations from it, and issue separate threads to do the statics collection
works when the TaskTracker starts. The threads could be three: the first one is to collect
cpu related statics in a short interval; the second one is to collect memory related statics
in a normal interval; the third one is to collect disk related statics in a long interval.
And all the interval could be customized by the parameter "mapred.stats.collection.interval"
in the mapred-site.xml. At last, the heartbeat could get values of system statics from the
memory directly.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message