Runtime Vertical Scaling of Virtualized Applications via Online Model Estimation
S. Spinner, S. Kounev, X. Zhu, L. Lu, M. Uysal, A. Holler, and R. Griffith. Proceedings of the 2014 IEEE Eighth International Conference on Self-Adaptive and Self-Organizing Systems (SASO), page 157--166. IEEE, (September 2014)Acceptance Rate (Full Papers): 26%.
Abstract
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 allocations 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 allocations 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.
%0 Conference Paper
%1 SpKoZhLuUyHoGr2014-SASO
%A Spinner, Simon
%A Kounev, Samuel
%A Zhu, Xiaoyun
%A Lu, Lei
%A Uysal, Mustafa
%A Holler, Anne
%A Griffith, Rean
%B Proceedings of the 2014 IEEE Eighth International Conference on Self-Adaptive and Self-Organizing Systems (SASO)
%D 2014
%I IEEE
%K Analytical_and_simulation-based_analysis Application_quality_of_service_management Automated_model_learning Elasticity Instrumentation_profiling_and_workload_characterization Performance Prediction Resource_management Self-adaptive-systems Self-aware-computing Statistical_estimation_and_machine_learning Virtualization descartes t_full
%P 157--166
%T Runtime Vertical Scaling of Virtualized Applications via Online Model Estimation
%X 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 allocations 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 allocations 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.
@inproceedings{SpKoZhLuUyHoGr2014-SASO,
abstract = {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 allocations 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 allocations 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.},
added-at = {2020-04-05T23:07:12.000+0200},
author = {Spinner, Simon and Kounev, Samuel and Zhu, Xiaoyun and Lu, Lei and Uysal, Mustafa and Holler, Anne and Griffith, Rean},
biburl = {https://www.bibsonomy.org/bibtex/2f64c4e46d344a7e28dfeb850814ddc52/se-group},
booktitle = {Proceedings of the 2014 IEEE Eighth International Conference on Self-Adaptive and Self-Organizing Systems (SASO)},
interhash = {c82fe0be5ab8e6c8e9e452a76bb06994},
intrahash = {f64c4e46d344a7e28dfeb850814ddc52},
keywords = {Analytical_and_simulation-based_analysis Application_quality_of_service_management Automated_model_learning Elasticity Instrumentation_profiling_and_workload_characterization Performance Prediction Resource_management Self-adaptive-systems Self-aware-computing Statistical_estimation_and_machine_learning Virtualization descartes t_full},
month = {September},
note = {Acceptance Rate (Full Papers): 26%},
pages = {157--166},
publisher = {IEEE},
timestamp = {2020-10-06T14:10:35.000+0200},
title = {{Runtime Vertical Scaling of Virtualized Applications via Online Model Estimation}},
year = 2014
}