You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@yunikorn.apache.org by "Chenya Zhang (Jira)" <ji...@apache.org> on 2021/08/27 21:00:00 UTC
[jira] [Updated] (YUNIKORN-830) Node sorting need to support
"preferredDuringScheduling" node affinity
[ https://issues.apache.org/jira/browse/YUNIKORN-830?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Chenya Zhang updated YUNIKORN-830:
----------------------------------
Description:
YuniKorn scheduler is able to allocate pods based on the node affinity policy "requiredDuringScheduling", but not "preferredDuringScheduling" yet.
YuniKorn currently does a full node sorting every time. After [https://github.com/apache/incubator-yunikorn-core/pull/307], we will do sorting incrementally with an ordered B-tree. It can make scheduling different pods to preferred nodes a bit complicated.
Discussed with [~cheersyang] [~yuchaoran2011] for a potential solution:
* Parse node label’s from the shim and send that to the core over SI (via node attributes).
* Parse the pod node-affinity preference in the shim and send that to the core.
* Implement something in GetSchedulableNodeIterator().. today we directly retrieve nodes from btree with asce order; we still loop the nodes once, but keep 2 list, one for preferred nodes; when we iterate nodes in the scheduling cycle, we iterate the preferred list first.
Adding [~wilfreds] [~kmarton] for more discussion too.
Slack discussion: [https://yunikornworkspace.slack.com/archives/CL9CRJ1KM/p1630088069009500]
was:
YuniKorn scheduler is able to allocate pods based on the node affinity policy "requiredDuringScheduling", but not "preferredDuringScheduling" yet.
YuniKorn currently does a full node sorting every time. After [https://github.com/apache/incubator-yunikorn-core/pull/307], we will do sorting incrementally with an ordered B-tree. It can make scheduling different pods to preferred nodes a bit complicated.
Discussed with [~cheersyang] [~yuchaoran2011] for a potential solution:
* Parse node label’s from the shim and send that to the core over SI (via node attributes).
* Parse the pod node-affinity preference in the shim and send that to the core.
* Implement something in GetSchedulableNodeIterator().. today we directly retrieve nodes from btree with asce order; we still loop the nodes once, but keep 2 list, one for preferred nodes; when we iterate nodes in the scheduling cycle, we iterate the preferred list first.
Adding [~wilfreds] [~kmarton] for more discussion too.
> Node sorting need to support "preferredDuringScheduling" node affinity
> ----------------------------------------------------------------------
>
> Key: YUNIKORN-830
> URL: https://issues.apache.org/jira/browse/YUNIKORN-830
> Project: Apache YuniKorn
> Issue Type: New Feature
> Components: core - scheduler
> Reporter: Chenya Zhang
> Assignee: Chenya Zhang
> Priority: Major
>
> YuniKorn scheduler is able to allocate pods based on the node affinity policy "requiredDuringScheduling", but not "preferredDuringScheduling" yet.
> YuniKorn currently does a full node sorting every time. After [https://github.com/apache/incubator-yunikorn-core/pull/307], we will do sorting incrementally with an ordered B-tree. It can make scheduling different pods to preferred nodes a bit complicated.
> Discussed with [~cheersyang] [~yuchaoran2011] for a potential solution:
> * Parse node label’s from the shim and send that to the core over SI (via node attributes).
> * Parse the pod node-affinity preference in the shim and send that to the core.
> * Implement something in GetSchedulableNodeIterator().. today we directly retrieve nodes from btree with asce order; we still loop the nodes once, but keep 2 list, one for preferred nodes; when we iterate nodes in the scheduling cycle, we iterate the preferred list first.
> Adding [~wilfreds] [~kmarton] for more discussion too.
> Slack discussion: [https://yunikornworkspace.slack.com/archives/CL9CRJ1KM/p1630088069009500]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@yunikorn.apache.org
For additional commands, e-mail: issues-help@yunikorn.apache.org