This page provides some materials for the description of elasticity requirements:
- On Estimating Actuation Delays in Elastic Computing Systems (submitted PDF), submitted to the 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) - SEAMS2013, to be held in San Francisco, USA, on May 20-21, 2013.
Abstract
For elastic controllers, i.e., controllers that autonomically adjust resource allocations in cloud computing systems, the ability of correctly estimate the time that control actions take effect on the system is crucial. When the actuation time is long but controllers assume that control actions take immediate effect, it is almost impossible that they can guarantee acceptable level of service, thus violations of service level agreement are likely to happen. However, detecting actuation delays in elastic computing systems is challenging due to the complex structures of cloud systems with several virtualization layers and service dependencies.
In this paper, we tackle the problem of estimating the delay of control actions in elastic systems, identifying recurring types of changes in the monitored metrics and requirements to properly carry out the estimation. Based on that we develop a novel framework for the actuation delay estimation that is based on change point detection techniques. Furthermore, we conduct several experiments with real-world systems to illustrate the feasibility and applicability of our techniques.
Change point detection analysis on actuation delay
We analyze different operations effect with two CPD mechanisms:
- Bayesian Optimization Change Point Detection (BOCPD) by Turner et al. [1]. The release version of BOCPD which can be found here and runs on Matlab
- Pruned Exact Linear Time (PELT) by Killick et al. [2]. We applied PELT to discover changes in metrics:
- mean.
- variance
Please check the in-depth analysis below of the patterns analyzed so far.
References
- R. Turner, Y. Saatc¸i, and C. E. Rasmussen. Adaptive sequential Bayesian change point detection. In Z. Harchaoui, editor, Temporal Segmentation Workshop at NIPS 2009, Whistler, BC, Canada, 2009.
- R. Killick, P. Fearnhead, and I. A. Eckley. Optimal detection of Change points with a linear computational cost. Journal of the American Statistical Association, 107(500):1590–1598, 2012
Contact
For further information please contact Alessio Gambi.
The table shows a summary of the action-effect pattern that we found by evaluation two elastic systems. Details of each pattern are given in the relative section. Click on the pattern icon to jump to the corresponding section
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Experiments Setup
Cassandra experiment
The first experiment we run tests operation delay on a Cassandra cluster, composed of multiple databases each deployed on a virtual machine. A scale in would mean removing a database from the cluster while a scale out would mean adding one more database VM instance to the cluster.
SGE experiment
We use the implementation of SGE that was delivered in the Reservoir EU project and enables elasticity at the level of executor nodes. We install the master and executor into two types of virtual machines that we deploy in the Reservoir cloud.As before we control the system at the infrastructure level by acting on the instances of virtual machines. New instances of the executor register with the master after their virtual machines boot, and deregister from it when capture the shutdown OS-level signals triggered by the hypervisor.
Patterns List
Pattern 1
![Pattern 1](./pattern_1/plot.png)
Pattern 2
![Pattern 2](./pattern_2/plot.png)
Pattern 3
![Pattern 3](./pattern_3/plot.png)
Pattern 4
![Pattern 4](./pattern_4/plot.png)
Pattern 5
![Pattern 5](./pattern_5/plot.png)
Pattern 6
![Pattern 6](./pattern_6/plot.png)
Pattern 7
![Pattern 7](./pattern_7/plot.png)
Pattern 8
![Pattern 8](./pattern_8/plot.png)
Pattern 9
Under investigation
Pattern 10
![Pattern 10](./pattern_10/plot.png)
Pattern 11
![Pattern 11](./pattern_11/plot.png)
Pattern 12
Under investigation
Pattern 13
![Pattern 13](./pattern_13/plot.png)
Pattern 14
![Pattern 14](./pattern_14/plot.png)
Pattern 15
![Pattern 15](./pattern_15/plot.png)