Building scalable and flexible cluster managers using declarative programming
summary
A system called Declarative Cluster Managers stores cluster state in an embedded SQL DB (H2), compiles declarative SQL constraints into Java and feeds them to Google OR-Tools CP‑SAT backend, and returns assignments (variable columns) with unsat‑core debugging. On a 500‑node Kubernetes test DCM looks at all nodes and cuts 95th‑percentile pod placement latency up to 2× versus the default sampler; a careful compiler reduces a 25s naive encoding to ~85ms for 50‑task placement.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 2:55The problem at hand
- 6:45Kubernetes scheduler workflow
- 15:04Initial placement in preemption
- 18:19Problem overview
- 19:34declarative cluster managers
- 21:34validation
- 23:44programming model
- 24:14database
- 27:49model
- 29:19model solve
- 30:49model api
- 32:19compiler
- 34:59backend
- 36:59cp solver
- 42:09cp solvers
- 46:49global constraints
- 49:09solver performance
- 50:09Why SQL
- 51:19How to build a Kubernetes schedule
- 52:34Incremental initial placement
- 55:24CPU time
related talks
30mScore-Driven Multi-Cluster Management: An Evaluation Framework for…
29mMulticluster Kubernetes Management Made Easy With Open Cluster Management
34mBuilding a Cluster Management API using Kubicorn
35mAcing Distributed Container Management
09mCODECO: AI-Driven Orchestration for Multi-Cluster Edge Deployment
41mIntroducing
06mMulti-Cluster Configuration Management With KubeStellar
31mDeclarative Underlays: Scaling Purpose-Built Infrastructure(Clusters)...
