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

Andrew Ferguson commented on YARN-326:
--------------------------------------

hey Sandy,

sure, I certainly see the appeal of the absolute values approach -- like I 
said, it's a design tradeoff.

however, one point of DRF is that we can sensibly consider "fractions" of 
multidimensional resource vectors since the "fraction" is defined as the 
fraction of the cluster consumed by the most dominant resource. having 
single-dimensional fractions like this is nice because we can then a) weight 
them, and b) calculate max-min fairness as in the one-dimensional case (eg, 
memory) case.

consider the history and geology departments you introduced above. let's say 
our policy is that each queue gets equal weight (since the the departments went 
in on the purchase of the cluster 50/50), and that each queue should be 
guaranteed a minimum of 1/4 of the cluster (so that a queue fresh with jobs 
ramps-up to 1/4 of the cluster quickly).

in your proposal, since the departments have different shaped demands (one for 
high-memory, the other for high-cpu), we would configure their minimum share 
vectors based on these different shaped demands. this would work fine as long 
as the departments continued to submit resource requests which had these same, 
pre-configured shapes.

however, if we establish the minimums using fractions, then the departments can 
easily change between different shaped jobs, and still have the minimums work 
out for them sensibly. does this make sense?

let's be concrete:

10 nodes with 8 CPUs and 64 GB of RAM

if history usually submits jobs for (1 CPU, 16 GB) and geology for (2 CPU, 8 
GB). with your proposal, we might define history's minimum allocation to be (10 
CPU, 160 GB)  (1/4 of the dominant resource) and geology to be (20 CPU, 80 GB) 
(again, 1/4 of dominant resource). if either department changed the shape of 
their requests, they wouldn't get full use of their minimum.

so, what if we listed the minimums as simply 1/4 * cluster size, but not 
considering DRF? ie, giving (20 CPU and 160 GB) as the minimum allocation to 
each? well, if the departments continued to submit the different shaped jobs (1 
CPU, 16 GB) and (2 CPU, 8 GB), the design described would continue to see the 
queues as being below their "minimum allocation", even after the bottleneck 
resource fully consumed its amount of the minimum allocation. in the extreme 
case, I highly suspect a job could get *more* than its DRF-based fair share, 
simply by having one of its non-dominant resources remain below the amount 
listed in its minimum share. (can you see this? if not, I'll work out an 
example)

the beauty of the fractions approach, in my mind, is that it will apply no 
matter which resource is the bottleneck resource.


hope this example is clear. sorry I haven't had time to look at your code -- 
this is just based on my reading of your design doc. perhaps all is well and 
good in the code itself. :-)


cheers,
Andrew
                
> Add multi-resource scheduling to the fair scheduler
> ---------------------------------------------------
>
>                 Key: YARN-326
>                 URL: https://issues.apache.org/jira/browse/YARN-326
>             Project: Hadoop YARN
>          Issue Type: New Feature
>          Components: scheduler
>    Affects Versions: 2.0.2-alpha
>            Reporter: Sandy Ryza
>            Assignee: Sandy Ryza
>         Attachments: FairSchedulerDRFDesignDoc.pdf, YARN-326.patch, 
> YARN-326.patch
>
>
> With YARN-2 in, the capacity scheduler has the ability to schedule based on 
> multiple resources, using dominant resource fairness.  The fair scheduler 
> should be able to do multiple resource scheduling as well, also using 
> dominant resource fairness.
> More details to come on how the corner cases with fair scheduler configs such 
> as min and max resources will be handled.

--
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

Reply via email to