Fuzzy Self-Learning Controllers for Elasticity Management in Dynamic Cloud Architectures

Cloud controllers support the operation and quality management of dynamic cloud architectures by automatically scaling the compute resources to meet performance guarantees and minimize resource costs. Existing cloud controllers often resort to scaling strategies that are codified as a set of architecture adaptation rules. However, for a cloud provider, deployed application architectures are black-boxes, making it difficult at design time to define optimal or pre-emptive adaptation rules. Thus, the burden of taking adaptation decisions often is delegated to the cloud application. We propose the dynamic learning of adaptation rules for deployed application architectures in the cloud. We introduce FQL4KE, a self-learning fuzzy controller that learns and modifies fuzzy rules at runtime. The benefit is that we do not have to rely solely on precise design-time knowledge, which may be difficult to acquire. FQL4KE empowers users to configure cloud controllers by simply adjusting weights representing priorities for architecture quality instead of defining complex rules. FQL4KE has been experimentally validated using the cloud application framework ElasticBench in Azure and OpenStack. The experimental results demonstrate that FQL4KE outperforms both a fuzzy controller without learning and the native Azure auto-scaling.

[1]  Sam Malek,et al.  Ieee Transactions on Software Engineering 1 a Learning-based Framework for Engineering Feature-oriented Self-adaptive Software Systems , 2022 .

[2]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[3]  Richard S. Sutton,et al.  Introduction to Reinforcement Learning , 1998 .

[4]  Enda Barrett,et al.  Applying reinforcement learning towards automating resource allocation and application scalability in the cloud , 2013, Concurr. Comput. Pract. Exp..

[5]  Jeffrey O. Kephart,et al.  The Vision of Autonomic Computing , 2003, Computer.

[6]  Claus Pahl,et al.  Software Architecture for the Cloud - A Roadmap Towards Control-Theoretic, Model-Based Cloud Architecture , 2015, ECSA.

[7]  Eunseok Lee,et al.  Model-based reinforcement learning approach for planning in self-adaptive software system , 2015, IMCOM.

[8]  P. Glorennec,et al.  Fuzzy Q-learning , 1997, Proceedings of 6th International Fuzzy Systems Conference.

[9]  Thomas Vogel,et al.  Software Engineering Meets Control Theory , 2015, 2015 IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems.

[10]  Valérie Issarny,et al.  Dynamic decision networks for decision-making in self-adaptive systems: A case study , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[11]  Samuel Kounev,et al.  Model-Based Autonomic and Performance-Aware System Adaptation in Heterogeneous Resource Environments: A Case Study , 2015, 2015 International Conference on Cloud and Autonomic Computing.

[12]  Erik Elmroth,et al.  Self-adaptation Challenges for Cloud-based Applications: A Control Theoretic Perspective , 2015 .

[13]  Richard N. Taylor,et al.  Policy-based self-adaptive architectures: a feasibility study in the robotics domain , 2008, SEAMS '08.

[14]  Claus Pahl,et al.  Autonomic resource provisioning for cloud-based software , 2014, SEAMS 2014.

[15]  Parijat Dube,et al.  Adaptive, Model-driven Autoscaling for Cloud Applications , 2014, ICAC.

[16]  Rajarshi Das,et al.  Utility functions in autonomic systems , 2004, International Conference on Autonomic Computing, 2004. Proceedings..

[17]  Jeff Magee,et al.  From goals to components: a combined approach to self-management , 2008, SEAMS '08.

[18]  Sooyong Park,et al.  Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software , 2009, 2009 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems.

[19]  Erik Elmroth,et al.  A hybrid cloud controller for vertical memory elasticity: A control-theoretic approach , 2016, Future Gener. Comput. Syst..

[20]  Cheng-Zhong Xu,et al.  Coordinated Self-Configuration of Virtual Machines and Appliances Using a Model-Free Learning Approach , 2013, IEEE Transactions on Parallel and Distributed Systems.

[21]  Asser N. Tantawi,et al.  An analytical model for multi-tier internet services and its applications , 2005, SIGMETRICS '05.

[22]  Xiaobo Zhou,et al.  Autonomic Provisioning with Self-Adaptive Neural Fuzzy Control for Percentile-Based Delay Guarantee , 2013, TAAS.

[23]  Sam Malek,et al.  FUSION: a framework for engineering self-tuning self-adaptive software systems , 2010, FSE '10.

[24]  Giovanni Toffetti Carughi,et al.  Kriging-Based Self-Adaptive Cloud Controllers , 2016, IEEE Transactions on Services Computing.

[25]  Ladan Tahvildari,et al.  Adaptive Action Selection in Autonomic Software Using Reinforcement Learning , 2008, Fourth International Conference on Autonomic and Autonomous Systems (ICAS'08).

[26]  Marco Aurélio Stelmar Netto,et al.  Evaluating Auto-scaling Strategies for Cloud Computing Environments , 2014, 2014 IEEE 22nd International Symposium on Modelling, Analysis & Simulation of Computer and Telecommunication Systems.

[27]  José Antonio Lozano,et al.  A Review of Auto-scaling Techniques for Elastic Applications in Cloud Environments , 2014, Journal of Grid Computing.