Wei Yan commented on YARN-596:

Hey, [~sandyr], sorry for the late reply. Still confuse here.
So as you said, a queue is safe and doesn't allow preemption only it satisfies 
the condition "(usage.memory <= fairshare.memory) & (usage.vcores <= 
fairshare.vcores)". This condition works fine for DRF. But for FairSharePolicy, 
as the fairshare.vcores is always 0 (except for root), so this condition cannot 
be satisfied and all queues are always allowed to preempt.

> In fair scheduler, intra-application container priorities affect 
> inter-application preemption decisions
> -------------------------------------------------------------------------------------------------------
>                 Key: YARN-596
>                 URL: https://issues.apache.org/jira/browse/YARN-596
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: scheduler
>    Affects Versions: 2.0.3-alpha
>            Reporter: Sandy Ryza
>            Assignee: Sandy Ryza
>         Attachments: YARN-596.patch, YARN-596.patch, YARN-596.patch, 
> YARN-596.patch, YARN-596.patch
> In the fair scheduler, containers are chosen for preemption in the following 
> way:
> All containers for all apps that are in queues that are over their fair share 
> are put in a list.
> The list is sorted in order of the priority that the container was requested 
> in.
> This means that an application can shield itself from preemption by 
> requesting it's containers at higher priorities, which doesn't really make 
> sense.
> Also, an application that is not over its fair share, but that is in a queue 
> that is over it's fair share is just as likely to have containers preempted 
> as an application that is over its fair share.

This message was sent by Atlassian JIRA

Reply via email to