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

Sunil G commented on YARN-4108:
-------------------------------

Thank you [~leftnoteasy] for the detailed updated design doc. Few comments or 
queries

1. In current PCPP, we first preempt all reserved continers from all 
applications in a queue if its overallocated. After introduding "killable 
containers", so we will have some containers which are reserved or running. Am 
I correct? or reserved containers are planning to handled differently?

Possible cases: 
        - queueA's appA has made a reservation on node1. now queueB has demand, 
and we can unreserve appA's container requests from node1 and queueB's app can 
allocate some containers there.
        - or queueB's app can now reserve a container there. This case I think 
is explained by the design doc.
Basically we can still try to preempt reserved container first.

2. If I understood correctly, "killable containers" will be triggered with 
preeempt event only if a proper allocation can happen for target application 
(from underserving queue). 
        - So do we send preempt_container event to AM here at  this point? This 
can make a delay of 15secs, so if by some chance scheduling footprint is 
changed (some other NMs freed space), we may some overkill. (I guess this can 
happen now also).
        - 15secs later, RM do forcekill to these containers. Is there any 
change for this approach in this new design?

because as per doc, its mentioned that we need to preempt only if we can 
reserve. So I am slightly confused here.

3. To cancel "killable container", i think PCPP will take the call by waiting 
for some interval. So some new configuration is needed for this?

4. I would like to have some freedom in selecting conatiners (marking) for 
preemption. A simple sorting based on submission time or priority seems limited 
approach. Could we have some interface here so that we can plugin user specific 
comparision cases.
        - submission time
        - priority
        - demand based etc may be

> CapacityScheduler: Improve preemption to preempt only those containers that 
> would satisfy the incoming request
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: YARN-4108
>                 URL: https://issues.apache.org/jira/browse/YARN-4108
>             Project: Hadoop YARN
>          Issue Type: Bug
>          Components: capacity scheduler
>            Reporter: Wangda Tan
>            Assignee: Wangda Tan
>         Attachments: YARN-4108-design-doc-V3.pdf, 
> YARN-4108-design-doc-v1.pdf, YARN-4108-design-doc-v2.pdf, 
> YARN-4108.poc.1.patch, YARN-4108.poc.2-WIP.patch
>
>
> This is sibling JIRA for YARN-2154. We should make sure container preemption 
> is more effective.
> *Requirements:*:
> 1) Can handle case of user-limit preemption
> 2) Can handle case of resource placement requirements, such as: hard-locality 
> (I only want to use rack-1) / node-constraints (YARN-3409) / black-list (I 
> don't want to use rack1 and host\[1-3\])
> 3) Can handle preemption within a queue: cross user preemption (YARN-2113), 
> cross applicaiton preemption (such as priority-based (YARN-1963) / 
> fairness-based (YARN-3319)).



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

Reply via email to