Model-based self-adaptive resource allocation in virtualized environments

The adoption of virtualization and Cloud Computing technologies promises a number of benefits such as increased flexibility, better energy efficiency and lower operating costs for IT systems. However, highly variable workloads make it challenging to provide quality-of-service guarantees while at the same time ensuring efficient resource utilization. To avoid violations of service-level agreements (SLAs) or inefficient resource usage, resource allocations have to be adapted continuously during operation to reflect changes in application workloads. In this paper, we present a novel approach to self-adaptive resource allocation in virtualized environments based on online architecture-level performance models. We present a detailed case study of a representative enterprise application, the new SPECjEnterprise2010 benchmark, deployed in a virtualized cluster environment. The case study serves as a proof-of-concept demonstrating the effectiveness and practical applicability of our approach.

[1]  Jean-Marc Menaud,et al.  Performance and Power Management for Cloud Infrastructures , 2010, 2010 IEEE 3rd International Conference on Cloud Computing.

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

[3]  Malgorzata Steinder,et al.  Server virtualization in autonomic management of heterogeneous workloads , 2007, 2007 10th IFIP/IEEE International Symposium on Integrated Network Management.

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

[5]  Virgílio A. F. Almeida,et al.  Capacity Planning and Performance Modeling: From Mainframes to Client-Server Systems , 1994 .

[6]  Gang Wang,et al.  Appliance-Based Autonomic Provisioning Framework for Virtualized Outsourcing Data Center , 2007, Fourth International Conference on Autonomic Computing (ICAC'07).

[7]  Daniel A. Menascé,et al.  Resource Allocation for Autonomic Data Centers using Analytic Performance Models , 2005, Second International Conference on Autonomic Computing (ICAC'05).

[8]  Gwilym M. Jenkins,et al.  Time series analysis, forecasting and control , 1971 .

[9]  Heiko Koziolek,et al.  Performance evaluation of component-based software systems: A survey , 2010, Perform. Evaluation.

[10]  Wilhelm Hasselbring,et al.  An adaptation framework enabling resource-efficient operation of software systems , 2009 .

[11]  Lionel C. Briand,et al.  Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software , 2006, IEEE Transactions on Software Engineering.

[12]  Gautam Kar,et al.  Application Performance Management in Virtualized Server Environments , 2006, 2006 IEEE/IFIP Network Operations and Management Symposium NOMS 2006.

[13]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[14]  Heiko Koziolek,et al.  Towards Automatic Construction of Reusable Prediction Models for Component-Based Performance Engineering , 2008, Software Engineering.

[15]  Samuel Kounev,et al.  Performance Modeling and Evaluation of Distributed Component-Based Systems Using Queueing Petri Nets , 2006, IEEE Transactions on Software Engineering.

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

[17]  Calton Pu,et al.  Mistral: Dynamically Managing Power, Performance, and Adaptation Cost in Cloud Infrastructures , 2010, 2010 IEEE 30th International Conference on Distributed Computing Systems.

[18]  Samuel Kounev,et al.  Performance Modeling and Evaluation of Large-Scale J2EE Applications , 2003, Int. CMG Conference.

[19]  Samuel Kounev,et al.  Analysis of the Performance-Influencing Factors of Virtualization Platforms , 2010, OTM Conferences.

[20]  Samuel Kounev,et al.  Automated extraction of palladio component models from running enterprise Java applications , 2009, VALUETOOLS.

[21]  Davide Rossi,et al.  SLA-Driven Clustering of QoS-Aware Application Servers , 2007, IEEE Transactions on Software Engineering.

[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]  Samuel Kounev,et al.  Towards Self-Aware Performance and Resource Management in Modern Service-Oriented Systems , 2010, 2010 IEEE International Conference on Services Computing.

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

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

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

[27]  Asser N. Tantawi,et al.  Dynamic placement for clustered web applications , 2006, WWW '06.