KPI-Agnostic Control for Fine-Grained Vertical Elasticity

Applications hosted in the cloud have become indispensable in several contexts, with their performance often being key to business operation and their running costs needing to be minimized. To minimize running costs, most modern virtualization technologies such as Linux Containers, Xen, and KVM offer powerful resource control primitives for individual provisioning – that enable adding or removing of fraction of cores and/or megabytes of memory for as short as few seconds. Despite the technology being ready, there is a lack of proper techniques for fine-grained resource allocation, because there is an inherent challenge in determining the correct composition of resources an application needs, with varying workload, to ensure deterministic performance. This paper presents a control-based approach for the management of multiple resources, accounting for the resource consumption, together with the application performance, enabling fine-grained vertical elasticity. The control strategy ensures that the application meets the target performance indicators, consuming as less resources as possible. We carried out an extensive set of experiments using different applications – interactive with response-time requirements, as well as noninteractive with throughput desires – by varying the workload mixes of each application over time. The results demonstrate that our solution precisely provides guaranteed performance while at the same time avoiding both resource over-and underprovisioning.

[1]  Eduardo F. Camacho,et al.  Model Predictive Controllers , 2007 .

[2]  Svetozar Miuÿ,et al.  DejaVu: Accelerating Resource Allocation in Virtualized Environments , 2012 .

[3]  Luciano Baresi,et al.  A discrete-time feedback controller for containerized cloud applications , 2016, SIGSOFT FSE.

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

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

[6]  Lennart Ljung,et al.  System Identification: Theory for the User , 1987 .

[7]  Werner Vogels,et al.  Beyond Server Consolidation , 2008, ACM Queue.

[8]  Babak Falsafi,et al.  Rack-scale Computing (Dagstuhl Seminar 15421) , 2015, Dagstuhl Reports.

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

[10]  Kevin Skadron,et al.  Bubble-up: Increasing utilization in modern warehouse scale computers via sensible co-locations , 2011, 2011 44th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

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

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

[13]  Christopher Stewart,et al.  Exploiting nonstationarity for performance prediction , 2007, EuroSys '07.

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

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

[16]  John Mylopoulos,et al.  Model Predictive Control for Software Systems with CobRA , 2016, 2016 IEEE/ACM 11th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS).

[17]  Anees Shaikh,et al.  Are clouds ready for large distributed applications? , 2010, OPSR.

[18]  Xiaoyun Zhu,et al.  Application-driven dynamic vertical scaling of virtual machines in resource pools , 2014, 2014 IEEE Network Operations and Management Symposium (NOMS).

[19]  Xiaohui Gu,et al.  AGILE: Elastic Distributed Resource Scaling for Infrastructure-as-a-Service , 2013, ICAC.

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

[21]  Rizos Sakellariou,et al.  Mapping Virtual Machines onto Physical Machines in Cloud Computing , 2016, ACM Comput. Surv..

[22]  Michel Verhaegen,et al.  Identification of the deterministic part of MIMO state space models given in innovations form from input-output data , 1994, Autom..

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

[24]  Basil Kouvaritakis,et al.  Model Predictive Control: Classical, Robust and Stochastic , 2015 .

[25]  Dharmesh Kakadia,et al.  Virtualization vs Containerization to Support PaaS , 2014, 2014 IEEE International Conference on Cloud Engineering.

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

[27]  Xiaohui Gu,et al.  CloudScale: elastic resource scaling for multi-tenant cloud systems , 2011, SoCC.

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

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

[30]  Christof Fetzer,et al.  Vertical Scaling for Prioritized VMs Provisioning , 2012, 2012 Second International Conference on Cloud and Green Computing.

[31]  Eduardo F. Camacho,et al.  Model predictive control in the process industry , 1995 .

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