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

Xianyin Xin commented on YARN-3547:
-----------------------------------

Sorry for late response, [~kasha]. {{getDemand() - getResourceUsage()}} is 
another choice, but i think 
{{SchedulerApplicationAttempt.getAppAttemptResourceUsage().getPending()}} would 
be better, because the pending information is immediately updated as the 
request is update/fulfilled, while the former was derived from request in 
another update thread. The request is changed when there's resource request 
update. If AM submits resource requests 
{code}
location=*     containers=1
location=rack  containers=1
location=node1 containers=1
location=node2 containers=1
{code}
and then it is fulfilled on node1, the request becomes
{code}
location=*     containers=0
location=node2 containers=1
{code}
Later the AM doesn't submit a new request (in which the #container set to 0), 
this app will also participate scheduling, even though it's demand has been 
fulfilled.

Besides, when i try use {{getDemand() - getResourceUsage()}}, i got some test 
failures. Now i was checking the cause.

> FairScheduler: Apps that have no resource demand should not participate 
> scheduling
> ----------------------------------------------------------------------------------
>
>                 Key: YARN-3547
>                 URL: https://issues.apache.org/jira/browse/YARN-3547
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: fairscheduler
>            Reporter: Xianyin Xin
>            Assignee: Xianyin Xin
>         Attachments: YARN-3547.001.patch, YARN-3547.002.patch, 
> YARN-3547.003.patch, YARN-3547.004.patch
>
>
> At present, all of the 'running' apps participate the scheduling process, 
> however, most of them may have no resource demand on a production cluster, as 
> the app's status is running other than waiting for resource at the most of 
> the app's lifetime. It's not a wise way we sort all the 'running' apps and 
> try to fulfill them, especially on a large-scale cluster which has heavy 
> scheduling load. 



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

Reply via email to