Priority Matters: Optimising Kubernetes Clusters Usage with Constraint-Based Pod Packing
Henrik Daniel Christensen, Saverio Giallorenzo, Jacopo Mauro

TL;DR
This paper introduces a constraint programming-based plugin for Kubernetes' scheduler that optimally allocates pods based on priority and resources, significantly improving placement success over the default heuristics within a short scheduling window.
Contribution
It presents a novel constraint programming approach integrated into Kubernetes as a fallback scheduler to optimize pod placement considering priorities and resource constraints.
Findings
Improves placement of high-priority pods in over 44% of scenarios within 1 second.
Certifies default scheduler's placements as optimal in over 19% of cases.
Enhances placement success to over 73% with a 10-second scheduling window.
Abstract
Distributed applications employ Kubernetes for scalable, fault-tolerant deployments over computer clusters, where application components run in groups of containers called pods. The scheduler, at the heart of Kubernetes' architecture, determines the placement of pods given their priority and resource requirements on cluster nodes. To quickly allocate pods, the scheduler uses lightweight heuristics that can lead to suboptimal placements and resource fragmentation, preventing allocations of otherwise deployable pods on the available nodes. We propose the usage of constraint programming to find the optimal allocation of pods satisfying all their priorities and resource requests. Implementation-wise, our solution comes as a plug-in to the default scheduler that operates as a fallback mechanism when some pods cannot be allocated. Using the OR-Tools constraint solver, our experiments on…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCloud Computing and Resource Management · Distributed and Parallel Computing Systems · Software-Defined Networks and 5G
