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