Заявка на публикацию

Срочная публикация научной статьи

+7 995 770 98 40
+7 995 202 54 42


Поделитесь статьей с друзьями:
Автор(ы): Mouhamad Ibrahem, Botygin I.A.
Рубрика: Технические науки
Журнал: «Евразийский Научный Журнал №3 2022»  (март, 2022)
Количество просмотров статьи: 983

Mouhamad Ibrahem, Botygin I.A.
Tomsk Polytechnic University, Russia, Tomsk
E-mail: ibragim1@tpu.ru


In light of the great development in the field of data storage and processing in addition to the development of the internet, getting information is becoming faster, cheaper and more accessible. This situation opened the way to a new development in the world of computing networks and operating systems in a new way which is cloud computing, it is to provide resources such as processors and database engines via the internet. As with any popular service, cloud computing is subject to problems. For example, applications do not always run as quickly as customers would like. In the case of public clouds, customers pay per machine, but do not understand their applications well enough to know how many machines or how much inter-machine bandwidth to request. In addition, traffic from other clients can affect how much bandwidth is available for the client to use, leading to problems in ensuring high connection speeds on cloud networks.

Experimenting with new algorithms and configurations for automatic management of cloud computing infrastructure is expensive and time-consuming in real systems. To solve this problem, various tools are available that allow the use of simulators, emulators, mathematical models, statistical models and comparative analysis [1-11]. However, it remains difficult to choose the best tool to assess the effectiveness of cloud computing infrastructure for specific workloads. Modeling tools are usually designed for specific experiments, so there is no guarantee that their use with different workloads will be reliable.


There are various cloud simulators, which offer a wide range of modeling types in terms of platform and purpose. Those simulators are capable of simulating both computing and communication, however, they were designed with different purposes. In this section, we described various cloud simulators that are widely used for modeling cloud research.

CloudSim is a set of tools for modeling the cloud computing environment, written in Java programming language [12, 13]. It was developed at the Department of Computer Science and Software Engineering Faculty of the University of Melbourne, Australia. It offers a broad framework that is used for the purposes of modeling and simulation of cloud computing services. CloudSim contains simple classes that define data centers, users, applications, resources (computing) and policies for processing various system components. The key features of CloudSim are [14]:

· It allows modeling and simulation of virtualized server nodes and data centers.

· It also provides support for custom policies for host allocation for virtual machines.

· Computing resources are managed in such a way that they consume energy only when needed.

The main limitation of CloudSim is the lack of a graphical user interface (GUI), however, it is widely used. As a result, we can say that CloudSim is an extensible toolkit.

It is necessary to understand the architecture and design principles of these tools in order to assess the demand for extensions to the basic CloudSim system. In addition, it is important to study in depth the design and architecture of all tools in order to recommend a tool to build a simulation model of resource provisioning algorithms.

Cloudsim is a customizable universal tool that simulates and models cloud computing environments. Cloud concepts and entities are modeled as a set of Java classes that model the entire operation of cloud computing systems and their workloads. It has a number of features that make it particularly flexible, for example, the ability to simulate the deployment of small and large-scale cloud computing, including the typologies of the federated cloud and inter-cloud interaction.

Basic simulation scenario steps

In a basic simulation scenario using CloudSim or its extensions, we need to create at least:

1. Datacenter which consists of a list of hosts.

2. Broker that represents the customer and their requests. Allows a VM and Cloudlet representation to be modelled in the Datacenter.

3. List of virtual machines (VM), owned by a given customer.

4. List of jobs (cloudlets) which are objects that define resource requirements of customer’s applications.

Figure 1 shows a schematic of the Datacenter modelled in the baseline scenario.

Figure 1. Simulation flow for the basic scenario

Cloud datacenter. Information and computing services (hardware and software) offered by resource providers in a cloud computing environment. Includes a set of different computing nodes, the same or different according to their configurations, such as memory, cores, capacity, storage. Associated with each cloud datacenter component is a generalized resource provisioning descriptor that implements a set of policies for bandwidth, memory and storage devices.

Virtual Machine (VM). Infrastructure services associated with clouds. Modelled by the Datacenter Hardware component when processing a service request/response. These requests are application elements hosted inside virtual machines. Should be allocated as a share of computing power on Datacenter’s host cloud components. VM processing refers to the set of operations associated with the VM lifecycle: provisioning of a host to a VMs, creating VMs, destroying VMs, migrating VMs.

Cloud broker. A software application that facilitates the distribution of work between different cloud service providers. This type of cloud broker can also be called a cloud agent, which negotiates with cloud providers to allocate resources of appropriate quality to meet users’ needs.

Cloudlet. An agent for cloud-based application services (content delivery, social networking, business processes, mobile users, and others) that is typically deployed in data centers. Cloudlet models application complexity in terms of its computational requirements. Each Cloudlet has a pre-assigned execution time and data transfer volume (before and after processing) that must be simulated to successfully host and execute the application.

In the following, we will implement a simple simulation scenario using CloudSim and CloudSim Plus. The goal of this example is to get familiar with the tools, to understand the basic steps that are required to create a minimal but complete simulation example, and to compare CloudSim against CloudSim Plus in terms of reusability and simplicity.

Scenario implementation using CloudSim

The implementation requires defining hosts, VMs and cloudlets numbers, also we need to define the number of processors available for hosts and VMs. Cloudlets also need the number of processors to support parallel processing. Cloudlet length defines the length of the cloudlet in terms of the expected number of instructions required to be executed in the lifetime of the workload under execution. We can notice that creating datacenters, hosts, VMs and cloudlets require calling constructors with many parameters. Some parameters are useless and they don’t have any effects like that last parameter in Cloudlet constructor method. Figure 2 shows the simulation results of the basic simulation scenario using CloudSim.

Figure 2. Simulation results of the basic simulation scenario using CloudSim

Figure 2 shows the data center output when measuring response times for provisioning and resource allocation in a high load scenario. The data center provides different virtual machines at different times to process Cloudlets. A special module has been developed in the Java programming language to output the results.

Scenario implementation using CloudSim Plus

The implementation also requires defining the same global parameters, such as the number of hosts and the number of processors in each host. We can notice that number of code lines is lower than the number of code lines in CloudSim implementation. In addition, creating of entities is simpler and the constructors require a lower number of parameters. Figure 3 shows the simulation results of the basic simulation scenario using CloudSim Plus. We don’t need to write a method to print results.

Figure 3. Simulation results of the basic simulation scenario using CloudSim Plus

In general, CloudSim Plus, compared to CloudSim, has a significant improvement in terms of code reusability and maintainability.

Addendum to using CloudSim

Cloud Reports is CloudSim’s GUI interface. Cloud Reports provides various configuration options for service providers and users. Cloud Reports provides an environment for modelling the cloud computing paradigm by displaying graphs and lists of simulated data centers. Supported API types in Cloud Reports are broker policies, virtual machines, distribution policies, power consumption models, compute schedulers, and resource usage models.

Figure 4 shows the measurement of energy consumption using cloud reports for a hypothetical cloud infrastructure.

Figure 4. Measuring energy consumption with cloud reports

Energy consumption analysis is a very important issue from the service provider’s point of view, as an energy efficient service provider can attract more customers by offering the most competitive prices services on the market.

CloudAnalyst is a GUI tool to simulate cloud services to test and run different application workloads in one or multiple data centres, locally or globally, for multiple user bases (Figure 5).

Figure 5. Cloud Analyst main configuration screen

Provided the ability to dynamically configure user bases as opposed to deploying applications in separate data centers.


In this study, a number of existing cloud computing simulators were reviewed. Different simulators were compared in terms of underlying platform, accessibility, programming language, GUI, simulation time and energy model. The review showed that many researchers prefer to use and extend open source cloud simulators such as CloudSim and GreenCloud.

CloudSim Plus can be seen as a framework rather than an extension to CloudSim in terms of the number of features added and the significant improvement over CloudSim. A practical simulation scenario was implemented using CloudSim and CloudSim Plus. The implementation showed that CloudSim Plus, compared to CloudSim, has a significant improvement in terms of code reusability and maintainability.


1. A. Núñez, J. L. Vázquez-Poletti, A. C. Caminero, G. G. Castañé, J. Carretero, and I. M. Llorente, “ICanCloud: A Flexible and Scalable Cloud Infrastructure Simulator,” J. Grid Comput., vol. 10, no. 1, pp. 185–209, 2012.

2. D. Kliazovich, P. Bouvry, Y. Audzevich, and S.U. Khan. Greencloud: A packet-level simulator of energy-aware cloud computing data centers. In Global Telecommunications Conference (GLOBECOM 2010), 2010 IEEE, pages 1–5, Dec 2010. doi: 10.1109/GLOCOM.2010.5683561.

3. Rogério Leão Santos De Oliveira, Ailton Akira Shinoda, Christiane Marie Schweitzer, and Ligia Rodrigues Prete. Using mininet for emulation and prototyping softwaredefined networks. In Communications and Computing (COLCOM), 2014 IEEE Colombian Conference on, pages 1–6. IEEE, 2014.

4. S. Osterman, K. Plankensteiner, R. Prodan, and T. Fahringer, “GroudSim: An Event-based Simulation Framework for Computational Grids and Clouds,” in Euro-Par 2010 Parallel Process. Workshops, 2011, vol. 6586, pp. 305–313.

5. S. Sotiriadis, N. Bessis, N. Antonopoulos, and A. Anjum, “SimIC: Designing a new Inter-Cloud simulation platform for integrating large-scale resource management,” Proc. — Int. Conf. Adv. Inf. Netw. Appl. AINA, pp. 90–97, 2013.

6. Adil Maarouf, Abderrahim Marzouk, and Abdelkrim Haqiq. Comparative study of simulators for cloud computing. In Cloud Technologies and Applications (CloudTech), 2015 International Conference on, pages 1–8. IEEE, 2015

7. A. Ahmed and A.S. Sabyasachi. Cloud computing simulators: A detailed survey and future direction. In Advance Computing Conference (IACC), 2014 IEEE International, pages 866–872, Feb 2014. doi: 10.1109/IAdCC.2014.6779436.

8. Bashar, Abul. (2014). Modeling and simulation frameworks for cloud computing environment: A critical evaluation. Proc. Int. Conf. Cloud Comput. Serv. Sci. 1-6.

9. James Byrne, Sergej Svorobej, Konstantinos M Giannoutakis, Dimitrios Tzovaras, PJ Byrne, Per-Olov Östberg, Anna Gourinovitch, and Theo Lynn. A review of cloud computing simulation platforms and related environments. In Proceedings of the 7th International Conference on Cloud Computing and Services Science, pages 679–691. SCITEPRESS-Science and Technology Publications, Lda Portugal, 2017.

10. Manoel C Silva Filho, Raysa L Oliveira, Claudio C Monteiro, Pedro RM Inácio, and Mário M Freire. Cloudsim plus: A cloud computing simulation framework pursuing software engineering principles for improved modularity, extensibility and correctness. In Integrated Network and Service Management (IM), 2017 IFIP/IEEE Symposium on, pages 400–406. IEEE, 2017.

11. J. Son, A. V. Dastjerdi, R. N. Calheiros, X. Ji, Y. Yoon, and R. Buyya. Cloudsimsdn: Modeling and simulation of software-defined cloud data centers. In Cluster, Cloud and Grid Computing (CCGrid), 2015 15th IEEE/ACM International Symposium on, pages 475–484, May 2015. doi: 10.1109/CCGrid.2015.87.

12. 1. Rodrigo N. Calheiros, Rajiv Ranjan, Anton Beloglazov, César A. F. De Rose, and Rajkumar Buyya. Cloudsim: A toolkit for modeling and simulation of cloud computing environments and evaluation of resource provisioning algorithms. Softw. Pract. Exper., 41(1):23—50, January 2011. ISSN 0038-0644. doi: 10.1002/spe.995. URL http://dx.doi.org/10.1002/spe.995.

13. 2. R. Buyya, R. Ranjan, and R. N. Calheiros. Modeling and simulation of scalable cloud computing environments and the cloudsim toolkit: Challenges and opportunities. In High Performance Computing Simulation, 2009. HPCS ’09. International Conference on, pages 1–11, June 2009. doi: 10.1109/HPCSIM.2009.5192685.

14. 3. A. Ahmed and A.S. Sabyasachi. Cloud computing simulators: A detailed survey and future direction. In Advance Computing Conference (IACC), 2014 IEEE International, pages 866–872, Feb 2014. doi: 10.1109/IAdCC.2014.6779436.