A hybrid cloud controller for vertical memory elasticity: A control-theoretic approach

Web-facing applications are expected to provide certain performance guarantees despite dynamic and continuous workload changes. As a result, application owners are using cloud computing as it offers the ability to dynamically provision computing resources (e.g., memory, CPU) in response to changes in workload demands to meet performance targets and eliminates upfront costs. Horizontal, vertical, and the combination of the two are the possible dimensions that cloud application can be scaled in terms of the allocated resources. In vertical elasticity as the focus of this work, the size of virtual machines (VMs) can be adjusted in terms of allocated computing resources according to the runtime workload. A commonly used vertical resource elasticity approach is realized by deciding based on resource utilization, named capacity-based. While a new trend is to use the application performance as a decision making criterion, and such an approach is named performance-based. This paper discusses these two approaches and proposes a novel hybrid elasticity approach that takes into account both the application performance and the resource utilization to leverage the benefits of both approaches. The proposed approach is used in realizing vertical elasticity of memory (named as vertical memory elasticity), where the allocated memory of the VM is auto-scaled at runtime. To this aim, we use control theory to synthesize a feedback controller that meets the application performance constraints by auto-scaling the allocated memory, i.e., applying vertical memory elasticity. Different from the existing vertical resource elasticity approaches, the novelty of our work lies in utilizing both the memory utilization and application response time as decision making criteria. To verify the resource efficiency and the ability of the controller in handling unexpected workloads, we have implemented the controller on top of the Xen hypervisor and performed a series of experiments using the RUBBoS interactive benchmark application, under synthetic and real workloads including Wikipedia and FIFA. The results reveal that the hybrid controller meets the application performance target with better performance stability (i.e., lower standard deviation of response time), while achieving a high memory utilization (close to 83%), and allocating less memory compared to all other baseline controllers. A feedback controller for vertically scale the memory of cloud applications is proposed.The controller is able to tune the memory in order to meet the desired performance.The application performance and memory utilization are used as decision making criteria.The feedback controller guarantees the stability of the cloud application.The results show the efficiency in memory usage when the feedback controller is used.

[1]  Alessandro Acquisti,et al.  When 25 Cents is Too Much: An Experiment on Willingness-To-Sell and Willingness-To-Protect Personal Information , 2007, WEIS.

[2]  Steven Hand,et al.  Self-adaptive and self-configured CPU resource provisioning for virtualized servers using Kalman filters , 2009, ICAC '09.

[3]  Ivona Brandic,et al.  Performance-Based Vertical Memory Elasticity , 2015, 2015 IEEE International Conference on Autonomic Computing.

[4]  Artur Baruchi,et al.  A Survey Analysis of Memory Elasticity Techniques , 2010, Euro-Par Workshops.

[5]  Yixin Diao,et al.  Feedback Control of Computing Systems , 2004 .

[6]  Fiona Fui-Hoon Nah,et al.  A study on tolerable waiting time: how long are Web users willing to wait? , 2004, AMCIS.

[7]  Samuel Kounev,et al.  Runtime Vertical Scaling of Virtualized Applications via Online Model Estimation , 2014, 2014 IEEE Eighth International Conference on Self-Adaptive and Self-Organizing Systems.

[8]  Eloy Romero,et al.  Elastic Memory Management of Virtualized Infrastructures for Applications with Dynamic Memory Requirements , 2013, ICCS.

[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]  Erik Elmroth,et al.  Self-adaptation Challenges for Cloud-based Applications: A Control Theoretic Perspective , 2015 .

[11]  Henry Hoffmann,et al.  Comparison of Decision-Making Strategies for Self-Optimization in Autonomic Computing Systems , 2012, TAAS.

[12]  Henry Hoffmann,et al.  Automated design of self-adaptive software with control-theoretical formal guarantees , 2014, Software Engineering & Management.

[13]  ElmrothErik,et al.  Performance Anomaly Detection and Bottleneck Identification , 2015 .

[14]  Jing Xu,et al.  On the Use of Fuzzy Modeling in Virtualized Data Center Management , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[15]  Mor Harchol-Balter,et al.  AutoScale: Dynamic, Robust Capacity Management for Multi-Tier Data Centers , 2012, TOCS.

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

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

[18]  Isis Truck,et al.  From Data Center Resource Allocation to Control Theory and Back , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

[19]  Yufeng Wang,et al.  Using Elasticity to Improve Inline Data Deduplication Storage Systems , 2014, 2014 IEEE 7th International Conference on Cloud Computing.

[20]  Karl-Erik Årzén,et al.  Control strategies for predictable brownouts in cloud computing , 2014 .

[21]  Joseph L. Hellerstein,et al.  Using Control Theory to Achieve Service Level Objectives In Performance Management , 2002, Real-Time Systems.

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

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

[24]  Erik Elmroth,et al.  Towards Faster Response Time Models for Vertical Elasticity , 2014, 2014 IEEE/ACM 7th International Conference on Utility and Cloud Computing.

[25]  Adam Wierman,et al.  Open Versus Closed: A Cautionary Tale , 2006, NSDI.

[26]  Henry Hoffmann,et al.  PCP: A Generalized Approach to Optimizing Performance Under Power Constraints through Resource Management , 2014, ICAC.

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

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

[29]  Rajkumar Buyya,et al.  Multi-Cloud Provisioning and Load Distribution for Three-Tier Applications , 2014, TAAS.

[30]  Kang G. Shin,et al.  Adaptive control of virtualized resources in utility computing environments , 2007, EuroSys '07.

[31]  Gustavo Alonso,et al.  Application level ballooning for efficient server consolidation , 2013, EuroSys '13.

[32]  Erik Elmroth,et al.  Performance Anomaly Detection and Bottleneck Identification , 2015, ACM Comput. Surv..

[33]  Richard Han,et al.  Towards Elastic Operating Systems , 2013, HotOS.

[34]  Cesare Pautasso,et al.  Engineering Autonomic Controllers for Virtualized Web Applications , 2010, ICWE.

[35]  Jun Han,et al.  A multi-model framework to implement self-managing control systems for QoS management , 2011, SEAMS '11.

[36]  Muli Ben-Yehuda,et al.  The Resource-as-a-Service (RaaS) Cloud , 2012, HotCloud.

[37]  Giovanni Toffetti Carughi,et al.  Assurance of Self-adaptive Controllers for the Cloud , 2013, Assurances for Self-Adaptive Systems.

[38]  Kang G. Shin,et al.  What does control theory bring to systems research? , 2009, OPSR.

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

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

[41]  Jeffrey S. Chase,et al.  Automated control for elastic storage , 2010, ICAC '10.

[42]  Christoph Meinel,et al.  Elastic Virtual Machine for Fine-Grained Cloud Resource Provisioning , 2011 .

[43]  Samuel Kounev,et al.  Proactive Memory Scaling of Virtualized Applications , 2015, 2015 IEEE 8th International Conference on Cloud Computing.

[44]  Henry Hoffmann,et al.  Dynamic knobs for responsive power-aware computing , 2011, ASPLOS XVI.

[45]  Karl-Erik Årzén,et al.  Brownout: building more robust cloud applications , 2014, ICSE.

[46]  Ewnetu Bayuh Lakew Autonomous cloud resource provisioning : accounting, allocation, and performance control , 2015 .

[47]  Erik Elmroth,et al.  Coordinating CPU and Memory Elasticity Controllers to Meet Service Response Time Constraints , 2015, 2015 International Conference on Cloud and Autonomic Computing.