[ 
https://issues.apache.org/jira/browse/HADOOP-5199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vivek Ratan updated HADOOP-5199:
--------------------------------

    Attachment: 5199.2.patch

Attaching another patch (5199.2.patch). This one, in addition, supports a 
Faishare pool, which includes most, if not all, of the functionality of the 
Fairshare scheduler. The main purpose of this patch is to demonstrate how the 
base scheduler can work with a fairshare-style ordering of jobs as well as a 
capacity/default-style ordering. The patch is not complete. 

To support the fairshare pool ({{FairsharePool.java}}),  I had to do the 
following: 
* The main change is that each {{FairsharePool}} object handles a single pool 
and orders jobs in that pool the same way that the Fairshare scheduler does 
(the latter ordered jobs globally, while {{FairsharePool}} does it for jobs in 
a pool. This follows my earlier suggestion to let the scheduler first pick a 
pool and then look at the ordering of jobs in that pool. It's easy enough for 
{{FairsharePool}} to go back to a global ordering by using a static map of all 
jobs, rather than a map of pool-specific jobs. 
* I did not include any of the configurable classes/interfaces such as 
{{TaskSelector}} or {{WesightAdjuster}}. Those can be added later and are not 
directly relevant to this discussion. 
* I got rid of the 'runnable' concept, since user limits will supposedly be 
handled by the code {{HadoopTaskScheduler}}. 
* Similarly, _updateWeights()_ does not look at normalizing wights across 
pools, as the suggestion is to pick a pool based on how far behind the pool is 
running. 

Again, this patch is to just demonstrate how a fairshare pool can fit into the 
core scheduler without losing any/much functionality. This patch hopefully also 
shows how different data structures and information are spread out across the 
classes. 

> A proposal to merge common functionality of various Schedulers
> --------------------------------------------------------------
>
>                 Key: HADOOP-5199
>                 URL: https://issues.apache.org/jira/browse/HADOOP-5199
>             Project: Hadoop Core
>          Issue Type: Improvement
>          Components: mapred
>            Reporter: Vivek Ratan
>         Attachments: 5199.1.patch, 5199.2.patch
>
>
> There are at least 3 Schedulers in Hadoop today: Default, Capacity, and 
> Fairshare. Over time, we're seeing a lot of functionality common to all 
> three. Many bug fixes, improvements to existing functionality, and new 
> functionality are applicable to all three schedulers. This trend seems to be 
> getting stronger, as we notice similar problems, solutions, and ideas. This 
> is a proposal to detect and consolidate such common functionality.

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

Reply via email to