-
Notifications
You must be signed in to change notification settings - Fork 40k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[scheduler] Improve Handling of Node Status #125345
Comments
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
I personally prefer this approach. This seems to be sufficient and the changes are relatively small. |
We cannot take this way, UnschedulableAndUnresolvable has the meaning only to plugin(s) that do preemption-ish stuff. |
Ah right. We have already changed current behaviour to not set |
Still, the preemption plugin could exit early if can tell that all nodes where UnschedulableAndUnresolvable |
/assign |
@YamasouA this is not a task that is friendly to newcomers. Do you have experience writing code for the scheduler? Or perhaps you have someone that can mentor you already? |
No worries Aldo, I'm with them. |
I have been experimenting with these improvements over the past two weeks (#125954). Unfortunately, I forgot to assign myself to the issue, my bad. Nevertheless, the PR addresses only the "current problems" part of the improvements. I think the lightweight |
What would you like to be added?
This issue is to track follow-ups from #125197, which addressed a performance issue related to the NodeToStatusMap. There are latent issues which we would like to address to prevent future regressions. We can either improve NodeToStatusMap to support some of the below operations more efficiently, or come up with different way to propagate these statuses through the scheduler.
current problems:
other considerations:
NodeKey
type, which, for a scheduling cycle, references an existing node. This type should be cheap to hash (+allow lookup in flat data structure), and is safer than string node name, as it is guaranteed to reference a valid node.UnschedulableAndUnresolvable
. at least, we should reconcile the documented behavior here and here and here/sig scheduling
Why is this needed?
The current implementation includes some operations which may cause future performance regression. Additionally, there is some room for simplification.
The text was updated successfully, but these errors were encountered: