Adaptive Resource Provisioning for Virtualized Servers Using Kalman Filters

Resource management of virtualized servers in data centers has become a critical task, since it enables cost-effective consolidation of server applications. Resource management is an important and challenging task, especially for multitier applications with unpredictable time-varying workloads. Work in resource management using control theory has shown clear benefits of dynamically adjusting resource allocations to match fluctuating workloads. However, little work has been done toward adaptive controllers for unknown workload types. This work presents a new resource management scheme that incorporates the Kalman filter into feedback controllers to dynamically allocate CPU resources to virtual machines hosting server applications. We present a set of controllers that continuously detect and self-adapt to unforeseen workload changes. Furthermore, our most advanced controller also self-configures itself without any a priori information and with a small 4.8% performance penalty in the case of high-intensity workload changes. In addition, our controllers are enhanced to deal with multitier server applications: by using the pair-wise resource coupling between tiers, they improve server response to large workload increases as compared to controllers with no such resource-coupling mechanism. Our approaches are evaluated and their performance is illustrated on a 3-tier Rubis benchmark website deployed on a prototype Xen-virtualized cluster.

[1]  C. Amza,et al.  Specification and implementation of dynamic Web site benchmarks , 2002, 2002 IEEE International Workshop on Workload Characterization.

[2]  Themistoklis Charalambous,et al.  A min-max framework for CPU resource provisioning in virtualized servers using ℋ∞ Filters , 2010, 49th IEEE Conference on Decision and Control (CDC).

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

[4]  Calton Pu,et al.  Generating Adaptation Policies for Multi-tier Applications in Consolidated Server Environments , 2008, 2008 International Conference on Autonomic Computing.

[5]  J. L. Roux An Introduction to the Kalman Filter , 2003 .

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

[7]  Prashant J. Shenoy,et al.  Agile dynamic provisioning of multi-tier Internet applications , 2008, TAAS.

[8]  Prashant J. Shenoy,et al.  Sharc: managing CPU and network bandwidth in shared clusters , 2004, IEEE Transactions on Parallel and Distributed Systems.

[9]  Prashant J. Shenoy,et al.  Resource overbooking and application profiling in shared hosting platforms , 2002, OSDI '02.

[10]  Prashant J. Shenoy,et al.  Profiling and Modeling Resource Usage of Virtualized Applications , 2008, Middleware.

[11]  R. E. Kalman,et al.  A New Approach to Linear Filtering and Prediction Problems , 2002 .

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

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

[14]  Virgílio A. F. Almeida,et al.  Analyzing a web-based system's performance measures at multiple time scales , 2002, PERV.

[15]  Willy Zwaenepoel,et al.  Performance and scalability of EJB applications , 2002, OOPSLA '02.

[16]  Steven Hand,et al.  Resource Provisioning for Multi-Tier Virtualized Server Applications , 2010 .

[17]  T. Kelly,et al.  AutoParam : Automated Control of Application-Level Performance in Virtualized Server Environments , 2007 .

[18]  Xiaoyun Zhu,et al.  Utilization and SLO-Based Control for Dynamic Sizing of Resource Partitions , 2005, DSOM.

[19]  John B. Moore,et al.  Optimal State Estimation , 2006 .

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

[21]  A. Astolfi,et al.  On the stability of the recursive Kalman filter for linear time-invariant systems , 2008, 2008 American Control Conference.

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

[23]  Xiaoyun Zhu,et al.  Utility-driven workload management using nested control design , 2006, 2006 American Control Conference.

[24]  Sanjay Ghemawat,et al.  MapReduce: Simplified Data Processing on Large Clusters , 2004, OSDI.

[25]  Willy Zwaenepoel,et al.  Diagnosing performance overheads in the xen virtual machine environment , 2005, VEE '05.

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

[27]  Sameh Elnikety,et al.  Performance Comparison of Middleware Architectures for Generating Dynamic Web Content , 2003, Middleware.

[28]  Qi Zhang,et al.  A Regression-Based Analytic Model for Dynamic Resource Provisioning of Multi-Tier Applications , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[29]  Daniel A. Menascé,et al.  Autonomic Virtualized Environments , 2006, International Conference on Autonomic and Autonomous Systems (ICAS'06).

[30]  Wei Xu,et al.  Predictive Control for Dynamic Resource Allocation in Enterprise Data Centers , 2006, 2006 IEEE/IFIP Network Operations and Management Symposium NOMS 2006.

[31]  Peter S. Maybeck,et al.  Stochastic Models, Estimation And Control , 2012 .

[32]  Arun Venkataramani,et al.  Black-box and Gray-box Strategies for Virtual Machine Migration , 2007, NSDI.

[33]  T. Başar,et al.  A New Approach to Linear Filtering and Prediction Problems , 2001 .

[34]  Rajarshi Das,et al.  On the use of hybrid reinforcement learning for autonomic resource allocation , 2007, Cluster Computing.

[35]  Brian D. Noble,et al.  Mobile network estimation , 2001, MobiCom '01.

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

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

[38]  Xue Liu,et al.  Optimal multivariate control for differentiated services on a shared hosting platform , 2007, 2007 46th IEEE Conference on Decision and Control.

[39]  Ludmila Cherkasova,et al.  Measuring CPU Overhead for I/O Processing in the Xen Virtual Machine Monitor , 2005, USENIX ATC, General Track.

[40]  Marin Litoiu,et al.  Tracking time-varying parameters in software systems with extended Kalman filters , 2015, CASCON.

[41]  David A. Patterson,et al.  Path-Based Failure and Evolution Management , 2004, NSDI.