16 research outputs found
Automated planning for cloud service configurations
The declarative approach has been widely accepted as an appropriate way to manage configurations of large scale systems – the administrators describe the specification
of the “desired” configuration state of the system, and the tool computes and executes
the necessary actions to bring the system from its current state into this desired state. However, none of state-of-the-art declarative configuration tools make any guarantees
about the order of the changes across the system involved in implementing configuration changes.
This thesis presents a technique that addresses this issue – it uses the SFP language to allow administrators to specify the desired configuration state and the global
constraints of the system, compiles the specified reconfiguration task into a classical
planning problem, and then uses an automated planning technique to automatically
generate the workflow. The execution of the workflow can bring the system into the desired state, while preserving the global constraints during configuration changes.
This thesis also presents an alternative approach to deploy the configurations – the
workflow is used to automatically choreograph a set of reactive agents which are capable to autonomously reconfigure a computing system into a specified desired state.
The agent interactions are guaranteed to be deadlock/livelock free, can preserve pre-specified global constraints during their execution, and automatically maintain the desired state once it has been achieved (self-healing).
We present the formal semantics of SFP language, the technique that compiles SFP
reconfiguration tasks to classical planning problems, and the algorithms for automatic
generation and execution of the reactive agent models. In addition, we also present
the formal semantics of core subset of SmartFrog language which is the foundation
of SFP. Moreover, we present a domain-independent technique to compile a planning problem with extended goals into a classical planning problem.
As a proof of concept, the techniques have been implemented in a prototype configuration tool called Nuri, which has been used to configure typical use-cases in cloud
environment. The experiment results demonstrate that the Nuri is capable of planning and deploying the configurations in a reasonable time, with guaranteed constraints on
the system throughout reconfiguration process