You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Hedger Lai (Jira)" <ji...@apache.org> on 2026/10/07 17:49:00 UTC
[jira] [Created] (YUNIKORN-3499) [Core] Exempt shared ancestors in QueuePreemptionSnapshot.GetPreemptableResource for sibling preemption
Hedger Lai created YUNIKORN-3499:
------------------------------------
Summary: [Core] Exempt shared ancestors in QueuePreemptionSnapshot.GetPreemptableResource for sibling preemption
Key: YUNIKORN-3499
URL: https://issues.apache.org/jira/browse/YUNIKORN-3499
Project: Apache YuniKorn
Issue Type: Sub-task
Reporter: Hedger Lai
Assignee: Hedger Lai
h3. Problem
In {{{}YUNIKORN-2795{}}}, {{QueuePreemptionSnapshot.GetRemainingGuaranteedResource()}} was updated so that a parent/ancestor queue shared between the victim queue and the ask queue does not propagate its guaranteed floor down to block sibling preemption when the ask queue is starving below its own guaranteed quota.
However, the corresponding method {{QueuePreemptionSnapshot.GetPreemptableResource()}} was not updated with this shared-ancestor exemption. It unconditionally caps a victim queue's preemptable resource by {{parentPreemptableResource}} via {{{}ComponentWiseMinOnlyExisting(preemptableResource, parentPreemptableResource){}}}:
* Example: {{root.parent}} has {{{}Guaranteed = 10{}}}, {{child1}} has {{Guaranteed = 0}} (using {{{}8{}}}), and {{child2}} has {{Guaranteed = 10}} (using {{{}8{}}}, asking for {{{}2{}}}).
* {{root.parent}} total usage is {{16}} ({{{}6{}}} above {{{}root.parent{}}}'s guaranteed {{{}10{}}}).
* Even though {{child1}} is using {{8}} above its own guarantee ({{{}0{}}}) and resources stay within {{root.parent}} during sibling preemption, {{child1.GetPreemptableResource()}} is capped at {{{}min(8, 6) = 6{}}}, preventing {{child2}} from preempting an {{{}8{}}}-unit victim in {{{}child1{}}}.
h3. Proposed Fix
Align {{QueuePreemptionSnapshot.GetPreemptableResource()}} with {{GetRemainingGuaranteedResource()}} so that shared ancestors on the ask queue path do not cap the victim queue's preemptable resources during sibling preemption.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org