Self-aware and self-adaptive autoscaling for cloud based services

Modern Internet services are increasingly leveraging on cloud computing for flexible, elastic and on-demand provision. Typically, Quality of Service (QoS) of cloud-based services can be tuned using different underlying cloud configurations and resources, e.g., number of threads, CPU and memory etc., which are shared, leased and priced as utilities. This benefit is fundamentally grounded by autoscaling: an automatic and elastic process that adapts cloud configurations on-demand according to time-varying workloads. This thesis proposes a holistic cloud autoscaling framework to effectively and seamlessly address existing challenges related to different logical aspects of autoscaling, including architecting autoscaling system, modelling the QoS of cloudbased service, determining the granularity of control and deciding trade-off autoscaling decisions. The framework takes advantages of the principles of self-awareness and the related algorithms to adaptively handle the dynamics, uncertainties, QoS interference and trade-offs on objectives that are exhibited in the cloud. The major benefit is that, by leveraging the framework, cloud autoscaling can be effectively achieved without heavy human analysis and design time knowledge. Through conducting various experiments using RUBiS benchmark and realistic workload on real cloud setting, this thesis evaluates the effectiveness of the framework based on various quality indicators and compared with other state-of-the-art approaches.

[1]  Warren S. Sarle,et al.  Neural Networks and Statistical Models , 1994 .

[2]  Autoflex: Service Agnostic Auto-scaling Framework for IaaS Deployment Models , 2013, 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing.

[3]  Moustafa Ghanem,et al.  Lightweight Resource Scaling for Cloud Applications , 2012, 2012 12th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (ccgrid 2012).

[4]  อนิรุธ สืบสิงห์,et al.  Data Mining Practical Machine Learning Tools and Techniques , 2014 .

[5]  Yudi Wei,et al.  DynaQoS: Model-free self-tuning fuzzy control of virtualized resources for QoS provisioning , 2011, 2011 IEEE Nineteenth IEEE International Workshop on Quality of Service.

[6]  Xin Yao,et al.  How well do multi-objective evolutionary algorithms scale to large problems , 2007, 2007 IEEE Congress on Evolutionary Computation.

[7]  Marin Litoiu,et al.  CloudOpt: Multi-goal optimization of application deployments across a cloud , 2011, 2011 7th International Conference on Network and Service Management.

[8]  Hanan Lutfiyya,et al.  DCSim: A data centre simulation tool , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[9]  Franz J. Hauck,et al.  CLOUDFARM: An Elastic Cloud Platform with Flexible and Adaptive Resource Management , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[10]  Quanyan Zhu,et al.  Dynamic Resource Allocation for Spot Markets in Cloud Computing Environments , 2011, 2011 Fourth IEEE International Conference on Utility and Cloud Computing.

[11]  Schahram Dustdar,et al.  LAYSI: A Layered Approach for SLA-Violation Propagation in Self-Manageable Cloud Infrastructures , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

[12]  Rami Bahsoon,et al.  Symbiotic and sensitivity-aware architecture for globally-optimal benefit in self-adaptive cloud , 2014, SEAMS 2014.

[13]  Junichi Suzuki,et al.  Evolutionary deployment optimization for service‐oriented clouds , 2011, Softw. Pract. Exp..

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

[15]  Cosimo Anglano,et al.  FC2Q: exploiting fuzzy control in server consolidation for cloud applications with SLA constraints , 2015, Concurr. Comput. Pract. Exp..

[16]  Ron Kohavi,et al.  Irrelevant Features and the Subset Selection Problem , 1994, ICML.

[17]  Samuel Kounev,et al.  Model-based self-adaptive resource allocation in virtualized environments , 2011, SEAMS '11.

[18]  Fabio Panzieri,et al.  QoS–Aware Clouds , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[19]  Bowen Zhou,et al.  Mitigating interference in cloud services by middleware reconfiguration , 2014, Middleware.

[20]  Mary Shaw,et al.  Software Engineering for Self-Adaptive Systems: A Research Roadmap , 2009, Software Engineering for Self-Adaptive Systems.

[21]  Jie Lu,et al.  An Innovative Self-Adaptive Configuration Optimization System in Cloud Computing , 2011, 2011 IEEE Ninth International Conference on Dependable, Autonomic and Secure Computing.

[22]  Calton Pu,et al.  SmartSLA: Cost-Sensitive Management of Virtualized Resources for CPU-Bound Database Services , 2015, IEEE Transactions on Parallel and Distributed Systems.

[23]  Xiaobo Zhou,et al.  Autonomic performance and power control for co-located Web applications on virtualized servers , 2013, 2013 IEEE/ACM 21st International Symposium on Quality of Service (IWQoS).

[24]  Ivona Brandic,et al.  SLA-Aware Application Deployment and Resource Allocation in Clouds , 2011, 2011 IEEE 35th Annual Computer Software and Applications Conference Workshops.

[25]  Rami Bahsoon,et al.  Toward a Smarter Cloud: Self-Aware Autoscaling of Cloud Configurations and Resources , 2015, Computer.

[26]  Samuel Kounev,et al.  Elasticity in Cloud Computing: What It Is, and What It Is Not , 2013, ICAC.

[27]  David Chiu,et al.  Reconciling Cost and Performance Objectives for Elastic Web Caches , 2012, 2012 International Conference on Cloud and Service Computing.

[28]  Cosimo Anglano,et al.  Fuzzy-Q & E: Achieving QoS Guarantees and Energy Savings for Cloud Applications with Fuzzy Control , 2013, 2013 International Conference on Cloud and Green Computing.

[29]  Rami Bahsoon,et al.  Dynamic QoS Optimization Architecture for Cloud-Based DDDAS , 2013, ICCS.

[30]  Yixin Diao,et al.  Using MIMO feedback control to enforce policies for interrelated metrics with application to the Apache Web server , 2002, NOMS 2002. IEEE/IFIP Network Operations and Management Symposium. ' Management Solutions for the New Communications World'(Cat. No.02CH37327).

[31]  Calton Pu,et al.  Economical and Robust Provisioning of N-Tier Cloud Workloads: A Multi-level Control Approach , 2011, 2011 31st International Conference on Distributed Computing Systems.

[32]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[33]  Martin A. Riedmiller,et al.  RPROP - A Fast Adaptive Learning Algorithm , 1992 .

[34]  Ying Zhang,et al.  Integrating Resource Consumption and Allocation for Infrastructure Resources on-Demand , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[35]  Srinivas Devadas,et al.  Seec: a framework for self-aware management of goals and constraints in computing systems (power-aware computing, accuracy-aware computing, adaptive computing, autonomic computing) , 2013 .

[36]  Rami Bahsoon,et al.  Self-Adaptive and Online QoS Modeling for Cloud-Based Software Services , 2017, IEEE Transactions on Software Engineering.

[37]  Danilo Ardagna,et al.  Quality-of-service in cloud computing: modeling techniques and their applications , 2014, Journal of Internet Services and Applications.

[38]  Kaushik Dutta,et al.  Application performance modeling in a virtualized environment , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[39]  Rolf Stadler,et al.  Dynamic resource allocation with management objectives—Implementation for an OpenStack cloud , 2012, 2012 8th international conference on network and service management (cnsm) and 2012 workshop on systems virtualiztion management (svm).

[40]  Liang Liu,et al.  A multi-objective ant colony system algorithm for virtual machine placement in cloud computing , 2013, J. Comput. Syst. Sci..

[41]  Xin Yao,et al.  Online QoS Modeling in the Cloud: A Hybrid and Adaptive Multi-learners Approach , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[42]  José Luis Vázquez-Poletti,et al.  Towards building performance models for data-intensive workloads in public clouds , 2013, ICPE '13.

[43]  H. Howie Huang,et al.  Matrix: Achieving Predictable Virtual Machine Performance in the Clouds , 2014, ICAC.

[44]  Steven Hand,et al.  Adaptive Resource Provisioning for Virtualized Servers Using Kalman Filters , 2014, TAAS.

[45]  Rami Bahsoon,et al.  Self-adaptive and sensitivity-aware QoS modeling for the cloud , 2013, 2013 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[46]  Cesare Pautasso,et al.  Kriging Controllers for Cloud Applications , 2013, IEEE Internet Computing.

[47]  Rami Bahsoon,et al.  Scalable service-oriented replication with flexible consistency guarantee in the cloud , 2014, Inf. Sci..

[48]  Marin Litoiu,et al.  Tracking adaptive performance models using dynamic clustering of user classes , 2011, ICPE '11.

[49]  DebK.,et al.  A fast and elitist multiobjective genetic algorithm , 2002 .

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

[51]  Seyed Masoud Sadjadi,et al.  Cloud Application Resource Mapping and Scaling Based on Monitoring of QoS Constraints , 2012, SEKE.

[52]  Chris Fallin,et al.  Parallel application memory scheduling , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[53]  Zhenhuan Gong,et al.  PRESS: PRedictive Elastic ReSource Scaling for cloud systems , 2010, 2010 International Conference on Network and Service Management.

[54]  Rajkumar Buyya,et al.  CloudSim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms , 2011, Softw. Pract. Exp..

[55]  Rami Bahsoon,et al.  A Survey of Self-Awareness and Its Application in Computing Systems , 2011, 2011 Fifth IEEE Conference on Self-Adaptive and Self-Organizing Systems Workshops.

[56]  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.

[57]  Luis Carlos Erpen De Bona,et al.  Constructing Elastic Scientific Applications Using Elasticity Primitives , 2013, ICCSA.

[58]  Eddy Caron,et al.  Forecasting for Grid and Cloud Computing On-Demand Resources Based on Pattern Matching , 2010, 2010 IEEE Second International Conference on Cloud Computing Technology and Science.

[59]  Ivan Porres,et al.  CRAMP: Cost-efficient Resource Allocation for Multiple web applications with Proactive scaling , 2012, 4th IEEE International Conference on Cloud Computing Technology and Science Proceedings.

[60]  David E. Goldberg,et al.  Genetic Algorithms in Search Optimization and Machine Learning , 1988 .

[61]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[62]  Kang G. Shin,et al.  Automated control of multiple virtualized resources , 2009, EuroSys '09.

[63]  Marin Litoiu,et al.  Exploring Alternative Approaches to Implement an Elasticity Policy , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[64]  Massoud Pedram,et al.  Multi-dimensional SLA-Based Resource Allocation for Multi-tier Cloud Computing Systems , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[65]  Francisco J. Cazorla,et al.  Thread Assignment of Multithreaded Network Applications in Multicore/Multithreaded Processors , 2013, IEEE Transactions on Parallel and Distributed Systems.

[66]  Yike Guo,et al.  Principles of Elastic Processes , 2011, IEEE Internet Computing.

[67]  Rizos Sakellariou,et al.  Self-Adaptive and Resource-Efficient SLA Enactment for Cloud Computing Infrastructures , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[68]  Cristiana Bolchini,et al.  A framework to model self-adaptive Computing Systems , 2013, 2013 NASA/ESA Conference on Adaptive Hardware and Systems (AHS-2013).

[69]  Wilhelm Hasselbring,et al.  CDOSim: Simulating cloud deployment options for software migration support , 2012, 2012 IEEE 6th International Workshop on the Maintenance and Evolution of Service-Oriented and Cloud-Based Systems (MESOCA).

[70]  Cheng-Zhong Xu,et al.  URL: A unified reinforcement learning approach for autonomic cloud management , 2012, J. Parallel Distributed Comput..

[71]  Ivan Porres,et al.  Feedback Control Algorithms to Deploy and Scale Multiple Web Applications per Virtual Machine , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.

[72]  Yves Le Traon,et al.  Generic cloud platform multi-objective optimization leveraging models@run.time , 2014, SAC.

[73]  Michael I. Jordan,et al.  Statistical Machine Learning Makes Automatic Control Practical for Internet Datacenters , 2009, HotCloud.

[74]  Radu Calinescu,et al.  Dynamic QoS Management and Optimization in Service-Based Systems , 2011, IEEE Transactions on Software Engineering.

[75]  Calton Pu,et al.  An Analysis of Performance Interference Effects in Virtual Environments , 2007, 2007 IEEE International Symposium on Performance Analysis of Systems & Software.

[76]  Tommaso Cucinotta,et al.  The effects of scheduling, workload type and consolidation scenarios on virtual machine performance and their prediction through optimized artificial neural networks , 2011, J. Syst. Softw..

[77]  S. Thomas Alexander,et al.  Adaptive Signal Processing , 1986, Texts and Monographs in Computer Science.

[78]  Anees Shaikh,et al.  A Cost-Aware Elasticity Provisioning System for the Cloud , 2011, 2011 31st International Conference on Distributed Computing Systems.

[79]  Changjun Jiang,et al.  Automated and Agile Server ParameterTuning by Coordinated Learning and Control , 2014, IEEE Transactions on Parallel and Distributed Systems.

[80]  Olaf David,et al.  Performance Modeling to Support Multi-tier Application Deployment to Infrastructure-as-a-Service Clouds , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[81]  Henry Hoffmann,et al.  Self-Aware Adaptation in FPGA-based Systems , 2010, 2010 International Conference on Field Programmable Logic and Applications.

[82]  Schahram Dustdar,et al.  Towards Knowledge Management in Self-Adaptable Clouds , 2010, 2010 6th World Congress on Services.

[83]  Benito E. Flores,et al.  A pragmatic view of accuracy measurement in forecasting , 1986 .

[84]  Calton Pu,et al.  vPerfGuard: an automated model-driven framework for application performance diagnosis in consolidated cloud environments , 2013, ICPE '13.

[85]  Rami Bahsoon,et al.  EPiCS: Engineering Proprioception in Computing Systems , 2012, 2012 IEEE 15th International Conference on Computational Science and Engineering.

[86]  Marin Litoiu,et al.  Performance model driven QoS guarantees and optimization in clouds , 2009, 2009 ICSE Workshop on Software Engineering Challenges of Cloud Computing.

[87]  Zhuzhong Qian,et al.  A game theoretical method for auto-scaling of multi-tiers web applications in cloud , 2012, Internetware.

[88]  Barbara Panicucci,et al.  Autonomic Management of Cloud Service Centers with Availability Guarantees , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[89]  Bernd Freisleben,et al.  Distributed Resource Allocation to Virtual Machines via Artificial Neural Networks , 2014, 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[90]  Khaled Ghédira,et al.  An energy-efficient self-provisioning approach for cloud resources management , 2013, OPSR.

[91]  Zhiliang Zhu,et al.  Dynamic Provisioning Modeling for Virtualized Multi-tier Applications in Cloud Data Center , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[92]  Soonwook Hwang,et al.  An allocation and provisioning model of science cloud for high throughput computing applications , 2013, CAC.

[93]  Rami Bahsoon,et al.  Self-Adaptive Trade-off Decision Making for Autoscaling Cloud-Based Services , 2016, IEEE Transactions on Services Computing.

[94]  Jie Lu,et al.  Optimal Cloud Resource Auto-Scaling for Web Applications , 2013, 2013 13th IEEE/ACM International Symposium on Cluster, Cloud, and Grid Computing.

[95]  Jing Xu,et al.  Application-aware cross-layer virtual machine resource management , 2012, ICAC '12.

[96]  Albert Y. Zomaya,et al.  Just Satisfactory Resource Provisioning for Parallel Applications in the Cloud , 2012, 2012 IEEE Eighth World Congress on Services.

[97]  Daniel Moldovan,et al.  Multi-level Elasticity Control of Cloud Services , 2013, ICSOC.

[98]  Qian Zhu,et al.  Resource Provisioning with Budget Constraints for Adaptive Applications in Cloud Environments , 2010, IEEE Transactions on Services Computing.

[99]  Jeffrey S. Chase,et al.  Automated control in cloud computing: challenges and opportunities , 2009, ACDC '09.

[100]  Tao Li,et al.  Cloud Analytics for Capacity Planning and Instant VM Provisioning , 2013, IEEE Transactions on Network and Service Management.

[101]  Masaharu Munetomo,et al.  Toward a Genetic Algorithm Based Flexible Approach for the Management of Virtualized Application Environments in Cloud Platforms , 2012, 2012 21st International Conference on Computer Communications and Networks (ICCCN).

[102]  César A. F. De Rose,et al.  DeSVi : An Architecture for Detecting SLA Violations in Cloud Computing Infrastructures , 2010 .

[103]  Samuel Kounev,et al.  Self‐adaptive workload classification and forecasting for proactive resource provisioning , 2013, ICPE '13.

[104]  Ying Chen,et al.  SLA Based Dynamic Virtualized Resources Provisioning for Shared Cloud Data Centers , 2011, 2011 IEEE 4th International Conference on Cloud Computing.

[105]  Martin Arlitt,et al.  A workload characterization study of the 1998 World Cup Web site , 2000, IEEE Netw..

[106]  Bernd Freisleben,et al.  Virtual Machine Resource Allocation in Cloud Computing via Multi-Agent Fuzzy Control , 2013, 2013 International Conference on Cloud and Green Computing.

[107]  Christine Solnon,et al.  Ant Colony Optimization for Multi-Objective Optimization Problems , 2007, 19th IEEE International Conference on Tools with Artificial Intelligence(ICTAI 2007).

[108]  Xin Yao,et al.  The Handbook of Engineering Self-Aware and Self-Expressive Systems , 2014, ArXiv.

[109]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[110]  Schahram Dustdar,et al.  Low level Metrics to High level SLAs - LoM2HiS framework: Bridging the gap between monitored metrics and SLA parameters in cloud environments , 2010, 2010 International Conference on High Performance Computing & Simulation.

[111]  P. Young,et al.  Time series analysis, forecasting and control , 1972, IEEE Transactions on Automatic Control.

[112]  Dimosthenis Kyriazis,et al.  Dynamic, behavioral-based estimation of resource provisioning based on high-level application terms in Cloud platforms , 2014, Future Gener. Comput. Syst..

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

[114]  Guilherme Galante,et al.  A Survey on Cloud Computing Elasticity , 2012, 2012 IEEE Fifth International Conference on Utility and Cloud Computing.

[115]  Kun Wang,et al.  A Distributed Self-Learning Approach for Elastic Provisioning of Virtualized Cloud Resources , 2011, 2011 IEEE 19th Annual International Symposium on Modelling, Analysis, and Simulation of Computer and Telecommunication Systems.

[116]  Wilhelm Hasselbring,et al.  Search-based genetic optimization for deployment and reconfiguration of software in the cloud , 2013, 2013 35th International Conference on Software Engineering (ICSE).

[117]  Christof Fetzer,et al.  VScaler: Autonomic Virtual Machine Scaling , 2013, 2013 IEEE Sixth International Conference on Cloud Computing.

[118]  Hui Li,et al.  SLA-driven planning and optimization of enterprise applications , 2010, WOSP/SIPEW '10.

[119]  Rajkumar Buyya,et al.  CloudAnalyst: A CloudSim-Based Visual Modeller for Analysing Cloud Computing Environments and Applications , 2010, 2010 24th IEEE International Conference on Advanced Information Networking and Applications.

[120]  Thilo Kielmann,et al.  Autoscaling Web Applications in Heterogeneous Cloud Infrastructures , 2014, 2014 IEEE International Conference on Cloud Engineering.

[121]  Aman Kansal,et al.  Q-clouds: managing performance interference effects for QoS-aware clouds , 2010, EuroSys '10.

[122]  Ivan Porres,et al.  Using Ant Colony System to Consolidate Multiple Web Applications in a Cloud Environment , 2014, 2014 22nd Euromicro International Conference on Parallel, Distributed, and Network-Based Processing.

[123]  Fuhui Long,et al.  Feature selection based on mutual information criteria of max-dependency, max-relevance, and min-redundancy , 2003, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[124]  Kaushik Dutta,et al.  Modeling virtualized applications using machine learning techniques , 2012, VEE '12.

[125]  Andreas Holzinger,et al.  Data Mining with Decision Trees: Theory and Applications , 2015, Online Inf. Rev..

[126]  Bo Cheng,et al.  A cost-aware auto-scaling approach using the workload prediction in service clouds , 2014, Inf. Syst. Frontiers.

[127]  Wei-Yin Loh,et al.  Classification and regression trees , 2011, WIREs Data Mining Knowl. Discov..

[128]  M. N. Vrahatis,et al.  Computing Nash equilibria through computational intelligence methods , 2005 .

[129]  Erik Elmroth,et al.  A virtual machine re-packing approach to the horizontal vs. vertical elasticity trade-off for cloud autoscaling , 2013, CAC.

[130]  Ladan Tahvildari,et al.  Self-adaptive software: Landscape and research challenges , 2009, TAAS.

[131]  Marin Litoiu,et al.  Integrated estimation and tracking of performance model parameters with autoregressive trends , 2011, ICPE '11.