Runtime Vertical Scaling of Virtualized Applications via Online Model Estimation

Applications in virtualized data centers are often subject to Service Level Objectives (SLOs) regarding their performance (e.g., latency or throughput). In order to fulfill these SLOs, it is necessary to allocate sufficient resources of different types (CPU, memory, I/O, etc.) to an application. However, the relationship between the application performance and the resource allocation is complex and depends on multiple factors including application architecture, system configuration, and workload demands. In this paper, we present a model-based approach to ensure that the application performance meets the user-defined SLO efficiently by runtime "vertical scaling" (i.e., adding or removing resources) of individual virtual machines (VMs) running the application. A layered performance model describing the relationship between the resource allocation and the observed application performance is automatically extracted and updated online using resource demand estimation techniques. Such a model is then used in a feedback controller to dynamically adapt the number of virtual CPUs of individual VMs. We have implemented the controller on top of the VMware vSphere platform and evaluated it in a case study using a real-world email and groupware server. The experimental results show that our approach allows the managed application to achieve SLO satisfaction in spite of workload demand variation while avoiding oscillations commonly observed with state-of-the-art threshold-based controllers.

[1]  Daniel A. Menascé,et al.  Simple analytic modeling of software contention , 2002, PERV.

[2]  Jerome A. Rolia,et al.  The Method of Layers , 1995, IEEE Trans. Software Eng..

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

[4]  Marin Litoiu,et al.  Performance Model Estimation and Tracking Using Optimal Filters , 2008, IEEE Transactions on Software Engineering.

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

[6]  Amin Vahdat,et al.  Managing energy and server resources in hosting centers , 2001, SOSP.

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

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

[9]  Virgílio A. F. Almeida,et al.  Performance by Design - Computer Capacity Planning By Example , 2004 .

[10]  Tao Yang,et al.  Integrated resource management for cluster-based Internet services , 2002, OSDI.

[11]  Jing Xu,et al.  Autonomic resource management in virtualized data centers using fuzzy logic-based approaches , 2008, Cluster Computing.

[12]  Daniel A. Menascé Computing Missing Service Demand Parameters for Performance Models , 2008, Int. CMG Conference.

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

[14]  Samuel Kounev,et al.  Evaluating approaches to resource demand estimation , 2015, Perform. Evaluation.

[15]  Fan Zhang,et al.  Parameter inference of queueing models for IT systems using end-to-end measurements , 2004, SIGMETRICS '04/Performance '04.

[16]  Stephen Dawson,et al.  Estimating service resource consumption from response time measurements , 2009, VALUETOOLS.

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

[18]  Rajarshi Das,et al.  A Hybrid Reinforcement Learning Approach to Autonomic Resource Allocation , 2006, 2006 IEEE International Conference on Autonomic Computing.

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

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

[21]  Ajay Gulati VMware distributed resource Management : design , Implementation , and lessons learned , 2022 .

[22]  Martin F. Arlitt,et al.  Maximizing server utilization while meeting critical SLAs via weight-based collocation management , 2013, 2013 IFIP/IEEE International Symposium on Integrated Network Management (IM 2013).

[23]  Jerome A. Rolia,et al.  Parameter estimation for performance models of distributed application systems , 1995, CASCON.