Synthesizing Cluster Management Code for Distributed Systems

Synthesizing Cluster Management Code for Distributed Systems
复制标题

综合分布式系统的集群管理代码

DOI:
--
复制
发表时间:
2019
期刊:
USENIX Workshop on Hot Topics in Operating Systems
影响因子:
--
通讯作者:
B. Oki
B. Oki
中科院分区:
--
文献类型:
--
作者:
L. Suresh;João Loff;Nina Narodytska;L. Ryzhyk;Shmuel Sagiv;B. Oki

文献摘要

被引文献

相似文献

数据中心系统的管理平面的开发、测试、维护和发展都很复杂。他们通常会处理一些困难的组合优化问题,如负载平衡、布局、调度、滚动升级和配置管理。为了解决这些问题,开发人员面临两个糟糕的选择:(i)为系统开发专门的机制来解决这些优化问题,或者(ii)使用需要大量工程工作的专业求解器。我们提出编织,一个工具,使程序员能够指定集群管理策略在一个高层次的声明性语言,并自动和有效地计算符合政策的配置。Weave允许使用开发人员熟悉的语言(SQL)随着时间的推移轻松添加、删除和修改约束和策略(管理平面的本质)。在本文中,我们讨论了我们的管理平面合成方法及其好处,并展示了使用Weave实现Kubernetes调度器和CorfuDB管理平面的初步结果。
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.