Introduction

Weave makes it easy for developers to build complex cluster managers by harnessing the power of constraint solving technologies through SQL.

Summary

Modern cluster management systems like Kubernetes and Openstack grapple with hard combinatorial optimization problems: load balancing, placement, scheduling, and configuration. Currently, developers tackle these problems by designing custom application-specific algorithms---an approach that is proving unsustainable, as ad-hoc solutions both perform poorly and introduce overwhelming complexity to the system, making it challenging to add important new features.

We propose a radically different architecture, where programmers drive cluster management tasks declaratively, using SQL queries over cluster state stored in a relational database. These queries capture in a natural way both constraints on the cluster configuration as well as optimization objectives. When a cluster reconfiguration is required at runtime, our tool, called Weave, synthesizes an encoding of these queries into an optimization model, which it solves using an off-the-shelf solver.

Researchers

External Researchers

  • Brian Oki
  • Mukesh Hira
  • Sahan Gamage
  • Zeeshan Lokhandwala

Related Publications

Category

  • Active VMW Software Systems Projects