Jóakim von Kistowski, Nikolas Herbst, Samuel Kounev, Henning Groenda,
Christian Stier, and Stebastian Lehrig.
Modeling and Extracting Load Intensity Profiles.
ACM Transactions on Autonomous and Adaptive Systems (TAAS),
2017, ACM, New York, NY, USA.
To Appear.
[ bib | Abstract ]
Today's system developers and operators face the challenge of creating software systems that make efficient use of dynamically allocated resources under highly variable and dynamic load profiles, while at the same time delivering reliable performance. Autonomic controllers, e.g., an advanced auto-scaling mechanism in a cloud computing context, can benefit from an abstracted load model as knowledge to reconfigure on time and precisely. Existing workload characterization approaches have limited support to capture variations the inter-arrival times of incoming work units over time (i.e., a variable load profile). For example, industrial and scientific benchmarks support constant or stepwise increasing load, or inter-arrival times defined by statistical distributions or recorded traces. These options show shortcomings either in representative character of load variation patterns or in abstraction and flexibility of their format. In this article, we present the Descartes Load Intensity Model (DLIM) approach addressing these issues. DLIM provides a modeling formalism for describing load intensity variations over time. A DLIM instance is a compact formal description of a load intensity trace. DLIM-based tools provide features for benchmarking, performance and recorded load intensity trace analysis. As manually obtaining and maintaining DLIM instances becomes time consuming, we contribute three automated extraction methods and devised metrics for comparison and method selection. We discuss how these features are used to enhance system management approaches for adaptations during run-time, and how they are integrated into simulation contexts and enable benchmarking of elastic or adaptive behavior. We show that automatically extracted DLIM instances exhibit an average modeling error of 15.2% over ten different real-world traces that cover between two weeks and seven months. These results underline DLIM model expressiveness. In terms of accuracy and processing speed, our proposed extraction methods for the descriptive models are comparable to existing time series decomposition methods. Additionally, we illustrate DLIM applicability by outlining approaches of workload modeling in systems engineering that employ or rely on our proposed load intensity modeling formalism.
Nikolas Roman Herbst, Nikolaus Huber, Samuel Kounev, and Erich Amrehn.
Self-Adaptive Workload Classification and Forecasting for Proactive
Resource Provisioning.
Concurrency and Computation - Practice and Experience, Special
Issue with extended versions of the best papers from ICPE 2013, John Wiley
and Sons, Ltd., 2014.
[ bib |
DOI |
http | Abstract ]
As modern enterprise software systems become increasingly dynamic, workload forecasting techniques are gaining in importance as a foundation for online capacity planning and resource management. Time series analysis covers a broad spectrum of methods to calculate workload forecasts based on history monitoring data. Related work in the field of workload forecasting mostly concentrates on evaluating specific methods and their individual optimisation potential or on predicting Quality-of-Service (QoS) metrics directly. As a basis, we present a survey on established forecasting methods of the time series analysis concerning their benefits and drawbacks and group them according to their computational overheads. In this paper, we propose a novel self-adaptive approach that selects suitable forecasting methods for a given context based on a decision tree and direct feedback cycles together with a corresponding implementation. The user needs to provide only his general forecasting objectives. In several experiments and case studies based on real world workload traces, we show that our implementation of the approach provides continuous and reliable forecast results at run-time. The results of this extensive evaluation show that the relative error of the individual forecast points is significantly reduced compared to statically applied forecasting methods, e.g. in an exemplary scenario on average by 37%. In a case study, between 55% and 75% of the violations of a given service level agreement can be prevented by applying proactive resource provisioning based on the forecast results of our implementation.
Nikolas Roman Herbst, Samuel Kounev, Andreas Weber, and Henning Groenda.
BUNGEE: An Elasticity Benchmark for Self-Adaptive IaaS Cloud
Environments.
In Proceedings of the 10th International Symposium on Software
Engineering for Adaptive and Self-Managing Systems (SEAMS 2015), Firenze,
Italy, May 18-19, 2015.
Acceptance rate: 29%.
[ bib |
slides |
.pdf | Abstract ]
Today's infrastructure clouds provide resource elasticity (i.e. auto-scaling) mechanisms enabling self-adaptive resource provisioning to reflect variations in the load intensity over time. These mechanisms impact on the application performance, however, their effect in specific situations is hard to quantify and compare. To evaluate the quality of elasticity mechanisms provided by different platforms and configurations, respective metrics and benchmarks are required. Existing metrics for elasticity only consider the time required to provision and deprovision resources or the costs impact of adaptations. Existing benchmarks lack the capability to handle open workloads with realistic load intensity profiles and do not explicitly distinguish between the performance exhibited by the provisioned underlying resources, on the one hand, and the quality of the elasticity mechanisms themselves, on the other hand. In this paper, we propose reliable metrics for quantifying the timing aspects and accuracy of elasticity. Based on these metrics, we propose a novel approach for benchmarking the elasticity of Infrastructure-as-a-Service (IaaS) cloud platforms independent of the performance exhibited by the provisioned underlying resources. We show that the proposed metrics provide consistent ranking of elastic platforms on an ordinal scale. Finally, we present an extensive case study of real-world complexity demonstrating that the proposed approach is applicable in realistic scenarios and can cope with different levels of resource efficiency.
Jóakim Gunnarson von Kistowski, Nikolas Roman Herbst, and Samuel Kounev.
Modeling Variations in Load Intensity over Time.
In Proceedings of the 3rd International Workshop on Large-Scale
Testing (LT 2014), co-located with the 5th ACM/SPEC International Conference
on Performance Engineering (ICPE 2014), Dublin, Ireland, March 22, 2014,
pages 1-4. ACM, New York, NY, USA.
March 2014.
[ bib |
DOI |
slides |
http |
.pdf | Abstract ]
Today's software systems are expected to deliver reliable performance under highly variable load intensities while at the same time making efficient use of dynamically allocated resources. Conventional benchmarking frameworks provide limited support for emulating such highly variable and dynamic load profiles and workload scenarios. Industrial benchmarks typically use workloads with constant or stepwise increasing load intensity, or they simply replay recorded workload traces. Based on this observation, we identify the need for means allowing flexible definition of load profiles and address this by introducing two meta-models at different abstraction levels. At the lower abstraction level, the Descartes Load Intensity Meta-Model (DLIM) offers a structured and accessible way of describing the load intensity over time by editing and combining mathematical functions. The High-Level Descartes Load Intensity Meta-Model (HLDLIM) allows the description of load variations using few defined parameters that characterize the seasonal patterns, trends, bursts and noise parts. We demonstrate that both meta-models are capable of capturing real-world load profiles with acceptable accuracy through comparison with a real life trace.
Jóakim Gunnarson von Kistowski, Nikolas Roman Herbst, and Samuel Kounev.
LIMBO: A Tool For Modeling Variable Load Intensities
(Demonstration Paper).
In Proceedings of the 5th ACM/SPEC International Conference on
Performance Engineering (ICPE 2014), Dublin, Ireland, March 22-26, 2014,
ICPE '14, pages 225-226. ACM, New York, NY, USA.
March 2014.
[ bib |
DOI |
slides |
http |
.pdf | Abstract ]
Modern software systems are expected to deliver reliable performance under highly variable load intensities while at the same time making efficient use of dynamically allocated resources. Conventional benchmarking frameworks provide limited support for emulating such highly variable and dynamic load profiles and workload scenarios. Industrial benchmarks typically use workloads with constant or stepwise increasing load intensity, or they simply replay recorded workload traces. In this paper, we present LIMBO - an Eclipse-based tool for modeling variable load intensity profiles based on the Descartes Load Intensity Model as an underlying modeling formalism.
Andreas Weber, Nikolas Roman Herbst, Henning Groenda, and Samuel Kounev.
Towards a Resource Elasticity Benchmark for Cloud Environments.
In Proceedings of the 2nd International Workshop on Hot Topics
in Cloud Service Scalability (HotTopiCS 2014), co-located with the 5th
ACM/SPEC International Conference on Performance Engineering (ICPE 2014),
Dublin, Ireland, March 22, 2014. ACM.
March 2014.
[ bib |
slides |
.pdf | Abstract ]
Auto-scaling features offered by today's cloud infrastructures provide increased flexibility especially for customers that experience high variations in the load intensity over time. However, auto-scaling features introduce new system quality attributes when considering their accuracy, timing, and boundaries. Therefore, distinguishing between different offerings has become a complex task, as it is not yet supported by reliable metrics and measurement approaches. In this paper, we discuss shortcomings of existing approaches for measuring and evaluating elastic behavior and propose a novel benchmark methodology specifically designed for evaluating the elasticity aspects of modern cloud platforms. The benchmark is based on open workloads with realistic load variation profiles that are calibrated to induce identical resource demand variations independent of the underlying hardware performance. Furthermore, we propose new metrics that capture the accuracy of resource allocations and de-allocations, as well as the timing aspects of an auto-scaling mechanism explicitly.
Rouven Krebs, Philipp Schneider, and Nikolas Herbst.
Optimization Method for Request Admission Control to Guarantee
Performance Isolation.
In Proceedings of the 2nd International Workshop on Hot Topics
in Cloud Service Scalability (HotTopiCS 2014), co-located with the 5th
ACM/SPEC International Conference on Performance Engineering (ICPE 2014),
Dublin, Ireland, March 22, 2014. ACM.
March 2014.
[ bib |
slides |
.pdf | Abstract ]
Software-as-a-Service (SaaS) often shares one single application instance among different tenants to reduce costs. However, sharing potentially leads to undesired influence from one tenant onto the performance observed by the others. Furthermore, providing one tenant additional resources to support its increasing demands without increasing the performance of tenants who do not pay for it is a major challenge. The application intentionally does not manage hardware resources, and the OS is not aware of application level entities like tenants. Thus, it is difficult to control the performance of different tenants to keep them isolated. These problems gain importance as performance is one of the major obstacles for cloud customers. Existing work applies request based admission control mechanisms like a weighted round robin with an individual queue for each tenant to control the share guaranteed for a tenant. However, the computation of the concrete weights for such an admission control is still challenging. In this paper, we present a fitness function and optimization approach reflecting various requirements from this field to compute proper weights with the goal to ensure an isolated performance as foundation to scale on a tenants basis.
Nikolas Roman Herbst, Samuel Kounev, and Ralf Reussner.
Elasticity in Cloud Computing: What it is, and What it is Not
(Short Paper).
In Proceedings of the 10th International Conference on Autonomic
Computing (ICAC 2013), San Jose, CA, June 24-28, 2013. USENIX.
June 2013, Acceptance Rate (Short Paper): 36.9%.
[ bib |
slides |
http |
.pdf | Abstract ]
Originating from the field of physics and economics, the term elasticity is nowadays heavily used in the context of cloud computing. In this context, elasticity is commonly understood as the ability of a system to automatically provision and de-provision computing resources on demand as workloads change. However, elasticity still lacks a precise definition as well as representative metrics coupled with a benchmarking methodology to enable comparability of systems. Existing definitions of elasticity are largely inconsistent and unspecific leading to confusion in the use of the term and its differentiation from related terms such as scalability and efficiency; the proposed measurement methodologies do not provide means to quantify elasticity without mixing it with efficiency or scalability aspects. In this short paper, we propose a precise definition of elasticity and analyze its core properties and requirements explicitly distinguishing from related terms such as scalability, efficiency, and agility. Furthermore, we present a set of appropriate elasticity metrics and sketch a new elasticity tailored benchmarking methodology addressing the special requirements on workload design and calibration.
Nikolas Roman Herbst, Nikolaus Huber, Samuel Kounev, and Erich Amrehn.
Self-Adaptive Workload Classification and Forecasting for Proactive
Resource Provisioning.
In Proceedings of the 4th ACM/SPEC International Conference on
Performance Engineering (ICPE 2013), Prague, Czech Republic, April 21-24,
2013, pages 187-198. ACM, New York, NY, USA.
April 2013.
[ bib |
DOI |
slides |
http |
.pdf | Abstract ]
As modern enterprise software systems become increasingly dynamic, workload forecasting techniques are gaining in importance as a foundation for online capacity planning and resource management. Time series analysis covers a broad spectrum of methods to calculate workload forecasts based on history monitoring data. Related work in the field of workload forecasting mostly concentrates on evaluating specific methods and their individual optimisation potential or on predicting Quality-of-Service (QoS) metrics directly. As a basis, we present a survey on established forecasting methods of the time series analysis concerning their benefits and drawbacks and group them according to their computational overheads. In this paper, we propose a novel self-adaptive approach that selects suitable forecasting methods for a given context based on a decision tree and direct feedback cycles together with a corresponding implementation. The user needs to provide only his general forecasting objectives. In several experiments and case studies based on real world workload traces, we show that our implementation of the approach provides continuous and reliable forecast results at run-time. The results of this extensive evaluation show that the relative error of the individual forecast points is significantly reduced compared to statically applied forecasting methods, e.g. in an exemplary scenario on average by 37%. In a case study, between 55% and 75% of the violations of a given service level agreement can be prevented by applying proactive resource provisioning based on the forecast results of our implementation.
Andreas Brunnert, André van Hoorn, Felix Willnecker, Alexandru Danciu,
Wilhelm Hasselbring, Christoph Heger, Nikolas Roman Herbst, Pooyan Jamshidi,
Reiner Jung, Jóakim von Kistowski, Anne Koziolek, Johannes Kroß,
Simon Spinner, Christian Vögele, Jürgen Walter, and Alexander
Wert.
Performance-oriented devops: A research agenda.
Technical Report SPEC-RG-2015-01, SPEC Research Group - DevOps
Performance Working Group, Standard Performance Evaluation Corporation
(SPEC), 2015.
[ bib |
http ]
Michael Kuperberg, Nikolas Roman Herbst, Joakim Gunnarson von Kistowski, and
Ralf Reussner.
Defining and Quantifying Elasticity of Resources in Cloud Computing
and Scalable Platforms.
Technical report, Karlsruhe Institute of Technology (KIT), Am
Fasanengarten 5, 76131 Karlsruhe, Germany, 2011.
[ bib |
http |
.pdf | Abstract ]
Elasticity is the ability of a software system to dynamically scale the amount of the resources it provides to clients as their workloads increase or decrease. Elasticity is praised as a key advantage of cloud computing, where computing resources are dynamically added and released. However, there exists no concise or formal definition of elasticity, and thus no approaches to quantify it have been developed so far. Existing work on cloud computing is limited to the technical view of implementing elastic systems, and definitions or scalability have not been extended to cover elasticity. In this report, we present a detailed discussion of elasticity, propose techniques for quantifying and measuring it, and outline next steps to be taken for enabling comparisons between cloud computing offerings on the basis of elasticity. We also present preliminary work on measuring elasticity of resource pools provided by the Java Virtual Machine.
Nikolas Roman Herbst.
Workload Classification and Forecasting.
Diploma Thesis, Karlsruhe Institute of Technology (KIT), Am
Fasanengarten 5, 76131 Karlsruhe, Germany, 2012.
Forschungszentrum Informatik (FZI) Prize "Best Diploma
Thesis".
[ bib |
.pdf | Abstract ]
Virtualization technologies enable dynamic allocation of computing resources to execution environments at run-time. To exploit optimisation potential that comes with these degrees of freedom, forecasts of the arriving work's intensity are valuable information, to continuously ensure a defined quality of service (QoS) definition and at the same time to improve the efficiency of the resource utilisation. Time series analysis offers a broad spectrum of methods for calculation of forecasts based on periodically monitored values. Related work in the field of proactive resource provisioning mostly concentrate on single methods of the time series analysis and their individual optimisation potential. This way, usable forecast results are achieved only in certain situations. In this thesis, established methods of the time series analysis are surveyed and grouped concerning their strengths and weaknesses. A dynamic approach is presented that selects based on a decision tree and direct feedback cycles, capturing the forecast accuracy, the suitable method for a given situation. The user needs to provide only his general forecast objectives. An implementation of the introduced theoretical approach is presented that continuously provides forecasts of the arriving work's intensity in configurable intervals and with controllable computational overhead during run-time. Based on real-world intensity traces, a number of different experiments and a case study is conducted. The results show, that by use of the implementation the relative error of the forecast points in relation to the arriving observations is reduced by 63% in average compared to the results of a statically selected, sophisticated method. In a case study, between 52% and 70% of the violations of a given service level agreement are prevented by applying proactive resource provisioning based on the forecast results of the introduced implementation.
Nikolas Roman Herbst.
Quantifying the Impact of Configuration Space for Elasticity
Benchmarking.
Study Thesis, Karlsruhe Institute of Technology (KIT), Am
Fasanengarten 5, 76131 Karlsruhe, Germany, 2011.
[ bib |
.pdf | Abstract ]
Elasticity is the ability of a software system to dynamically adapt the amount of the resources it provides to clients as their workloads increase or decrease. In the context of cloud computing, automated resizing of a virtual machine's resources can be considered as a key step towards optimisation of a system's cost and energy efficiency. Existing work on cloud computing is limited to the technical view of implementing elastic systems, and definitions of scalability have not been extended to cover elasticity. This study thesis presents a detailed discussion of elasticity, proposes metrics as well as measurement techniques, and outlines next steps for enabling comparisons between cloud computing offerings on the basis of elasticity. I discuss results of our work on measuring elasticity of thread pools provided by the Java virtual machine, as well as an experiment setup for elastic CPU time slice resizing in a virtualized environment. An experiment setup is presented as future work for dynamically adding and removing z/VM Linux virtual machine instances to a performance relevant group of virtualized servers.