Coordinating self-sizing and self-repair managers for multi-tier systems
Résumé
Computing systems have become more and more distributed and heterogeneous, making their manual administration difficult and error-prone. The Autonomic Computing approach has been proposed to overcome this issue, by automating the administration of computing systems with the help of control loops called autonomic managers. Many research works have investigated the automation of the administration functions of computing systems and today many autonomic managers are available. However the existing autonomic manages are mostly specialized in the management of few administration concerns such as self-repair which handles server failures, and self-sizing which deals with dynamic server allocation. This makes necessary the coexistence of multiple autonomic managers for a complete system management. The coexistence of several such managers is required to handle multiple concerns, yet requires coordination mechanisms to avoid incoherent administration decisions. We investigate the use of control techniques for the design of coordination controllers, for which we exercise synchronous programming that provide formal semantics, and discrete controller synthesis to automate the construction of the controller. The paper details an application of the latter approach for the design of a coordination controller to orchestrate the execution of four self-repair and two self-sizing managers that address the availability and performance of a multi-tier replication-based system. We evaluate and demonstrate the benefits of our coordination solution by executing the RUBiS Benchmark web application.