[jira] [Comment Edited] (YARN-10559) Fair sharing intra-queue preemption support in Capacity Scheduler
[ https://issues.apache.org/jira/browse/YARN-10559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17513547#comment-17513547 ] Benjamin Teke edited comment on YARN-10559 at 3/28/22, 6:10 PM: [~ananyo_rao] since this is pending for a while now and the patch doesn't apply to trunk anymore, do you plan to update it? If not, would you mind if I take over the task of managing/updating it? was (Author: bteke): [~ananyo_rao] since this is pending for a while now and the patch doesn't apply to trunk anymore, do you plan to update it? If not, would you mind if I take over managing/updating it? > Fair sharing intra-queue preemption support in Capacity Scheduler > - > > Key: YARN-10559 > URL: https://issues.apache.org/jira/browse/YARN-10559 > Project: Hadoop YARN > Issue Type: Improvement > Components: capacityscheduler >Affects Versions: 3.1.4 >Reporter: VADAGA ANANYO RAO >Assignee: VADAGA ANANYO RAO >Priority: Major > Attachments: FairOP_preemption-design_doc_v1.pdf, > FairOP_preemption-design_doc_v2.pdf, YARN-10559.0001.patch, > YARN-10559.0002.patch, YARN-10559.0003.patch, YARN-10559.0004.patch, > YARN-10559.0005.patch, YARN-10559.0006.patch, YARN-10559.0007.patch, > YARN-10559.0008.patch, YARN-10559.0009.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Usecase: > Due to the way Capacity Scheduler preemption works, If a single user submits > a large application to a queue (using 100% of resources), that job will not > be preempted by future applications from the same user within the same queue. > This implies that the later applications will be forced to wait for > completion of the long running application. This prevents multiple long > running, large, applications from running concurrently. > Support fair sharing among apps while preempting applications from same queue. -- This message was sent by Atlassian Jira (v8.20.1#820001) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Comment Edited] (YARN-10559) Fair sharing intra-queue preemption support in Capacity Scheduler
[ https://issues.apache.org/jira/browse/YARN-10559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17276904#comment-17276904 ] VADAGA ANANYO RAO edited comment on YARN-10559 at 2/5/21, 2:29 PM: --- Hi [~epayne], thank you for your earlier response. We wanted to get your suggestions on better handling multiple user cases. Currently, we are considering a formula to calculate FairShare per app like: {code:java} foreach user: if(tq.leafqueue.getUserLimit == 100) fairSharePerApp = total Queue Capacity / # of apps of that user; else fairSharePerApp = UL / # of apps of that user; {code} So, according to the above formula, Say we have a scenario with 2 users and UserLimit = 100%, User1 (UL = 100%, fairSharePerUser = 50%) * App1 (fairSharePerApp = 50%) User2 (UL = 100%, fairSharePerUser = 50%) * App2 (fairSharePerApp = 25%) * App3 (fairSharePerApp = 25%) Do you see any shortcomings in this formula or can suggest better ways of handling multiple user issue? I would really appreciate it :) cc: [~sunilg] [~wangda] was (Author: ananyo_rao): Hi [~epayne], thank you for your earlier response. We wanted to get your suggestions on better handling multiple user cases. Currently, we are considering a formula to calculate FairShare per app like: {code:java} fairSharePerUser = total Queue Capacity / # of users foreach user: if(tq.leafqueue.getUserLimit == 100) fairSharePerApp = fairSharePerUser / # of apps of that user; else fairSharePerApp = UL / # of apps of that user; {code} So, according to the above formula, Say we have a scenario with 2 users and UserLimit = 100%, User1 (UL = 100%, fairSharePerUser = 50%) * App1 (fairSharePerApp = 50%) User2 (UL = 100%, fairSharePerUser = 50%) * App2 (fairSharePerApp = 25%) * App3 (fairSharePerApp = 25%) Do you see any shortcomings in this formula or can suggest better ways of handling multiple user issue? I would really appreciate it :) cc: [~sunilg] [~wangda] > Fair sharing intra-queue preemption support in Capacity Scheduler > - > > Key: YARN-10559 > URL: https://issues.apache.org/jira/browse/YARN-10559 > Project: Hadoop YARN > Issue Type: Improvement > Components: capacityscheduler >Affects Versions: 3.1.4 >Reporter: VADAGA ANANYO RAO >Assignee: VADAGA ANANYO RAO >Priority: Major > Attachments: FairOP_preemption-design_doc_v1.pdf, > FairOP_preemption-design_doc_v2.pdf, YARN-10559.0001.patch, > YARN-10559.0002.patch, YARN-10559.0003.patch, YARN-10559.0004.patch, > YARN-10559.0005.patch, YARN-10559.0006.patch, YARN-10559.0007.patch, > YARN-10559.0008.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Usecase: > Due to the way Capacity Scheduler preemption works, If a single user submits > a large application to a queue (using 100% of resources), that job will not > be preempted by future applications from the same user within the same queue. > This implies that the later applications will be forced to wait for > completion of the long running application. This prevents multiple long > running, large, applications from running concurrently. > Support fair sharing among apps while preempting applications from same queue. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Comment Edited] (YARN-10559) Fair sharing intra-queue preemption support in Capacity Scheduler
[ https://issues.apache.org/jira/browse/YARN-10559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17276904#comment-17276904 ] VADAGA ANANYO RAO edited comment on YARN-10559 at 2/5/21, 2:29 PM: --- Hi [~epayne], thank you for your earlier response. We wanted to get your suggestions on better handling multiple user cases. Currently, we are considering a formula to calculate FairShare per app like: {code:java} foreach user: if(tq.leafqueue.getUserLimit == 100) fairSharePerApp = total Queue Capacity / # of apps of that user; else fairSharePerApp = UL / # of apps of that user; {code} So, according to the above formula, Say we have a scenario with 2 users and UserLimit = 100%, User1 (UL = 100%, fairSharePerUser = 100%) * App1 (fairSharePerApp = 100%) User2 (UL = 100%, fairSharePerUser = 100%) * App2 (fairSharePerApp = 50%) * App3 (fairSharePerApp = 50%) Do you see any shortcomings in this formula or can suggest better ways of handling multiple user issue? I would really appreciate it :) cc: [~sunilg] [~wangda] was (Author: ananyo_rao): Hi [~epayne], thank you for your earlier response. We wanted to get your suggestions on better handling multiple user cases. Currently, we are considering a formula to calculate FairShare per app like: {code:java} foreach user: if(tq.leafqueue.getUserLimit == 100) fairSharePerApp = total Queue Capacity / # of apps of that user; else fairSharePerApp = UL / # of apps of that user; {code} So, according to the above formula, Say we have a scenario with 2 users and UserLimit = 100%, User1 (UL = 100%, fairSharePerUser = 50%) * App1 (fairSharePerApp = 50%) User2 (UL = 100%, fairSharePerUser = 50%) * App2 (fairSharePerApp = 25%) * App3 (fairSharePerApp = 25%) Do you see any shortcomings in this formula or can suggest better ways of handling multiple user issue? I would really appreciate it :) cc: [~sunilg] [~wangda] > Fair sharing intra-queue preemption support in Capacity Scheduler > - > > Key: YARN-10559 > URL: https://issues.apache.org/jira/browse/YARN-10559 > Project: Hadoop YARN > Issue Type: Improvement > Components: capacityscheduler >Affects Versions: 3.1.4 >Reporter: VADAGA ANANYO RAO >Assignee: VADAGA ANANYO RAO >Priority: Major > Attachments: FairOP_preemption-design_doc_v1.pdf, > FairOP_preemption-design_doc_v2.pdf, YARN-10559.0001.patch, > YARN-10559.0002.patch, YARN-10559.0003.patch, YARN-10559.0004.patch, > YARN-10559.0005.patch, YARN-10559.0006.patch, YARN-10559.0007.patch, > YARN-10559.0008.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Usecase: > Due to the way Capacity Scheduler preemption works, If a single user submits > a large application to a queue (using 100% of resources), that job will not > be preempted by future applications from the same user within the same queue. > This implies that the later applications will be forced to wait for > completion of the long running application. This prevents multiple long > running, large, applications from running concurrently. > Support fair sharing among apps while preempting applications from same queue. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Comment Edited] (YARN-10559) Fair sharing intra-queue preemption support in Capacity Scheduler
[ https://issues.apache.org/jira/browse/YARN-10559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17263252#comment-17263252 ] VADAGA ANANYO RAO edited comment on YARN-10559 at 1/12/21, 11:09 AM: - Just FYI, the UT failure is not related to the code changes in this JIRA. was (Author: ananyo_rao): Just FYI, the UT failure is not related to the code changes. > Fair sharing intra-queue preemption support in Capacity Scheduler > - > > Key: YARN-10559 > URL: https://issues.apache.org/jira/browse/YARN-10559 > Project: Hadoop YARN > Issue Type: Improvement > Components: capacityscheduler >Affects Versions: 3.1.4 >Reporter: VADAGA ANANYO RAO >Assignee: VADAGA ANANYO RAO >Priority: Major > Attachments: FairOP_preemption-design_doc_v1.pdf, > FairOP_preemption-design_doc_v2.pdf, YARN-10559.0001.patch, > YARN-10559.0002.patch, YARN-10559.0003.patch, YARN-10559.0004.patch, > YARN-10559.0005.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Usecase: > Due to the way Capacity Scheduler preemption works, If a single user submits > a large application to a queue (using 100% of resources), that job will not > be preempted by future applications from the same user within the same queue. > This implies that the later applications will be forced to wait for > completion of the long running application. This prevents multiple long > running, large, applications from running concurrently. > Support fair sharing among apps while preempting applications from same queue. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Comment Edited] (YARN-10559) Fair sharing intra-queue preemption support in Capacity Scheduler
[ https://issues.apache.org/jira/browse/YARN-10559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17263089#comment-17263089 ] Sunil G edited comment on YARN-10559 at 1/12/21, 5:42 AM: -- [~ananyo_rao] Thanks for the efforts. Few minor comments. # Please take a look at the newly introduced 7 checkstyle warnings and help to check how many of them can be fixed. [https://ci-hadoop.apache.org/job/PreCommit-YARN-Build/457/artifact/out/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt] # In setFairShareForApps, there could be some chances for divide by 0. Let me quote those here. {code:java} int numOfAppsInQueue = tq.leafQueue.getAllApplications().size(); Resource fairShareAcrossApps = Resources.divideAndCeil( this.rc, queueReassignableResource, numOfAppsInQueue); {code} We are handling this internally. but still, it's better to add a check. # It's better to ensure two points here. We should get a non-negative resource and its better to check & ensurefairShareForApp cannot be 0 {code:java} Resource fairShareForApp = Resources.min( rc, clusterResource, fairShareAcrossApps, fairShareWithinUL);{code} was (Author: sunilg): [~ananyo_rao] Thanks for the efforts. Few minor comments. # Please take a look at the newly introduced 7 checkstyle warnings and help to check how many of them can be fixed. [https://ci-hadoop.apache.org/job/PreCommit-YARN-Build/457/artifact/out/diff-checkstyle-hadoop-yarn-project_hadoop-yarn_hadoop-yarn-server_hadoop-yarn-server-resourcemanager.txt] # In setFairShareForApps, there could be some chances for divide by 0. Let me quote those here. {code:java} int numOfAppsInQueue = tq.leafQueue.getAllApplications().size(); Resource fairShareAcrossApps = Resources.divideAndCeil( this.rc, queueReassignableResource, numOfAppsInQueue); {code} We are handling this internally. but still, it's better to add a check. # It's better to ensure two points here. We should get a non-negative resource and its better to check & ensurefairShareForApp cannot be 0 {code:java} Resource fairShareForApp = Resources.min( rc, clusterResource, fairShareAcrossApps, fairShareWithinUL);{code} > Fair sharing intra-queue preemption support in Capacity Scheduler > - > > Key: YARN-10559 > URL: https://issues.apache.org/jira/browse/YARN-10559 > Project: Hadoop YARN > Issue Type: Improvement > Components: capacityscheduler >Affects Versions: 3.1.4 >Reporter: VADAGA ANANYO RAO >Assignee: VADAGA ANANYO RAO >Priority: Major > Attachments: FairOP_preemption-design_doc_v1.pdf, > FairOP_preemption-design_doc_v2.pdf, YARN-10559.0001.patch, > YARN-10559.0002.patch, YARN-10559.0003.patch, YARN-10559.0004.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Usecase: > Due to the way Capacity Scheduler preemption works, If a single user submits > a large application to a queue (using 100% of resources), that job will not > be preempted by future applications from the same user within the same queue. > This implies that the later applications will be forced to wait for > completion of the long running application. This prevents multiple long > running, large, applications from running concurrently. > Support fair sharing among apps while preempting applications from same queue. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org
[jira] [Comment Edited] (YARN-10559) Fair sharing intra-queue preemption support in Capacity Scheduler
[ https://issues.apache.org/jira/browse/YARN-10559?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17262813#comment-17262813 ] Wangda Tan edited comment on YARN-10559 at 1/11/21, 5:21 PM: - Removed fix version of the Jira. (We should only set it when patch got committed). was (Author: wangda): Removed fix version of the Jira. > Fair sharing intra-queue preemption support in Capacity Scheduler > - > > Key: YARN-10559 > URL: https://issues.apache.org/jira/browse/YARN-10559 > Project: Hadoop YARN > Issue Type: Improvement > Components: capacityscheduler >Affects Versions: 3.1.4 >Reporter: VADAGA ANANYO RAO >Assignee: VADAGA ANANYO RAO >Priority: Major > Attachments: FairOP_preemption-design_doc_v1.pdf, > FairOP_preemption-design_doc_v2.pdf, YARN-10559.0001.patch, > YARN-10559.0002.patch, YARN-10559.0003.patch, YARN-10559.0004.patch > > Original Estimate: 168h > Remaining Estimate: 168h > > Usecase: > Due to the way Capacity Scheduler preemption works, If a single user submits > a large application to a queue (using 100% of resources), that job will not > be preempted by future applications from the same user within the same queue. > This implies that the later applications will be forced to wait for > completion of the long running application. This prevents multiple long > running, large, applications from running concurrently. > Support fair sharing among apps while preempting applications from same queue. -- This message was sent by Atlassian Jira (v8.3.4#803005) - To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org