You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "Hemanth Yamijala (JIRA)" <ji...@apache.org> on 2008/10/31 08:20:44 UTC

[jira] Created: (HADOOP-4557) Avoid priority inversion that could result due to scheduling running jobs in an order sorted by priority

Avoid priority inversion that could result due to scheduling running jobs in an order sorted by priority
--------------------------------------------------------------------------------------------------------

                 Key: HADOOP-4557
                 URL: https://issues.apache.org/jira/browse/HADOOP-4557
             Project: Hadoop Core
          Issue Type: Improvement
          Components: mapred
            Reporter: Hemanth Yamijala


- Consider a job, J1, with priority NORMAL that is running reduce tasks occupying all reduce slots and has running and pending map tasks. 
- At this point, suppose a job, J2, is submitted with priority HIGH or say its priority is changed to HIGH from NORMAL.
- The schedulers typically will start scheduling tasks from job J2, as J1's running maps complete. The default scheduler in Hadoop does this, and with HADOOP-4471, so will the capacity scheduler.
- However, as there are still pending maps in J1, the reduce tasks of J1 are all stuck and no reduce tasks of J2 can run. 
- So, all map tasks of J2 will complete, followed by completion of all map tasks of J1, and then reduce tasks from J1 will start getting freed for J2 to complete. 

This could result in jobs completing slowly. Also, if there are enough jobs of higher priority, they could result in low priority jobs being starved. At the same time more and more resources (such as intermediate disk space) will get consumed without jobs completing.

This jira is to discuss and implement a solution for the above problem.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.