Page 70 - SMILESENG
P. 70
Intl. Summer School on Search- and Machine Learning-based Software Engineering
configuring the simulation of dynamic workloads, different service types and user requirements.
A foundational self-adaptation controller consists of: (i) monitor for correlating quality data, (ii) detector for analyzing the data provided by the monitor and detecting violations to trigger adaptation when necessary, (iii) adaptation engine to determine what needs to be changed and select the optimal adaptation strategy, and (iv) adaptation executor responsible for applying the adaptation action on the underlying infras- tructure. Our initial implementation of SAd-CloudSim includes this foundational version of adaptation controller. Such com- ponents could be further extended to study more complex adaptation mechanisms, such as pro-active adaptations or MAPE-K adaptation process [1].
The Monitor component is responsible for monitoring the achievement of quality requirements. The Detector checks any violations occurring during runtime against quality goals. Whenever a violation is detected, adaptation is triggered. The Adaptation Engine is responsible for analyzing the current situation and selecting the optimal adaptation strategy that would achieve the quality targets, e.g. increasing VMs ca- pacity. The selected adaptation tactic is executed dynamically during runtime on the cloud infrastructure by the Adaptation Executor.
Quality goals are the main objective or trigger for self- adaptation. QoS Goals represent the quality of service targets required to be fulfilled. Whenever violated, an adaptation should take place to achieve the quality goals. For each QoS Goal, a set of possible adaptation tactics is implemented in the tactics catalog. Also, adaptation rules are defined as if- condition-then-action rules, where the conditions are quality requirements and the actions are response tactics.
III. SIMULATION OF SELF-ADAPTIVE ARCHITECTURES USING SAD-CLOUDSIM
We have extended some core classes of CloudSim by adding necessary quality and power (energy) metrics. A Run- timeWorkload is added to allow conducting experiments for consecutive time intervals, and user requirements are added to configure QoS requirements.
The Self-Adaptation package encapsulates the components necessary for modeling and simulating a self-adaptive archi- tecture. Our initial implementation includes the basic function- alities of these components. Figure 1 depicts the flow of the simulation process of self-adaptation. These components could be further extended with more sophisticated implementations, such as MAPE-K. This package is composed of the following classes:
• Goals Model class is the list of goals objects loaded from a configuration file.
• Monitor class contains methods sensing, measuring and collecting actual data of the QoS parameters of the executed requests.
• Detector class contains a method triggered to run after receiving data from the monitor. It checks the runtime
values of the quality metrics against the Goals Model. If
a violation is detected, adaptation is triggered.
• Adaptation Engine class is responsible for selecting the optimal adaptation action after receiving the adaptation trigger. The adaptation action is selected from the Adap-
tation Tactics Catalog according to the adaptation rules. • Adaptation Tactics Catalog class contains a list of adap-
tation tactics.
• Adaptation Rule class links quality attributes with their
adaptation tactics.
• Adaptation Executor class performs the actual execution
of the selected adaptation action.
58
Fig. 1. Self-Adaptation simulation process
ACKNOWLEDGMENT
Maria’s PhD studentship was funded by the School of Computer Science, The University of Birmingham, UK. This research was supported in part by the Universitas 21 and the CLOUDS Lab, University of Melbourne, Australia. The author would like to especially thank Rodrigo N. Calheiros and Maria A. Rodriguez for the support in developing and testing the toolkit.
REFERENCES
[1] M. Salehie and L. Tahvildari, “Self-adaptive software: Landscape and research challenges,” ACM Transactions on Autonomous and Adaptive Systems (TAAS), vol. 4, no. 2, pp. 1–42, 2009.
[2] T.D.Nya,S.C.Stilkerich,andP.R.Lewis,“Amodellingandsimulation environment for self-aware and self-expressive systems,” in IEEE 7th International Conference on Self-Adaptation and Self-Organizing Systems Workshops (SASOW), 2013, pp. 65–70.
[3] R. Buyya, R. Ranjan, and R. N. Calheiros, “Modeling and simulation of scalable cloud computing environments and the cloudsim toolkit: Challenges and opportunities,” in International Conference on High Performance Computing & Simulation (HPCS). IEEE, 2009, pp. 1–11.
[4] R. N. Calheiros, R. Ranjan, A. Beloglazov, C. De Rose, and R. Buyya, “Cloudsim: a toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms,” Soft- ware: Practice and Experience, vol. 41, no. 1, pp. 23–50, 2011.