[
https://issues.apache.org/jira/browse/YUNIKORN-3459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Wilfred Spiegelenburg updated YUNIKORN-3459:
--------------------------------------------
Fix Version/s: (was: 1.6.0)
Target Version: 1.11.0
> [Core] Decouple ask queue quota accounting from victim sizes in
> calculateVictimsByNode
> --------------------------------------------------------------------------------------
>
> Key: YUNIKORN-3459
> URL: https://issues.apache.org/jira/browse/YUNIKORN-3459
> Project: Apache YuniKorn
> Issue Type: Improvement
> Components: core - scheduler
> Reporter: Hedger Lai
> Assignee: Hedger Lai
> Priority: Major
>
> In {{calculateVictimsByNode()}} ({{preemption.go}}), which evaluates
> candidate victims on a single node, the scheduler accumulates the victim's
> full resource size against {{askQueue}}:
> {code:go}
> askQueueRemaining := askQueue.GetRemainingGuaranteedResource()
> if askQueueRemaining != nil &&
> askQueueRemaining.FitInActual(victim.GetAllocatedResource()) {
> askQueue.AddAllocation(victim.GetAllocatedResource())
> } else {
> queueSnapshot.AddAllocation(victim.GetAllocatedResource())
> break
> }
> {code}
> However, preempting a victim only allocates the preemptor ask's required
> resources, not the victim's raw size. Charging victim sizes against
> {{askQueue}} incorrectly rejects viable candidates on the node when a
> victim's size exceeds {{askQueueRemaining}} (e.g., an 8 CPU victim for a 2
> CPU ask when {{askQueueRemaining}} is 2 CPU).
> Single-node evaluation should focus strictly on physical node capacity and
> victim queue limits. Cluster-wide ask queue quota preemption belongs to
> {{calculateAdditionalVictims()}}.
> h3. Proposed Fix
> Decouple {{askQueue}} quota accounting from {{calculateVictimsByNode()}} so
> candidate victims are not rejected based on their raw size exceeding
> {{askQueueRemaining}}.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]