Page 69 - SMILESENG
P. 69

Intl. Summer School on Search- and Machine Learning-based Software Engineering
 SAd-CloudSim: A Toolkit for Modeling and Simulation of Self-Adaptive Cloud Software Architectures
Maria Salama School of Computer Science University of Birmingham Birmingham, UK [email protected]
Abstract—Cloud-based software systems are increasingly be- coming complex and operating in highly dynamic environments. Self-adaptivity and self-awareness have recently emerged to cope with such level of dynamicity and scalability. Self-adaptivity has been motivated as a solution to achieve the level of dynamicity and scalability necessary for these systems, as well as to comply with the changes in components, fluctuations in workloads and environmental conditions during runtime. This talk presents a modeling and simulation tool for self-adaptive cloud archi- tectures. The tool provides significant benefits for designing self-adaptive cloud architectures, as well as testing adaptation mechanisms. The tool is also beneficial as a symbiotic simulator during runtime to support runtime adaptation decisions.
I. INTRODUCTION
Self-adaptive software architectures are expected to manage themselves following the principles of autonomic computing, to respond to changes in end-user requirements and the envi- ronment and to cope with uncertainty in runtime operation for continued satisfaction of quality requirements under changing context conditions. In self-adaptive systems, adaptation deci- sions are taken during runtime with the aid of feedback loops (individual, collective or decentralised), analytical models, or by learning from historical data [1]. In this case, symbiotic simulations are powerful tools to support adaptation decisions during runtime. Such tools can be used symbiotically with the adaptation controller of the system, due to their ability to dynamically incorporate real-time data sensed from the system in running what-if scenarios and feedback to the adaptation controller with the effects of adaptation decisions.
On another side, simulation tools are needed to fill the gap between the conceptual research and the proof-of-concept implementation [2]. Such tools help to systematically model and study the behavior and performance of these systems that tend to operate in dynamically changing environments hard to define during system design [2]. In the context of cloud computing, simulators were known as tools to support and accelerate research and development of cloud computing systems, applications and services, as quantifying the per- formance of service provision in real cloud environment is challenging [3] [4].
Given the highly dynamic operating environment of cloud computing and its on-demand nature, cloud architectures tend to heavily leverage on adaptation to dynamically fulfill the uncertain and changing runtime demand [3]. The case of self-adaptive cloud architectures combines challenges of both clouds and self-adaptive architectures. In such cases, testing architecture design or resources provisioning mechanisms, quantifying the architecture performance, and measuring the quality of service provisioned in real environments are chal- lenging tasks.
In this talk, we present SAd-CloudSim, a tool for modeling and simulation self-adaptive cloud architectures. The toolkit is build on the widely adopted cloud simulation environment CloudSim [3] [4]. The new extensions turn CloudSim to work with real systems at runtime as a symbiotic simulator, where self-adaptation helps in taking well-informed adaptation decisions.
The SAd-CloudSim toolkit offers the following novel exten- sions: (i) modeling and simulation of adaptation mechanisms for large-sale cloud-based systems, (ii) a self-contained plat- form for modeling and testing self-adaptation mechanisms, (iii) support for testing the performance of cloud systems under varying dynamic workloads and with different quality goals, and (iv) support extensions for modeling and testing self-adaptation frameworks and techniques.
The tool is published as open-source software, available at https://github.com/m-salama/SAdSAwCloudSim.
II. SAD-CLOUDSIM ARCHITECTURE AND DESIGN
The SAd-CloudSim tool is built on top of the CloudSim core simulation engine and CloudSim core. The Self-Adaptation layer is added on top of the cloud core architecture, to model the adaptation controller of a self-adaptive software system. Researchers and practitioners, willing to design an adaptation technique or study the efficiency of an existing one, would need to implement their techniques in this layer. The top-most layer is the Simulation Application, inherited from CloudSim, which models the specification of the simulation to be conducted using the tool. Such specifications allow
57





















































































   67   68   69   70   71