Building Scalable and Flexible Cluster Managers Using Declarative Programming
Lalith Suresh, João Loff, Faria Kalim, Sangeetha Abdu Jyothi, Nina Narodytska, Leonid Ryzhyk, Sahan Gamage, Brian Oki, Pranshu Jain, Michael Gasch
Abstract
Cluster managers like Kubernetes and OpenStack are notoriously hard to develop, given that they routinely grapple with hard combinatorial optimization problems like load balancing, placement, scheduling, and configuration. Today, cluster manager developers tackle these problems by developing system-specific best effort heuristics, which achieve scalability by significantly sacrificing the cluster manager's decision quality, feature set, and extensibility over time. This is proving untenable, as solutions for cluster management problems are routinely developed from scratch in the industry to solve largely similar problems across different settings.
We propose DCM, a radically different architecture where developers specify the cluster manager's behavior declaratively, using SQL queries over cluster state stored in a relational database. From the SQL specification, the DCM compiler synthesizes a program that, at runtime, can be invoked to compute policy-compliant cluster management decisions given the latest cluster state. Under the covers, the generated program efficiently encodes the cluster state as an optimization problem that can be solved using off-the-shelf solvers, freeing developers from having to design ad-hoc heuristics.
We show that DCM significantly lowers the barrier to building scalable and extensible cluster managers. We validate our claim by powering three production-grade systems with it: a Kubernetes scheduler, a virtual machine management solution, and a distributed transactional datastore.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext fe758c27-608e-443b-a88e-00026be578d0Cited by top-tier papers12
- Solving Large-Scale Granular Resource Allocation Problems Efficiently with POPDeepak Narayanan, Fiodar Kazhamiaka, Firas Abuzaid, Peter Kraft et al.SOSP 2021 · 56 citations
- STRATUS: A Multi-agent System for Autonomous Reliability Engineering of Modern CloudsYinfang Chen, Jiaqi Pan, Jackson Clark, Yiming Su et al.NeurIPS 2025 · 35 citations
- DBOS: A DBMS-oriented Operating SystemAthinagoras Skiadopoulos, Qian Li, Peter Kraft, Kostis Kaffes et al.VLDB 2022 · 31 citations
- RAS: Continuously Optimized Region-Wide Datacenter Resource AllocationAndrew Newell, Dimitrios Skarlatos, Jingyuan Fan, Pavan Kumar et al.SOSP 2021 · 19 citations
- Acto: Automatic End-to-End Testing for Operation Correctness of Cloud System ManagementJiawei Tyler Gu, Xudong Sun, Wentao Zhang, Yuxuan Jiang et al.SOSP 2023 · 17 citations
Related papers
- Scaling a Declarative Cluster Manager Architecture with Query Optimization TechniquesKexin Rong, Mihai Budiu, Athinagoras Skiadopoulos, Lalith Suresh et al.VLDB 2023 · 3 citations
- Solver-In-The-Loop Cluster Resource Management for Database-as-a-ServiceArnd Christian König, Yi Shan, Karan Newatia, Luke Marshall et al.VLDB 2023 · 9 citations
- Kivi: Verification for Cluster ManagementBingzhe Liu, Gangmuk Lim, Ryan Beckett, Philip Brighten GodfreyUSENIX ATC 2024 · 6 citations
- Automatic Reliability Testing For Cluster Management ControllersXudong Sun, Wenqing Luo, Jiawei Tyler Gu, Aishwarya Ganesan et al.OSDI 2022 · 44 citations
- SelfTune: Tuning Cluster ManagersAjaykrishna Karthikeyan, Nagarajan Natarajan, Gagan Somashekar, Lei Zhao et al.NSDI 2023 · 30 citations
