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

Wangda Tan commented on YARN-5892:
----------------------------------

Thanks [~eepayne] for the elaborations,

I have a discussion with [~jlowe]/[~curino] during community sync up and have a 
separate offline discussion with [~sunilg].

I was thinking solutions like dynamic creation of user-queue and assign quotas 
to these queues, etc. But it seems doesn't fit well for FIFO + user-quota. Also 
mentioned by [~jlowe], dynamic queue exposes implementation details to end user.

[~curino] proposed to use reservation system to solve the problem, but I'm not 
sure how, Carlo could you please add your thoughts? 

In my mind, the MULP (minimum-user-limit-percentage) is a quota applied to 
active users, which gives enough resource for app (or user which the app 
belongs to) to run. If there're more active users than (100 / MULP), scheduler 
tries to give resource to first (100 / MULP) users. If #active_users < (100 / 
MULP), available resource will be equally divided to these users.

So I preferred to keep the semantic more similar to existing one, I propose to 
introduce a weight of users instead of overriding the MULP: scheduler will 
continue assign MULP% shares to each "unit users", but different user can have 
different weight to adjust quota based on share of "unit users". Also, the 
weights of users can be used independent from MULP: because in the future we 
may want to replace concept of user limit by different ones. (Like setting 
quota for each user, give weighted fair share to users, etc.)

Also, regarding to config, there's a collision for 
{{<queue-name>.<user-name>.MULP}} when queue's name equals to {{<user-name>}}. 
How about adding one more layer to specify settings of users, like:
{code}
... <leaf-queue-name>.user-settings.<user-name>.weight = x
... <leaf-queue-name>.user-settings.<user-name>.weight = y
...
{code}?

> Capacity Scheduler: Support user-specific minimum user limit percent
> --------------------------------------------------------------------
>
>                 Key: YARN-5892
>                 URL: https://issues.apache.org/jira/browse/YARN-5892
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: capacityscheduler
>            Reporter: Eric Payne
>            Assignee: Eric Payne
>         Attachments: YARN-5892.001.patch, YARN-5892.002.patch
>
>
> Currently, in the capacity scheduler, the {{minimum-user-limit-percent}} 
> property is per queue. A cluster admin should be able to set the minimum user 
> limit percent on a per-user basis within the queue.
> This functionality is needed so that when intra-queue preemption is enabled 
> (YARN-4945 / YARN-2113), some users can be deemed as more important than 
> other users, and resources from VIP users won't be as likely to be preempted.
> For example, if the {{getstuffdone}} queue has a MULP of 25 percent, but user 
> {{jane}} is a power user of queue {{getstuffdone}} and needs to be guaranteed 
> 75 percent, the properties for {{getstuffdone}} and {{jane}} would look like 
> this:
> {code}
>   <property>
>     
> <name>yarn.scheduler.capacity.root.getstuffdone.minimum-user-limit-percent</name>
>     <value>25</value>
>   </property>
>   <property>
>     
> <name>yarn.scheduler.capacity.root.getstuffdone.jane.minimum-user-limit-percent</name>
>     <value>75</value>
>   </property>
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to