-
Notifications
You must be signed in to change notification settings - Fork 299
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
Workload priority #973
Comments
@Gekko0114 do you want to take this? |
@alculquicondor |
One important question is whether we need our own PriorityClass object. The KEP could reflect the advantages and disadvantages. The easiest starting point would be just to have a numerical value as a job annotation that is reflected as a numerical field in the Workload object. |
Thanks for your explanation! |
Have we considered adding a job priority to batchv1.Job, it sounds more reasonable. And the job priority could be inherited by the pod.
Prefer to reuse the PriorityClass, IMHO, we should not invent too many concepts since we're working with the upstream, and I think it's ok to change the priority value inside kueue based on the policies. |
I initially thought this could be a good idea. But from my experience, different organizations have wildly different ideas of how priority policies should work. Another alternative would be to look at existing policies in other systems and see if they make sense for Kueue. |
+1 on this feature. Currently, some proposals are submitted for the kueue scheduling order. Once this feature is supported, I think we can simplify those features. |
Another question about |
That is generally true, but less relevant in an environment with autoscaling. |
I think it's better to create a new priority class for |
Once the directions regarding
I think it's OK using workload priority for Preemption calculations in Kueue. In fact, when calculating preemption in Kueue, it seems we are already using the priority of running workloads. kueue/pkg/scheduler/preemption/preemption.go Line 225 in 913d536
Please correct me if I misunderstood |
My thinking is that different organisations might want to have different "PriorityClass" CRDs for their own extensions. Then, it might be nice to have a Kueue PriorityClass, but it should be rather simple. The fields should be:
Regarding the preemption discussion, I think it's ok to have a numeric priority for Kueue that is different from kube-scheduler's priority. We should document the risks of pod preemption to users. We can also point users to create PriorityClasses for their pods that are non-preempting https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#non-preempting-priority-class |
I see. Thanks for your inputs! |
/assign |
What would you like to be added:
A priority that is independent from Pod priority.
The priority value should be part of the Workload spec and be mutable.
The jobs can express the priority via an annotation. A PriorityClass could be used to give pre-determined values.
#884 goes along these lines.
Why is this needed:
Tying a Job queueing priority to Pod priority could be problematic as the latter is also tied to Pod preemption.
Completion requirements:
This enhancement requires the following artifacts:
The artifacts should be linked in subsequent comments.
The text was updated successfully, but these errors were encountered: