hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Nathan Roberts (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (YARN-3298) User-limit should be enforced in CapacityScheduler
Date Tue, 10 Mar 2015 15:09:39 GMT

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

Nathan Roberts commented on YARN-3298:
--------------------------------------

If you have a prototype patch, please post it since that will make the proposal crystal clear.


The issue I raised at https://issues.apache.org/jira/browse/YARN-3298?focusedCommentId=14353053&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14353053
doesn't happen today. I think it will happen if we try to be precisely strict with user-limit.
It's also not about "small amount of resource cannot be used in a queue" - It's everything
between capacity and max-capacity, which can be a large percentage of the cluster.

In my mind.
- I would be ok with changing current-capacity = max(queue.used,queue.capacity)+now-required;
because I think it's more consistent. Not strictly necessary though, just an improvement.
- I don't see an overwhelming reason to make user-limit a precisely enforced hard-limit. Currently,
users can't get beyond it by very much, and that seems ok to me. 




> User-limit should be enforced in CapacityScheduler
> --------------------------------------------------
>
>                 Key: YARN-3298
>                 URL: https://issues.apache.org/jira/browse/YARN-3298
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacityscheduler, yarn
>            Reporter: Wangda Tan
>            Assignee: Wangda Tan
>
> User-limit is not treat as a hard-limit for now, it will not consider required-resource
(resource of being-allocated resource request). And also, when user's used resource equals
to user-limit, it will still continue. This will generate jitter issues when we have YARN-2069
(preemption policy kills a container under an user, and scheduler allocate a container under
the same user soon after).
> The expected behavior should be as same as queue's capacity:
> Only when user.usage + required <= user-limit (1), queue will continue to allocate
container.
> (1), user-limit mentioned here is determined by following computing
> {code}
> current-capacity = queue.used + now-required (when queue.used > queue.capacity)
>                    queue.capacity (when queue.used < queue.capacity)
> user-limit = min(max(current-capacity / #active-users, current-capacity * user-limit
/ 100), queue-capacity * user-limit-factor)
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message