Declarative Constraint Optimization in Distributed Systems
Penn collection
Degree type
Discipline
Subject
Funder
Grant number
License
Copyright date
Distributor
Related resources
Author
Contributor
Abstract
In distributed systems management, operators often have to configure system parameters that optimize performance objectives given constraints in the deployment environment. This position paper 1 presents our recent work on a declarative optimization platform that enables constraint optimization problems (COP) to be declaratively specified and incrementally executed in distributed systems. Traditional approaches in implementing COPs use imperative languages like C++ [2] or Java [1]. This often results in multi-thousand lines of code, that are difficult to maintain and customize. Moreover, due to scalability issues and management constraints imposed across administrative domains, it is often necessary to execute a COP in a distributed setting, where multiple local solvers coordinate with each other and each one handles a portion of the whole problem to together achieve a global objective. Central to our optimization platform is the integration of a declarative networking [9] engine with an off-the-shelf constraint solver [2]. We have applied our platform to two use cases. First, in mesh networks, policies on wireless channel selection [7, 6] are declaratively specified and optimized, in order to reduce network interference and maximize through- put, while not violating constraints such as refraining from channels owned exclusively by the primary users. Second, in automated cloud resource orchestration [8], we use our optimization framework to declaratively control the creation, management, manipulation and decommissioning of cloud resources, in order to realize customer requests, while conforming to operational objectives of the cloud service providers at the same time. Beyond these two use cases, we envision our platform has a wide-range of potential applications, for example, optimizing distributed systems for load balancing, robust routing, scheduling, and security.