Facoltà di scienze informatiche

Kriging-based self-adaptive controllers for the cloud

Gambi, Alessio ; Pezzè, Mauro (Dir.)

Thèse de doctorat : Università della Svizzera italiana, 2012 ; 2012INFO008.

We propose Kriging-based self-adaptive controllers to manage the allocation of resources to computing systems that need to provide guarantees on their quality of service at runtime while minimizing running costs. Service providers need to adjust the configurations of their systems and the re- sources allocated to them to maintain an acceptable level of service at runtime despite fluctuations... Plus

Ajouter à la liste personnelle
    Summary
    We propose Kriging-based self-adaptive controllers to manage the allocation of resources to computing systems that need to provide guarantees on their quality of service at runtime while minimizing running costs. Service providers need to adjust the configurations of their systems and the re- sources allocated to them to maintain an acceptable level of service at runtime despite fluctuations in the workload, dynamisms of the environment, and other unexpected events. If unsuitably configured, systems may misbehave, saturate, and violate the service level agreement that are stipulated with end-users, leading to penalties, financial losses and damage to service providers’ reputation. Static system configurations are limited by the strong assumptions on the runtime system behavior and working conditions, and in general lead to either system over-provisioning (i.e., too expensive), or under-provisioning (i.e., too many violations). Fixed adaptation strategies that are commonly based on thresholds and rules, can deal well with simple systems and expected workload fluctuations, but are limited because they require experts for their setup, do not generally adapt, and do not scale well with system complexity. Self- adaptive controllers based on models can deal with predicted and unpredicted working conditions and can adapt. Among them, controllers based on white-box models require the knowledge of systems internal to work properly, but that may be too difficult or even impossible to gather, thus resulting in a limited applicability or in poor accuracy of the models. On the contrary, controllers based on black-box models that are built from monitoring data of running systems are applicable to a wider set of systems. Among the alternative black-box models, we choose to adopt Kriging models as core elements for model-based self-adaptive controllers. Our choice is motivated by several reasons: (i) Kriging models are accurate in capturing the behavior of running systems; (ii) they are robust against noise and inaccuracy of monitoring data, make predictions in a timely fashion, and can be retrained on-line with negligible overhead; (iii) they are based on a solid theory that extends traditional regression with statistical scaffoldings and that enables them to pair confidence measures with predictions; (iv) they can be used to design effective and efficient proactive controllers that account for uncertainty while planning their control actions. We apply Kriging-based controllers in the domain of Clouds, in particular, at the infrastructure level. Clouds offer the technical means to dynamically allocate and deallocate virtual machines thus enabling system elasticity that controllers leverage to maintain acceptable system performances while minimizing costs (i.e., the amount of running virtual machines). Through an experimental validation, we show that Kriging models are accurate, fast and flexible enough to be used inside model-based self-adaptive controllers for the Cloud. The accuracy of Kriging models is comparable to the one of other complex models, but Kriging models are faster to train, easier to manage, and more scalable with system complexity. We compare our proactive controllers based on Kriging models against state-of-the-art solutions and we conclude that our controllers are efficient, effective and more generally applicable than the other considered solutions.