You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Robert Joseph Evans (Commented) (JIRA)" <ji...@apache.org> on 2012/02/22 19:43:50 UTC
[jira] [Commented] (MAPREDUCE-3895) Speculative execution algorithm
in 1.0 is too pessimistic in many cases
[ https://issues.apache.org/jira/browse/MAPREDUCE-3895?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13213834#comment-13213834 ]
Robert Joseph Evans commented on MAPREDUCE-3895:
------------------------------------------------
It seems to be that the ideal solution is to have speculative execution understand the difference between the different phases, however that would introduce a significant change to the code and looks like it would be better suited for 0.23. Perhaps if you make how far behind a task has to be before speculation starts to be configurable it would give you the control you need.
> Speculative execution algorithm in 1.0 is too pessimistic in many cases
> -----------------------------------------------------------------------
>
> Key: MAPREDUCE-3895
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-3895
> Project: Hadoop Map/Reduce
> Issue Type: Improvement
> Components: jobtracker, performance
> Affects Versions: 1.0.0
> Reporter: Nathan Roberts
>
> We are seeing many instances where largish jobs are ending up with 30-50% of reduce tasks being speculatively re-executed. This can be a significant drain on cluster resources.
> The primary reason is due to the way progress in the reduce phase can make huge jumps in a very short amount of time. This fact leads the speculative execution code to think lots of tasks have fallen way behind the average when in fact they haven't
> The important piece of the algorithm is essentially:
> * Am I more than 20% behind the average progress?
> * Have I been running for at least a minute?
> * Have any tasks completed yet?
> Unfortunately, a set of reduce tasks which spend a couple of minutes in the Copy phase, and very little time in the Sort phase, will trigger all these conditions for a large percentage of the reduce tasks. (the tasks' progress jump from 33% to 66% almost instantly which then triggers the speculation). I've seen this on several very large jobs which spend about 2 minutes in Copy, a few seconds in Sort, and 40 minutes in Reduce. These jobs launch about 30-40% additional reduce tasks which then run for almost the full 40 minutes.
> This area becomes more plugable in MRv2 but for 1.0 it would be good if some portion of this algorithm could be configurable so that a job could have some degree of control (just disabling speculative execution is not really an option).
>
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira