Loading, please wait...

Cloud Simulator

Nov 22, 2019 #Tutoriallink #CloudComputing, 2875 Views
This article delineates the existing simulation tool i.e Cloud Sim which is used for implementation in cloud environment.

Cloud computing provides all kind of computational services like scalability, resource provisioning, security, fault tolerance and sustainability etc. To ensure the applicability of all these characteristics, it is required to evaluate cloud applications before implementing or deploying it in real world. The main reason behind this is that it is quite difficult to alter the limitations occurred during executing in real time. It may lead to overhead of provider, increased costs and wastage of time. Simulation is the best method to avoid all these kind of frustrations. 

The very first simulation tool CloudSim was released in the year of 2009 by Cloud Computing and Distributed Systems (CLOUDS) Laboratory, at the Computer Science and Software Engineering Department of the University of Melbourne. Succeeding CloudSim, many other simulators such as CloudAnalyst, EmuSim, DCSim, iCanCloudhave evolved gradually to ease the implementation of custom applications.

The CloudSim Simulator

CloudSim is the basic simulation tool that provides provision to implement the custom applications  and hence the motivation to adopt this tool for the current research works. Various versions of CloudSim have been released since 2009 and are listed in table.

             Versions of CloudSim

Cloud Sim Versions


Cloud Sim 1.0


Cloud Sim 2.0

Jul 2010

Cloud Sim 2.1

Jan 2011

Cloud Sim 3.0

Jan 2012

Cloud Sim 3.0.1

Oct 2012

Cloud Sim 3.0.2

Nov 2012

Cloud Sim 3.0.3

May 2013

  1. Architecture of CloudSim

            CloudSimfollows the layered architecture.As is clear from the figure, the  architecture mainly comprises of threelayers specifically user code, components of CloudSim and the simulation engine. It provides the full virtualized    environment along with keen interface for virtual machine services, cloud  services and network. Each of the components is briefly described as follows.

  • User Code

This section consists of simulation specifications and scheduling policy. It interpretsthe basic entities for hosting like virtual machines, VM configurations, VM requirements, number of users and scheduling processes.Using these configurations the cloud developer can deploy the federated clouds and implement the custom application of resource provisioning and load distribution.


                                                                            Layered Architecture of Cloud Sim


  • Components of CloudSim

This layer encompasses user interface structures, VM services, cloud services, cloud resources and network applications. Each component of this section has its own functionality and provides various types of services. It handles all fundamental issues of cloud.


  • Simulation Engine

This section provisions simulation i.e. all custom applications are built and simulated in this section.


Class Diagram of CloudSim:

            This subsection delineates the building block of CloudSim in the form of class diagram. It consists of multiple classes describedfurther in the    section.



                                                                                   The Class Diagram of Cloud Sim


DataCenterprovides core infrastructure services viz. hardware and software offered by resource providers in cloud computing paradigm. It offers both homogeneous and heterogeneousresource configurations. Every component of a data center usesa set of policies which are further used to allocate bandwidth, memory, and storage devices. Datacenter Broker act as an intermediate between users and service providers.It acts on behalf of user and helps to search suitable cloud provider as well as negotiates with provider in terms of price to meet QoS and requirement of users.Cloud developer can extend this class to create custom applications.SANStorage stands for storage area network and is used to store large amount of data in the data centers. With the help of this class, the user can store and retrieve the data at any time subject to the availability of network bandwidth. Virtual Machine class is used to create instances of a VM. It also takes care about management of VM and is used to store the characteristics of a VM like memory, processor and its scheduling policy. All componentsare abstracted from VMScheduling class. Cloudlet is used for Cloud-based application services such as content delivery, social networking and business workflow.The complexity of an application can be represented in terms of computational requirements. Every application component has a pre-assigned instruction and amount of data transfer.CloudCoordinatorprovides federation capacity to a data center. This class is responsible forcommunicating with other peer cloudcoordinator services and cloud brokers. It also periodically monitors the internal state of a data center during simulation. BWProvisioner is an abstract class that is used for allocating network bandwidth among the provisioning policies. Developers can extend this class in their own strategy according to user requirement.MemoryProvisioneris anotherabstract class used to allocate the memory to VMs in a DC.The host of VM is feasible only if this class finds the free space.Similarly, VMProvisioner represents the provisioning policy for hosting the VM. Its main responsibility is to select available host in a data center meeting the memory, storage, and availability requirement for a VM deployment. It is also used to implement the optimized policies. Alike above mentioned classes, VMMAllocationPolicy is an abstract class used to implementthe time shared policies. It also allocates the processing power to VMs.

  1. Features of CloudSim

CloudSim is possessed with certain significant features which makes it the most suitable simulator for simulating our work. The keys features are listed as follows:

  • It is capable of handling large scale applications of modeling and simulations.
  • It supports the strategy of resource provisioning using virtualization to host virtual machines on server.
  • It is also used for modeling and simulation of energy computational resources.
  • It has the capability of simulating network topologies and message-passing applications.
  • Federated clouds can also be simulated.
  • Using this user has the control on simulation operations like start, resume and exit.
  • It has the option of simulation for user defined strategies or policies of resource allocation on virtual machines.

The main aim of CloudSim is to provide an extensible and comprehensive framework which facilitates modeling, simulations and any other kind of services likeIaaS, SaaS etc. Using simulators, users can focus on a specific problem under examination. All other cloud simulators inheritfeatures from CloudSimirrespective of the fact if graphical user interface (GUI)is available or not.