Kubernetes Borg/Omega history topic 13: Priority and preemption. Some work is more important and/or urgent than other work. Borg represented this as an integer value: priority. A higher value meant a task was more important than a lower value, and should be able to displace it.
-
-
Borg's approach is described in the Borg paper: https://ai.google/research/pubs/pub43438 …. K8s design proposals were in https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/pod-preemption.md … and https://github.com/kubernetes/community/blob/master/contributors/design-proposals/scheduling/pod-priority-api.md …. Priority in resource quota: https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/20190409-resource-quota-ga.md …. Coscheduling:https://github.com/kubernetes/enhancements/blob/master/keps/sig-scheduling/34-20180703-coscheduling.md …
Show this thread -
Priority in Kubernetes is relatively new, and it's still evolving. For instance, there's an open proposal to add a preemption policy, https://github.com/kubernetes/enhancements/pull/1096 …, primarily to avoid preempting other pods. Borg has a similar mechanism. I'll discuss why when covering QoS
Show this thread -
Waiting for preempted pods to terminate gracefully before starting newly scheduled pods creates significant complexity in the design. The scheduler then needs to model the future state, and some controller needs to watch for the space to become before starting the new pod
Show this thread -
The complexity of priority and preemption is primarily what drove the change for the DaemonSet controller to rely on the default scheduler to bind pods to nodes, as well as the scheduler framework proposal https://github.com/kubernetes/enhancements/issues/624 …, so the code could be reused in custom schedulers
Show this thread -
I'll cover Quality of Service (QoS) and oversubscription next. Over time, priority bands in Borg (specific hardcoded integer values) came to be used as part of the determination of QoS level, for reasons I'll go into in that thread.
Show this thread
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.