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

Eric Payne commented on YARN-2009:
----------------------------------

Hi [~sunilg]. Here is a description of my test environment, the steps I 
executed, and the results I am seeing

I don't know why the unit test you described above is not catching this, but I 
will continue to investigate. In the meantime, can you please try the following 
and let me know what you discover?

-----

||Property Name||Property Value||
|monitoring_interval (ms)|1000|
|max_wait_before_kill (ms)|500|
|total_preemption_per_round|1.0|
|max_ignored_over_capacity|0.2|
|select_based_on_reserved_containers|true|
|natural_termination_factor|2.0|
|intra-queue-preemption.enabled|true|
|intra-queue-preemption.minimum-threshold|0.5|
|intra-queue-preemption.max-allowable-limit|0.1|

{noformat:title=Cluster}
Nodes: 3
Mem per node: 4 GB
Total Cluster Size: 12 GB
Container size: 0.5 GB
{noformat}

||Queue||Guarantee||Max||Minimum user limit percent||User Limit Factor||
|root|100% (12 GB)|100% (12 GB)|N/A|N/A|
|default|50% (6 GB)|100% (12 GB)|50% (2 users can run in queue 
simultaneously)|2.0 (one user can consume twice the queue's Guarantee|
|eng|50% (6 GB)|100% (12 GB)|50% (2 users can run in queue simultaneously)|2.0 
(one user can consume twice the queue's Guarantee|

- {{user1}} starts {{app1}} at priority 1 in the {{default}} queue, and 
requests 30 mappers which want to run for 10 minutes each:
-- Sleep job: {{-m 30 -mt 600000}}
-- Total requested resources are 15.5 GB: ((30 map containers * 0.5 GB per 
container) + 0.5 GB AM container))
||App Name||User Name||Priority||Used||Pending||
|app1|user1|1|0|15.5 GB|
- The RM assigns {{app1}} 24 containers, consuming 12 GB (all cluster 
resources):
-- {{(23 mappers * 0.5 GB) + 0.5 GB AM = 12 GB}}
||App Name||User Name||Priority||Used||Pending||
|app1|user1|1|12 GB|3.5 GB|
- {{user2}} starts {{app2}} at priority 2 in the {{default}} queue, and 
requests 30 mappers which want to run for 10 minutes each:
||App Name||User Name||Priority||Used||Pending||
|app1|user1|1|12 GB|3.5 GB|
|app2|user2|2|0|15.5 GB|
- The intra-queue preemption monitor iterates over the containers for several 
{{monitoring_interval}}'s and preempts 12 containers (6 GB resources)
- The RM assigns the the preempted containers to {{app2}}
||App Name||User Name||Priority||Used||Pending||
|app1|user1|1|6 GB|3.5 GB|
|app2|user2|2|6 GB|3.5 GB|
- The intra-queue preemption monitor continues to preempt containers from 
{{app1}}.
-- However, since the MULP for the {{default}} queue should be 6GB, the RM 
gives the preempted containers back to {{app1}}
-- This repeats indefinitely.


> Priority support for preemption in ProportionalCapacityPreemptionPolicy
> -----------------------------------------------------------------------
>
>                 Key: YARN-2009
>                 URL: https://issues.apache.org/jira/browse/YARN-2009
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: capacityscheduler
>            Reporter: Devaraj K
>            Assignee: Sunil G
>         Attachments: YARN-2009.0001.patch, YARN-2009.0002.patch, 
> YARN-2009.0003.patch, YARN-2009.0004.patch, YARN-2009.0005.patch, 
> YARN-2009.0006.patch, YARN-2009.0007.patch, YARN-2009.0008.patch, 
> YARN-2009.0009.patch, YARN-2009.0010.patch, YARN-2009.0011.patch
>
>
> While preempting containers based on the queue ideal assignment, we may need 
> to consider preempting the low priority application containers first.



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

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

Reply via email to