Synthesizing Cluster Management Code for Distributed Systems

Lalith Suresh, João Loff, Nina Narodytska, Leonid Ryzhyk, Mooly Sagiv, Brian Oki

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


Management planes for data-center systems are complicated to develop, test, maintain, and evolve. They routinely grapple with hard combinatorial optimization problems like load balancing, placement, scheduling, rolling upgrades and configuration management. To tackle these problems, developers are left with two bad choices: (i) develop ad-hoc mechanisms for systems to solve these optimization problems, or (ii) use specialized solvers that require steep engineering effort. We propose Weave, a tool that enables programmers to specify cluster management policies in a high-level declarative language, and compute policy-compliant configurations automatically and efficiently. Weave allows constraints and policies, the essence of a management plane, to be easily added, removed and modified over time, using a language familiar to developers (SQL). In this paper, we discuss our approach of management plane synthesis, its benefits, and present preliminary results from implementing a Kubernetes scheduler and a CorfuDB management plane using Weave.

Original languageEnglish
Title of host publicationProceedings of the Workshop on Hot Topics in Operating Systems, HotOS 2019
PublisherAssociation for Computing Machinery, Inc
Number of pages6
ISBN (Electronic)9781450367271
StatePublished - 12 May 2019
Externally publishedYes
Event2019 Workshop on Hot Topics in Operating Systems, HotOS 2019 - Bertinoro, Italy
Duration: 13 May 201915 May 2019

Publication series

NameProceedings of the Workshop on Hot Topics in Operating Systems, HotOS 2019


Conference2019 Workshop on Hot Topics in Operating Systems, HotOS 2019


  • SQL
  • constraint programming
  • declarative cluster management
  • distributed systems


Dive into the research topics of 'Synthesizing Cluster Management Code for Distributed Systems'. Together they form a unique fingerprint.

Cite this