Skip to content
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

[Feature] [Alpha] Application Priority and Preemption #5961

Open
11 tasks
RainbowMango opened this issue Dec 17, 2024 · 7 comments
Open
11 tasks

[Feature] [Alpha] Application Priority and Preemption #5961

RainbowMango opened this issue Dec 17, 2024 · 7 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Milestone

Comments

@RainbowMango
Copy link
Member

RainbowMango commented Dec 17, 2024

Summary
Currently, the karmada-scheduler operates based on a First-In-First-Out scheduling order. In some real-world scenarios, like AI training, some jobs are more critical than others and require preferential treatment in terms of scheduling and resource allocation.

We need the feature to enable users to specify the importance of an application. Applications with higher priority are scheduled ahead of other applications with lower priority. When member clusters do not have enough capacity for running a high priority application, the scheduler preempts and removes lower priority applications in order to make room for the high priority application.

Proposal:

Author:

References:

Iteration Tasks -- Part-1: Scheduling based on application priority:

Iteration Tasks -- Part-2: Preemption in case of member clusters lack of capacity:

  • API change: Introduce preemptionPolicy to ResourceBinding
  • TBD

Welcome Join us
If anyone is interested in this feature or would like to participate in its development, please leave a comment in this issue to claim the task you are interested in.

Note that this feature is still under discussion, and the listed iteration tasks might be subject to change.

@RainbowMango RainbowMango added the kind/feature Categorizes issue or PR as related to a new feature. label Dec 17, 2024
@RainbowMango RainbowMango added this to the v1.13 milestone Dec 17, 2024
@RainbowMango RainbowMango moved this to Planned In Release 1.13 in Karmada Overall Backlog Dec 17, 2024
@seanlaii
Copy link
Contributor

seanlaii commented Dec 18, 2024

Hi @RainbowMango , I can take the first two tasks first. Thank you so much for this!
Also, for the second task, we might need to add preemptionPolicy in the resourceBinding as well.

@RainbowMango
Copy link
Member Author

Sure thanks. Assigned and updated.
By the way, do you know Yifan's GitHub handle? He is the co-author of this proposal, right?

@whitewindmills
Copy link
Member

@RainbowMango
in the part-I, we don't need any feature gates.

@whitewindmills
Copy link
Member

I have already implemented a priority queue demo, so I will continue to work on it. please assign it to me.
/assign
/assign @seanlaii

@RainbowMango
Copy link
Member Author

@RainbowMango in the part-I, we don't need any feature gates.

Not sure about it yet. We probably need a feature gate to isolate the changes. Let's keep it on the list for now.

@seanlaii
Copy link
Contributor

Sure thanks. Assigned and updated.

By the way, do you know Yifan's GitHub handle? He is the co-author of this proposal, right?

Yes, this is his github: https://github.com/zclyne. Thank you!

@zhzhuang-zju
Copy link
Contributor

webhook: Introduce validation to restrict PriorityClass modification

I'm quite interested in this task. If no one else claims it, I can be assigned it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature.
Projects
Status: Planned In Release 1.13
Development

No branches or pull requests

4 participants